Re: [patch 4/9] mm + fs: prepare for non-page entries in page cache radix trees

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

 



On Tue, Aug 20, 2013 at 01:59:10PM -0700, Andrew Morton wrote:
> On Sat, 17 Aug 2013 15:31:18 -0400 Johannes Weiner <hannes@xxxxxxxxxxx> wrote:
> 
> > shmem mappings already contain exceptional entries where swap slot
> > information is remembered.
> > 
> > To be able to store eviction information for regular page cache,
> > prepare every site dealing with the radix trees directly to handle
> > entries other than pages.
> > 
> > The common lookup functions will filter out non-page entries and
> > return NULL for page cache holes, just as before.  But provide a raw
> > version of the API which returns non-page entries as well, and switch
> > shmem over to use it.
> > 
> >
> > ...
> >
> > -/**
> > - * find_get_page - find and get a page reference
> > - * @mapping: the address_space to search
> > - * @offset: the page index
> > - *
> > - * Is there a pagecache struct page at the given (mapping, offset) tuple?
> > - * If yes, increment its refcount and return it; if no, return NULL.
> > - */
> > -struct page *find_get_page(struct address_space *mapping, pgoff_t offset)
> > +struct page *__find_get_page(struct address_space *mapping, pgoff_t offset)
> >  {
> >  	void **pagep;
> >  	struct page *page;
> > @@ -812,24 +828,31 @@ out:
> >  
> >  	return page;
> >  }
> > -EXPORT_SYMBOL(find_get_page);
> > +EXPORT_SYMBOL(__find_get_page);
> 
> Deleting the interface documentation for a global, exported-to-modules
> function was a bit rude.
> 
> And it does need documentation, to tell people that it can return the
> non-pages.

I didn't really delete documentation as much as moving it to the new
find_get_page() definition (the above is a rename).  But yeah, I
should probably add some documentation to the new function as well.

> Does it have the same handling of non-pages as __find_get_pages()?  It
> had better, given the naming!

Yes, the only difference is single vs. multi lookup.  The underscore
versions may return non-pages, the traditional interface filters them.

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]