Re: [patch 4/9] mm + fs: prepare for non-page entries in page cache radix trees
From: Andrew Morton <akpm@linux-foundation.org>
Date: 2013-08-20 20:59:10
Also in:
linux-fsdevel, lkml
On Sat, 17 Aug 2013 15:31:18 -0400 Johannes Weiner [off-list ref] wrote:
quoted hunk ↗ jump to hunk
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. Does it have the same handling of non-pages as __find_get_pages()? It had better, given the naming!
...
-- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>