From: Johannes Weiner <hannes@cmpxchg.org>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Andi Kleen <andi@firstfloor.org>,
Andrea Arcangeli <aarcange@redhat.com>,
Greg Thelen <gthelen@google.com>,
Christoph Hellwig <hch@infradead.org>,
Hugh Dickins <hughd@google.com>, Jan Kara <jack@suse.cz>,
KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>,
Mel Gorman <mgorman@suse.de>, Minchan Kim <minchan.kim@gmail.com>,
Peter Zijlstra <peterz@infradead.org>,
Rik van Riel <riel@redhat.com>,
Michel Lespinasse <walken@google.com>,
Seth Jennings <sjenning@linux.vnet.ibm.com>,
Roman Gushchin <klamm@yandex-team.ru>,
Ozgun Erdogan <ozgun@citusdata.com>,
Metin Doslu <metin@citusdata.com>,
Vlastimil Babka <vbabka@suse.cz>,
linux-mm@kvack.org, linux-fsdevel@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [patch 4/9] mm + fs: prepare for non-page entries in page cache radix trees
Date: Thu, 22 Aug 2013 09:20:41 +0200 [thread overview]
Message-ID: <20130822072041.GA26749@cmpxchg.org> (raw)
In-Reply-To: <20130820135910.6e6da048131bc841404906be@linux-foundation.org>
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@cmpxchg.org> 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@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>
WARNING: multiple messages have this Message-ID (diff)
From: Johannes Weiner <hannes@cmpxchg.org>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Andi Kleen <andi@firstfloor.org>,
Andrea Arcangeli <aarcange@redhat.com>,
Greg Thelen <gthelen@google.com>,
Christoph Hellwig <hch@infradead.org>,
Hugh Dickins <hughd@google.com>, Jan Kara <jack@suse.cz>,
KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>,
Mel Gorman <mgorman@suse.de>, Minchan Kim <minchan.kim@gmail.com>,
Peter Zijlstra <peterz@infradead.org>,
Rik van Riel <riel@redhat.com>,
Michel Lespinasse <walken@google.com>,
Seth Jennings <sjenning@linux.vnet.ibm.com>,
Roman Gushchin <klamm@yandex-team.ru>,
Ozgun Erdogan <ozgun@citusdata.com>,
Metin Doslu <metin@citusdata.com>,
Vlastimil Babka <vbabka@suse.cz>,
linux-mm@kvack.org, linux-fsdevel@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [patch 4/9] mm + fs: prepare for non-page entries in page cache radix trees
Date: Thu, 22 Aug 2013 09:20:41 +0200 [thread overview]
Message-ID: <20130822072041.GA26749@cmpxchg.org> (raw)
In-Reply-To: <20130820135910.6e6da048131bc841404906be@linux-foundation.org>
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@cmpxchg.org> 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.
next prev parent reply other threads:[~2013-08-22 7:20 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-17 19:31 [patch 9/9] mm: thrash detection-based file cache sizing v4 Johannes Weiner
2013-08-17 19:31 ` Johannes Weiner
2013-08-17 19:31 ` [patch 1/9] lib: radix-tree: radix_tree_delete_item() Johannes Weiner
2013-08-17 19:31 ` Johannes Weiner
2013-08-20 20:59 ` Andrew Morton
2013-08-20 20:59 ` Andrew Morton
2013-08-17 19:31 ` [patch 2/9] mm: shmem: save one radix tree lookup when truncating swapped pages Johannes Weiner
2013-08-17 19:31 ` Johannes Weiner
2013-08-17 19:31 ` [patch 3/9] mm: filemap: move radix tree hole searching here Johannes Weiner
2013-08-17 19:31 ` Johannes Weiner
2013-08-17 19:31 ` [patch 4/9] mm + fs: prepare for non-page entries in page cache radix trees Johannes Weiner
2013-08-17 19:31 ` Johannes Weiner
2013-08-20 20:59 ` Andrew Morton
2013-08-20 20:59 ` Andrew Morton
2013-08-22 7:20 ` Johannes Weiner [this message]
2013-08-22 7:20 ` Johannes Weiner
2013-08-17 19:31 ` [patch 5/9] mm + fs: store shadow entries in page cache Johannes Weiner
2013-08-17 19:31 ` Johannes Weiner
2013-08-20 20:59 ` Andrew Morton
2013-08-20 20:59 ` Andrew Morton
2013-08-17 19:31 ` [patch 6/9] mm + fs: provide shadow pages to page cache allocations Johannes Weiner
2013-08-17 19:31 ` Johannes Weiner
2013-08-17 19:31 ` [patch 7/9] mm: make global_dirtyable_memory() available to other mm code Johannes Weiner
2013-08-17 19:31 ` Johannes Weiner
2013-08-17 19:31 ` [patch 8/9] mm: thrash detection-based file cache sizing Johannes Weiner
2013-08-17 19:31 ` Johannes Weiner
2013-08-20 20:59 ` Andrew Morton
2013-08-20 20:59 ` Andrew Morton
2013-08-22 8:45 ` Johannes Weiner
2013-08-22 8:45 ` Johannes Weiner
2013-08-17 19:31 ` [patch 9/9] mm: workingset: keep shadow entries in check Johannes Weiner
2013-08-17 19:31 ` Johannes Weiner
2013-08-20 20:59 ` Andrew Morton
2013-08-20 20:59 ` Andrew Morton
2013-08-22 9:48 ` Johannes Weiner
2013-08-22 9:48 ` Johannes Weiner
2013-08-20 21:04 ` [patch 9/9] mm: thrash detection-based file cache sizing v4 Andrew Morton
2013-08-20 21:04 ` Andrew Morton
2013-08-22 9:08 ` Metin Doslu
2013-08-22 11:15 ` Metin Doslu
-- strict thread matches above, loose matches on Subject: below --
2013-08-06 22:44 [patch 0/9] mm: thrash detection-based file cache sizing v3 Johannes Weiner
2013-08-06 22:44 ` [patch 4/9] mm + fs: prepare for non-page entries in page cache radix trees Johannes Weiner
2013-08-06 22:44 ` Johannes Weiner
2013-08-06 22:22 [patch 0/9] mm: thrash detection-based file cache sizing v3 Johannes Weiner
2013-08-06 22:22 ` [patch 4/9] mm + fs: prepare for non-page entries in page cache radix trees Johannes Weiner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130822072041.GA26749@cmpxchg.org \
--to=hannes@cmpxchg.org \
--cc=aarcange@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=andi@firstfloor.org \
--cc=gthelen@google.com \
--cc=hch@infradead.org \
--cc=hughd@google.com \
--cc=jack@suse.cz \
--cc=klamm@yandex-team.ru \
--cc=kosaki.motohiro@jp.fujitsu.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=metin@citusdata.com \
--cc=mgorman@suse.de \
--cc=minchan.kim@gmail.com \
--cc=ozgun@citusdata.com \
--cc=peterz@infradead.org \
--cc=riel@redhat.com \
--cc=sjenning@linux.vnet.ibm.com \
--cc=vbabka@suse.cz \
--cc=walken@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.