Re: [PATCH] mm, memory_hotplug: check zone_movable in has_unmovable_pages

From: Michal Hocko
Date: Wed Nov 07 2018 - 03:14:32 EST


On Wed 07-11-18 08:55:26, osalvador wrote:
> On Wed, 2018-11-07 at 08:35 +0100, Michal Hocko wrote:
> > On Wed 07-11-18 07:35:18, Balbir Singh wrote:
> > > The check seems to be quite aggressive and in a loop that iterates
> > > pages, but has nothing to do with the page, did you mean to make
> > > the check
> > >
> > > zone_idx(page_zone(page)) == ZONE_MOVABLE
> >
> > Does it make any difference? Can we actually encounter a page from a
> > different zone here?
>
> AFAIK, test_pages_in_a_zone() called from offline_pages() should ensure
> that the range belongs to a unique zone, so we should not encounter
> pages from other zones there, right?

Yes that is the case for memory hotplug. We do assume a single zone at
set_migratetype_isolate where we take the zone->lock. If the
contig_alloc can span multiple zones then it should check for similar.
--
Michal Hocko
SUSE Labs