On Sat, Jun 27, 2009 at 10:59:33PM +0900, Atsushi Nemoto wrote: > A bit off-topic question. The update_mmu_cache (or __update_cache) > itself does not flush icache. When icache is invalidated (especially > VIPT case) ? Not off-topic at all in this thread. The I-cache for page just being loaded is clean so no flushing needed. It is clean because when the page has been unmapped it was flushed or because the CPU switched to a fresh ASID. The reason for this bug is that when data is being shoveled around by the processor (as opposed to DMA) as on PIO block devices it'll end up sitting in the D-cache so I-cache refills will grab stale data from S-cache or memory. Ralf