[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20061222084318.GA5132@flint.arm.linux.org.uk>
Date: Fri, 22 Dec 2006 08:43:18 +0000
From: Russell King <rmk+lkml@....linux.org.uk>
To: Randolph Chung <randolph@...sq.org>
Cc: Miklos Szeredi <miklos@...redi.hu>, linux-kernel@...r.kernel.org,
linux-arch@...r.kernel.org
Subject: Re: fuse, get_user_pages, flush_anon_page, aliasing caches and all that again
On Fri, Dec 22, 2006 at 07:51:34AM +0800, Randolph Chung wrote:
> >I understand now. I'm not sure how the PARISC implementation can be
> >correct in this light.
>
> According to cachetlb.txt:
>
> void flush_anon_page(struct page *page, unsigned long vmaddr)
> When the kernel needs to access the contents of an anonymous
> page, it calls this function (currently only
> get_user_pages()). Note: flush_dcache_page() deliberately
> doesn't work for an anonymous page. The default
> implementation is a nop (and should remain so for all coherent
> architectures). For incoherent architectures, it should flush
> the cache of the page at vmaddr in the current user process.
> ^^^^^^^^^^^^^^^^^^^^
>
> Is the documentation wrong?
Yes. As I've already explained there is no guarantee that
get_user_pages() is only called to obtain pages for the current
process, and flush_anon_pages() is called irrespective of which
user process is being 'got'.
--
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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists