Re: fuse, get_user_pages, flush_anon_page, aliasing caches and allthat again

From: Miklos Szeredi
Date: Sun Dec 31 2006 - 04:12:22 EST


> Therefore, FUSE probably could have been fixed by judicious use
> of copy_{to,from}_user_page() calls instead of adding this new
> ad-hoc flush_anon_page() thing.

Probably, but I don't think either interface is perfect.
copy_*_user_page() will double flush the user mapping
(get_user_pages() already does a flush_dcache_page()). Actually
nothing except ptrace uses the copy_*_user_page() interface even
though there are many uses of get_user_pages().

What I think get_user_pages() really needs is a single operation that

- flushes the virtual address view
- flushes the kernel view

regardles whether the page is anonymous or file backed.

Miklos
-
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/