Re: fuse, get_user_pages, flush_anon_page, aliasing caches and all that again

From: Russell King
Date: Sun Dec 31 2006 - 05:00:40 EST


On Sun, Dec 31, 2006 at 01:47:56AM -0800, David Miller wrote:
> From: Arjan van de Ven <arjan@xxxxxxxxxxxxx>
> Date: Sun, 31 Dec 2006 10:27:22 +0100
> > > However, it's not only FUSE which is suffering - direct-IO also doesn't
> > > work.
> >
> > for direct-IO the kernel won't touch the data *at all*... (that's the
> > point ;)
> >
> > is it still an issue then?
>
> It can be an issue with virtual caches if the "I/O" is done
> using cpu loads and stores, but we should be handling that
> with explicit flushing anyways.
>
> The core of the problem is that ARM doesn't look for the user
> mappings for anonymous pages when flush_dcache_page() is invoked.
> I think as a temporary fix it could walk the RMAP list and
> use that to find the user virtual mappings. Would that work
> Russel?

I'm willing to do that - and I guess this means we can probably do this
instead of walking the list of VMAs for the shared mapping, thereby
hitting both anonymous and shared mappings with the same code?

--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of:
-
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/