linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: John Hubbard <jhubbard@nvidia.com>
To: Jan Kara <jack@suse.cz>
Cc: "Andrew Morton" <akpm@linux-foundation.org>,
	"Peter Xu" <peterx@redhat.com>, "Jason Gunthorpe" <jgg@ziepe.ca>,
	"Claudio Imbrenda" <imbrenda@linux.ibm.com>,
	"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>,
	"Alex Williamson" <alex.williamson@redhat.com>,
	"Andrea Arcangeli" <aarcange@redhat.com>,
	"Jérôme Glisse" <jglisse@redhat.com>,
	LKML <linux-kernel@vger.kernel.org>,
	linux-mm@kvack.org
Subject: Re: [PATCH 4/4] mm/gup: remove get_user_pages_locked()
Date: Mon, 31 Jan 2022 12:01:48 -0800	[thread overview]
Message-ID: <37484a02-9e64-ea20-314a-a65759b138d2@nvidia.com> (raw)
In-Reply-To: <20220131120557.rwde6sphc245pzu7@quack3.lan>

On 1/31/22 04:05, Jan Kara wrote:
> On Sun 30-01-22 21:17:52, John Hubbard wrote:
>> Unraveling the rat's nest set of APIs in mm/gup.c a bit more.
>> get_user_pages_locked() was not helping at all, so remove it.
>>
>> Also, lookup_node() has only a single caller, but it is still worth
>> having a clearer locking policy there. Changing it so that the caller
>> both takes and releases the mmap_lock, thus leaving lookup_node() with
>> the sole job of translating a virtual address into a numa node ID.
>>
>> Signed-off-by: John Hubbard <jhubbard@nvidia.com>
> 
> Well, the point of _locked() GUP variants is that we can unlock mmap_sem
> when reading a page from the disk during a page fault (hidden behind
> VM_FAULT_RETRY). So as such _locked() variants are about reducing mmap_sem
> latency rather than code readability.  In this particular case, I don't
> think using _locked() variant in lookup_node() is very beneficial
> (generally I would not expect to take a fault there) but at least a
> justification in the commit message should be different :).
> 
> 								Honza

I'll rewrite this commit description to cover this point properly.
Jason also suggested using gup-fast, which I like.
  thanks,
-- 
John Hubbard
NVIDIA


  reply	other threads:[~2022-01-31 20:01 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-31  5:17 [PATCH 0/4] mm/gup: some cleanups John Hubbard
2022-01-31  5:17 ` [PATCH 1/4] mm: Fix invalid page pointer returned with FOLL_PIN gups John Hubbard
2022-02-02 14:04   ` Christoph Hellwig
2022-01-31  5:17 ` [PATCH 2/4] mm/gup: clean up follow_pfn_pte() slightly John Hubbard
2022-01-31 13:36   ` Jason Gunthorpe
2022-01-31  5:17 ` [PATCH 3/4] mm/gup: remove unused pin_user_pages_locked() John Hubbard
2022-01-31 14:06   ` David Hildenbrand
2022-01-31 14:43   ` Jason Gunthorpe
2022-02-02 14:05   ` Christoph Hellwig
2022-01-31  5:17 ` [PATCH 4/4] mm/gup: remove get_user_pages_locked() John Hubbard
2022-01-31 12:05   ` Jan Kara
2022-01-31 20:01     ` John Hubbard [this message]
2022-01-31 13:36   ` Jason Gunthorpe
2022-01-31 20:01     ` John Hubbard

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=37484a02-9e64-ea20-314a-a65759b138d2@nvidia.com \
    --to=jhubbard@nvidia.com \
    --cc=aarcange@redhat.com \
    --cc=akpm@linux-foundation.org \
    --cc=alex.williamson@redhat.com \
    --cc=imbrenda@linux.ibm.com \
    --cc=jack@suse.cz \
    --cc=jgg@ziepe.ca \
    --cc=jglisse@redhat.com \
    --cc=kirill.shutemov@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=peterx@redhat.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox