From: Joao Martins <joao.m.martins@oracle.com>
To: Jason Gunthorpe <jgg@ziepe.ca>
Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org,
linux-rdma@vger.kernel.org,
Andrew Morton <akpm@linux-foundation.org>,
Doug Ledford <dledford@redhat.com>,
John Hubbard <jhubbard@nvidia.com>,
Matthew Wilcox <willy@infradead.org>
Subject: Re: [PATCH v3 1/4] mm/gup: add compound page list iterator
Date: Thu, 11 Feb 2021 10:45:02 +0000 [thread overview]
Message-ID: <87b7f24d-0065-9f55-5c96-e7853b2e8068@oracle.com> (raw)
In-Reply-To: <20210210232010.GT4718@ziepe.ca>
On 2/10/21 11:20 PM, Jason Gunthorpe wrote:
> On Fri, Feb 05, 2021 at 08:41:24PM +0000, Joao Martins wrote:
>> Add an helper that iterates over head pages in a list of pages. It
>> essentially counts the tails until the next page to process has a
>> different head that the current. This is going to be used by
>> unpin_user_pages() family of functions, to batch the head page refcount
>> updates once for all passed consecutive tail pages.
>>
>> Suggested-by: Jason Gunthorpe <jgg@nvidia.com>
>> Signed-off-by: Joao Martins <joao.m.martins@oracle.com>
>> Reviewed-by: John Hubbard <jhubbard@nvidia.com>
>> ---
>> mm/gup.c | 26 ++++++++++++++++++++++++++
>> 1 file changed, 26 insertions(+)
>
> Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
>
Thanks!
> This can be used for check_and_migrate_cma_pages() too (there is a
> series around to change this logic though, not sure if it is landed
> yet)
It got unqueued AFAIUI.
It makes sense for most users today except hugetlb pages, which are also
the fastest page pinner today. And unilaterally using this iterator makes
all page types pay the added cost. So either keeping the current loop having
the exception to PageHuge() head pages, or doing it correctly with that
split logic we were talking on the other thread.
Joao
next prev parent reply other threads:[~2021-02-11 10:45 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-02-05 20:41 [PATCH v3 0/4] mm/gup: page unpining improvements Joao Martins
2021-02-05 20:41 ` [PATCH v3 1/4] mm/gup: add compound page list iterator Joao Martins
2021-02-10 23:20 ` Jason Gunthorpe
2021-02-11 10:45 ` Joao Martins [this message]
2021-02-05 20:41 ` [PATCH v3 2/4] mm/gup: decrement head page once for group of subpages Joao Martins
2021-02-10 21:02 ` Jason Gunthorpe
2021-02-11 10:14 ` Joao Martins
2021-02-05 20:41 ` [PATCH v3 3/4] mm/gup: add a range variant of unpin_user_pages_dirty_lock() Joao Martins
2021-02-10 23:15 ` Jason Gunthorpe
2021-02-11 10:24 ` Joao Martins
2021-02-10 23:19 ` John Hubbard
2021-02-11 10:52 ` Joao Martins
2021-02-05 20:41 ` [PATCH v3 4/4] RDMA/umem: batch page unpin in __ib_umem_release() Joao Martins
2021-02-10 23:17 ` Jason Gunthorpe
2021-02-11 10:35 ` Joao Martins
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=87b7f24d-0065-9f55-5c96-e7853b2e8068@oracle.com \
--to=joao.m.martins@oracle.com \
--cc=akpm@linux-foundation.org \
--cc=dledford@redhat.com \
--cc=jgg@ziepe.ca \
--cc=jhubbard@nvidia.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-rdma@vger.kernel.org \
--cc=willy@infradead.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox