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

From: Joonsoo Kim
Date: Thu Aug 24 2017 - 19:59:12 EST


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. :/

Thanks.