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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux