Thread (14 messages) 14 messages, 6 authors, 2021-10-12

Re: [PATCH net-next -v5 3/4] mm: introduce __get_page() and __put_page()

From: Matthew Wilcox <willy@infradead.org>
Date: 2021-10-09 20:16:46
Also in: linux-mm, lkml

On Sat, Oct 09, 2021 at 12:49:29PM -0700, John Hubbard wrote:
On 10/9/21 02:37, Yunsheng Lin wrote:
quoted
Introduce __get_page() and __put_page() to operate on the
base page or head of a compound page for the cases when a
page is known to be a base page or head of a compound page.
Hi,

I wonder if you are aware of a much larger, 137-patch seriesto do that:
folio/pageset [1]?

The naming you are proposing here does not really improve clarity. There
is nothing about __get_page() that makes it clear that it's meant only
for head/base pages, while get_page() tail pages as well. And the
well-known and widely used get_page() and put_page() get their meaning
shifted.

This area is hard to get right, and that's why there have been 15
versions, and a lot of contention associated with [1]. If you have an
alternate approach, I think it would be better in its own separate
series, with a cover letter that, at a minimum, explains how it compares
to folios/pagesets.
I wasn't initially sure whether network pagepools should be part of
struct folio or should be their own separate type.  At this point, I
think they should be a folio.  But that's all kind of irrelevant until
Linus decides whether he's going to take the folio patchset or not.
Feel free to let him know your opinion when the inevitable argument
blows up again around the next pull request.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help