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