Re: [PATCHSET] block: fix PIO cache coherency bug, take 2

From: James Bottomley
Date: Mon Jun 05 2006 - 09:43:51 EST


On Sun, 2006-06-04 at 21:44 +0100, Russell King wrote:
> > I tried to implement flush_anon_page() too but didn't know what to
> do
> > with anon_vma object.
>
> I'm not sure what this is about...

This was for fuse on parisc. It should have no bearing on the current
IDE problem. What it's trying to solve is the fact that
flush_dcache_page() doesn't necessarily flush anonymous pages (because
of the way the mappings list works). However, in order to make an
anonymous page in user space visible via the kernel address, we have to
have it flushed (this is what fuse does to transfer data into pages).
So this API was introduced into the right places to permit that to
happen. Most VIPT architectures are CAM based, so flush_dcache_page()
actually sweeps up all the anon pages as well. However, if the
implementation (like parisc's) has to loop over page_mapping(page) then
it will likely need to implement flush_anon_page() for fuse to work.

James


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/