[parisc-linux] O_DIRECT on devices
Matthew Wilcox
willy@debian.org
Mon, 15 Jul 2002 12:29:19 +0100
On Mon, Jul 15, 2002 at 01:42:19AM -0600, Grant Grundler wrote:
> Randolph and I think most SMP bugs reported (and we seen ourselves)
> suggest a D-cache problem.
Entirely plausible. PA has bigger virtually indexed caches than anyone
else, so we're more susceptible to cache aliasing bugs than anyone else.
It could be a missing flush somewhere in the arch-independent code.
> My theory is virtual addresses are flushed on one CPU but any data
> accessed through an aliases on another CPU are not flushed. And then
> we end up with an inconsistency.
it's certainly possible... i don't claim to understand exactly how this
works, but my recollection is that some of the flush instructions are
cpu-local whereas others are global to the system. you'd have to ask
jsm about it, really.
> We've been reading Documentation/cachetlb.txt and trying
> to understand what it says about virtually indexed caches.
It seems pretty straightforward to me... am I missing something?
> The other thing is we don't hit the problems with PA8500 - only PA8700.
> I'm guessing the aliasing or timing is quite different betweem the two.
> Maybe someone else knows more?
8700 has bigger caches than 8500 and more TLB entries, so it may be
easier to hit problems.
--
Revolutions do not require corporate support.