Re: [PATCH] mm: take memory hotplug lock within numa_zonelist_order_handler()

From: Michal Hocko
Date: Wed Jul 26 2017 - 08:20:00 EST


On Wed 26-07-17 13:48:12, Heiko Carstens wrote:
> On Wed, Jul 26, 2017 at 01:31:12PM +0200, Michal Hocko wrote:
> > On Wed 26-07-17 13:17:38, Heiko Carstens wrote:
> > [...]
> > > diff --git a/mm/page_alloc.c b/mm/page_alloc.c
> > > index 6d30e914afb6..fc32aa81f359 100644
> > > --- a/mm/page_alloc.c
> > > +++ b/mm/page_alloc.c
> > > @@ -4891,9 +4891,11 @@ int numa_zonelist_order_handler(struct ctl_table *table, int write,
> > > NUMA_ZONELIST_ORDER_LEN);
> > > user_zonelist_order = oldval;
> > > } else if (oldval != user_zonelist_order) {
> > > + mem_hotplug_begin();
> > > mutex_lock(&zonelists_mutex);
> > > build_all_zonelists(NULL, NULL);
> > > mutex_unlock(&zonelists_mutex);
> > > + mem_hotplug_done();
> > > }
> > > }
> > > out:
> >
> > Please note that this code has been removed by
> > http://lkml.kernel.org/r/20170721143915.14161-2-mhocko@xxxxxxxxxxx It
> > will get to linux-next as soon as Andrew releases a new version mmotm
> > tree.
>
> We still would need something for 4.13, no?

If this presents a real problem then yes. Has this happened in a real
workload or during some artificial test? I mean the code has been like
that for ages and nobody noticed/reported any problems.

That being said, I do not have anything against your patch. It is
trivial to rebase mine on top of yours. I am just not sure it is worth
the code churn. E.g. do you think this patch is a stable backport
material?
--
Michal Hocko
SUSE Labs