Re: [PATCH] mm/mlock: use page_zone() instead of page_zone_id()

From: Vlastimil Babka
Date: Fri Aug 25 2017 - 04:49:53 EST


On 08/25/2017 01:59 AM, Joonsoo Kim wrote:
> On Thu, Aug 24, 2017 at 01:05:15PM +0200, Vlastimil Babka wrote:
>> +CC Mel
>>
>> On 08/24/2017 09:20 AM, js1304@xxxxxxxxx wrote:
>>> From: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
>>>
>>> page_zone_id() is a specialized function to compare the zone for the pages
>>> that are within the section range. If the section of the pages are
>>> different, page_zone_id() can be different even if their zone is the same.
>>> This wrong usage doesn't cause any actual problem since
>>> __munlock_pagevec_fill() would be called again with failed index. However,
>>> it's better to use more appropriate function here.
>>
>> Hmm using zone id was part of the series making munlock faster. Too bad
>> it's doing the wrong thing on some memory models. Looks like it wasn't
>> evaluated in isolation, but only as part of the pagevec usage (commit
>> 7a8010cd36273) but most likely it wasn't contributing too much to the
>> 14% speedup.
>
> I roughly checked that patch and it seems that performance improvement
> of that commit isn't related to page_zone_id() usage. With
> page_zone(), we would have more chance that do a job as a batch.
>
>>
>>> This patch is also preparation for futher change about page_zone_id().
>>
>> Out of curiosity, what kind of change?
>>
>
> I prepared one more patch that prevent another user of page_zone_id()
> since it is too tricky. However, I don't submit it. That description
> should be removed. :/

OK. You can add

Acked-by: Vlastimil Babka <vbabka@xxxxxxx>

> Thanks.
>