On Sat, Oct 09, 2021 at 12:49:29PM -0700, John Hubbard wrote:
On 10/9/21 02:37, Yunsheng Lin wrote:
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.