invala

Marcel Moolenaar marcel at xcllnt.net
Thu May 13 17:23:46 PDT 2004


On Thu, May 13, 2004 at 03:42:37PM -0700, Arun Sharma wrote:
> 
> RSE.BOF is just one of the situations when the OS needs to do an invala. 
> But the SDM vol2 section 4.4.5.3.2 lists three other reasons, one of which 
> happens to be:
> 
> - Software changes virtual to physical mapping

Sure, but that needs to be handled in the PMAP layer. You don't really
want to invalidate the ALAT just in case a VM mapping might change.
In practice I don't expect this to happen other than when the process
has been swapped out before and is now being swapped in.

> Obviously, the above has nothing to do with whether the kernel itself has 
> been compiled with data speculation or not. The possibility I'm looking at 
> is:
> 
> ld.a 	r6=[Y]
> ...
> st8 	[Y]=Z	// Clears the ALAT
> >>external interrupt + kernel data speculation leaving stale ALAT entries <<
> chk.a.clr	// Speculation succeeds incorrectly
> 
> To remedy the first example, the OS needs a invala on entry and for the 
> second situation it needs an invala on exit.

I agree that we need to pay attention to it, but I'd like to have a
more detailed analysis before we add invala instructions. I feel that
invalidating the ALAT on entry into the kernel and on exit from the
kernel is too much of a pessimization. I can easily be wrong...

-- 
 Marcel Moolenaar	  USPA: A-39004		 marcel at xcllnt.net


More information about the freebsd-ia64 mailing list