Messages in this thread | | | From | Paul Mackerras <> | Date | Fri, 23 May 2003 21:22:09 +1000 | Subject | Re: [patch] cache flush bug in mm/filemap.c (all kernels >= 2.5.30(at least)) |
| |
Andrew Morton writes:
> filemap_nopage isn't the right place to be doing these things though. > > Given that there was no page at the virtual address before filemap_nopage > was called I don't think any CPU cache writeback or invalidation need be > performed. Perhaps a writeback or invalidate is missing somewhere in the > unmap paths, or there is a problem in arch/arm somewhere. > > We have a no-op flush_icache_page() in do_no_page(), but I don't know what > that thing ever did, not what it's doing in there. (What happens if you > replace it with a flush_cache_page(vma, address)?)
We used to use flush_icache_page() on ppc/ppc64 to ensure that the i-cache was consistent with the d-cache and with memory. It was needed in do_no_page for the case where the page had just been read in and the i-cache could have stale data reflecting the previous contents of the page (the i-cache doesn't snoop on ppc). But we now do that in update_mmu_cache.
Paul. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |