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

John Hubbard jhubbard at nvidia.com
Thu Aug 8 23:30:48 UTC 2019

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

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.

John Hubbard

More information about the Linux-kernel-mentees mailing list