Hi, Derek Spadaro: > In any case, the solution now is to use write-through mode. I wonder > though if there could be an explicit write-back missing after a copy > or some such which might be seen only on certain hardware?
To be honest, I don't have a good answer for you. If I forgot memory barrier or something, I guess more bug reports would be posted. But it never means that aufs is bug free. I have searched "mips, cache, flush, write-back, write-through, etc" in the kernel git log since 2.6.21, and I am afraid this fix in 2.6.25 may be related to your problem. How do you think? And give more info about your mips cpu, please. J. R. Okajima ---------------------------------------------------------------------- commit 2eaa7ec286db54cc1a864565ed9367966743bcbd Author: Ralf Baechle <[email protected]> Date: Mon Feb 11 14:51:40 2008 +0000 [MIPS] Handle I-cache coherency in flush_cache_range() So far flush_cache_range() did't consider the I-cache largely because it did rarely ever matter to real world code. This was working primarily because normally code and data are don't share the same pages - with the exception of MIPS16 code which uses address constants embedded between the code. The following sequence of events may break the code: o MIPS16 executable being loaded o dynamic linker relocates the address constants embedded into the code: o Uses mprotect(2) to make code pages PROT_READ|PROT_WRITE o Performs the actual relocations by writing to the pages which likely are COW. Because no PROT_EXEC is set I-cache coherence will not be considered. o Uses mprotect(2) to switch code pages back to PROT_READ|PROT_EXEC. This results in a call to flush_cache_range() which also does not consider I-caches. o => executing the page just having been relocated may now result in the I-cache getting refilled with stale data from memory. ------------------------------------------------------------------------------ OpenSolaris 2009.06 is a cutting edge operating system for enterprises looking to deploy the next generation of Solaris that includes the latest innovations from Sun and the OpenSource community. Download a copy and enjoy capabilities such as Networking, Storage and Virtualization. Go to: http://p.sf.net/sfu/opensolaris-get
