On Mon, 2007-07-16 at 08:47 -0500, James Bottomley wrote:
No ... that was the point of flush_kernel_dcache_page(). The page in
question is page cache backed and contains user mappings. However,
the
block layer has already done a flush_dcache_page() in get_user_pages()
and the user shouldn't be touching memory under I/O (unless they want
self induced aliasing problems) so we're free to assume all the user
cachelines are purged, hence all we have to do is flush the kernel
alias
to bring the page up to date and make the users see it correctly.
Ok. In our case the problem is not aliases though, it's the coherency
between instruction and data caches for pages that may be executed from
(such as swapped out text pages).
Ben.