[parisc-linux] Re: [parisc-linux-cvs] linux-2.6 jejb

Jim Hull jim.hull@hp.com
Fri, 19 Sep 2003 11:24:50 -0700


James Bottomley wrote:

> But it does beg the question: I think all of the PA arch docs require
> the dcache to be flushed before the icache for all icache flushing, so
> is there any point exporting an API that only flushes the icache?

Not true.  If you know that the line can't be in the d-cache, then
flushing the i-cache is sufficient (and vice-versa).  See "Data Cache
Move-In", "Instruction Cache Move-In", and "Cache Flushing" in Appendix
F of "PA-RISC 2.0 Architecture" (aka, "The Kane Book"), for details.

Now, whether pa-linux keeps track of whether a line could be in only the
d- or i-cache, with sufficient accuracy to avoid the other flush, I have
no idea.  HP-UX does attempt to track this, but doing so in every case
can be really tricky, and tracking down the data (or instruction)
corruption bugs when you miss some obscure case is a nightmare (and I
have the scars to prove it :).

 -- Jim
    HP PA-RISC/Itanium Processor Architect