Re: [Linux-kernel-mentees][PATCH v4 1/1] sgi-gru: Remove *pte_lookup functions

From: Bharath Vedartham
Date: Fri Aug 09 2019 - 05:45:04 EST


On Thu, Aug 08, 2019 at 04:30:48PM -0700, John Hubbard wrote:
> On 8/8/19 4:21 PM, John Hubbard wrote:
> > On 8/8/19 11:55 AM, Bharath Vedartham wrote:
> > ...
> >> if (is_gru_paddr(paddr))
> >> goto inval;
> >> - paddr = paddr & ~((1UL << ps) - 1);
> >> + paddr = paddr & ~((1UL << *pageshift) - 1);
> >> *gpa = uv_soc_phys_ram_to_gpa(paddr);
> >> - *pageshift = ps;
> >
> > Why are you no longer setting *pageshift? There are a couple of callers
> > that both use this variable.
> >
> >
>
> ...and once that's figured out, I can fix it up here and send it up with
> the next misc callsites series. I'm also inclined to make the commit
> log read more like this:
>
> sgi-gru: Remove *pte_lookup functions, convert to put_user_page*()
>
> For pages that were retained via get_user_pages*(), release those pages
> via the new put_user_page*() routines, instead of via put_page() or
> release_pages().
>
> This is part a tree-wide conversion, as described in commit fc1d8e7cca2d
> ("mm: introduce put_user_page*(), placeholder versions").
>
> As part of this conversion, the *pte_lookup functions can be removed and
> be easily replaced with get_user_pages_fast() functions. In the case of
> atomic lookup, __get_user_pages_fast() is used, because it does not fall
> back to the slow path: get_user_pages(). get_user_pages_fast(), on the other
> hand, first calls __get_user_pages_fast(), but then falls back to the
> slow path if __get_user_pages_fast() fails.
>
> Also: remove unnecessary CONFIG_HUGETLB ifdefs.
Sounds great! I will send the next version with an updated changelog!

Thank you
Bharath
>
> thanks,
> --
> John Hubbard
> NVIDIA