[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <d2f4a932-3cce-5b0d-fbf9-b9cf2291bb61@nvidia.com>
Date: Mon, 31 Jan 2022 12:01:54 -0800
From: John Hubbard <jhubbard@...dia.com>
To: Jason Gunthorpe <jgg@...pe.ca>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
Peter Xu <peterx@...hat.com>, Jan Kara <jack@...e.cz>,
Claudio Imbrenda <imbrenda@...ux.ibm.com>,
"Kirill A . Shutemov" <kirill.shutemov@...ux.intel.com>,
Alex Williamson <alex.williamson@...hat.com>,
Andrea Arcangeli <aarcange@...hat.com>,
Jérôme Glisse <jglisse@...hat.com>,
LKML <linux-kernel@...r.kernel.org>, linux-mm@...ck.org
Subject: Re: [PATCH 4/4] mm/gup: remove get_user_pages_locked()
On 1/31/22 05:36, Jason Gunthorpe wrote:
...
>> @@ -968,15 +966,15 @@ static long do_get_mempolicy(int *policy, nodemask_t *nmask,
>> if (flags & MPOL_F_NODE) {
>> if (flags & MPOL_F_ADDR) {
>> /*
>> - * Take a refcount on the mpol, lookup_node()
>> - * will drop the mmap_lock, so after calling
>> - * lookup_node() only "pol" remains valid, "vma"
>> - * is stale.
>> + * Take a refcount on the mpol, because we are about to
>> + * drop the mmap_lock, after which only "pol" remains
>> + * valid, "vma" is stale.
>> */
>> pol_refcount = pol;
>> vma = NULL;
>> mpol_get(pol);
>> err = lookup_node(mm, addr);
>> + mmap_read_unlock(mm);
>
> How about move the mmap_read_unlock up one line and then use
> get_user_pages_fast()
>
> I'm guessing in most cases here the PTE will be present so that should
> be a net win?
Neat, I'll do that.
thanks,
--
John Hubbard
NVIDIA
Powered by blists - more mailing lists