Re: [PATCH resend 5/9] MIPS: sync after cacheflush

From: Gleb O. Raiko
Date: Tue Oct 19 2010 - 06:00:50 EST




On 19.10.2010 13:17, Ralf Baechle wrote:
On Tue, Oct 19, 2010 at 12:54:33PM +0400, Gleb O. Raiko wrote:
The MIPS32 BIS v2.6 spec says on page 92:

"The CACHE instruction and the memory transactions which are sourced by
the CACHE instruction, such as cache refill or cache writeback, obey
the ordering and completion rules of the SYNC instruction."

That's not as clearly spelt out as one would like but it seems to imply
that only reads/writes preceeding the CACHE instruction are guaranteed
to have completed that is the last CACHE instruction that was executed
may still be incomplete.

I meant another piece:

"For implementations which implement multiple level of caches ... <speaking about inclusive caches here> ... The software must place a SYNC instruction after the CACHE instruction whenever there are possible writebacks from the inner cache to ensure that the writeback data is resident in the outer cache before operating on the
outer cache. ... <the rest of statement is a bogeyman story about not doing so>

For implementations which implement muliple level of caches without the inclusion property, the use of a SYNC instruction after the CACHE instruction is still needed whenever writeback data has to be resident in the next level of memory hierarchy."

It seems the last sentence shall be also applied for inclusive caches too.

Gleb.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/