On Fri, Mar 28, 2003 at 06:51:57PM +0100, Maciej W. Rozycki wrote: > > flush_cache_mm can use __flush_cache_all. > > Wrong, it should use r4k_flush_pcache_all() unconditionally, but I'm told > such a setup triggers a bug somewhere, that needs to be tracked down > before committing that change to the CVS. Now that the problem is mentioned on the list lemme elaborate a bit. The problem mentioned only affects R4000SC and R4400SC processors. Flush_cache_mm is only used when a mm is either copied on fork or when it's finally destroyed. Because the S-cache is is physically indexed and the P-cache is refilled from the S-cache if data should be still in there we don't need to flush the S-cache ever for any of the mm's cacheflushing functions. So the observation that things are only working properly if we do flush the S-cache also suggest we're either having a bug elsewhere in the cache code or we're hitting a hardware problem. Ralf