Re: [PATCH] mm/memory-hotplug: Switch locking to a percpu rwsem

From: Thomas Gleixner
Date: Mon Jul 03 2017 - 15:57:44 EST


On Mon, 3 Jul 2017, Michal Hocko wrote:
> On Fri 30-06-17 12:15:21, Thomas Gleixner wrote:
> [...]
> > Sure. Just to make you to mull over more stuff, find below the patch which
> > moves all of this to use the cpuhotplug lock.
> >
> > Thanks,
> >
> > tglx
> >
> > 8<--------------------
> > Subject: mm/memory-hotplug: Use cpu hotplug lock
> > From: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> > Date: Thu, 29 Jun 2017 16:30:00 +0200
> >
> > Most place which take the memory hotplug lock take the cpu hotplug lock as
> > well. Avoid the double locking and use the cpu hotplug lock for both.
>
> Hmm, I am usually not a fan of locks conflating because it is then less
> clear what the lock actually protects. Memory and cpu hotplugs should
> be largely independent so I am not sure this patch simplify things a
> lot. It is nice to see few lines go away but I am little bit worried
> that we will enventually develop a separate locking again in future for
> some weird memory hotplug usecases.

Fair enough.

>
> > Not-Yet-Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> [...]
> > --- a/mm/memory_hotplug.c
> > +++ b/mm/memory_hotplug.c
> [...]
> > @@ -2138,7 +2114,7 @@ void __ref remove_memory(int nid, u64 st
> >
> > try_offline_node(nid);
> >
> > - mem_hotplug_done();
> > + cpus_write_lock();
>
> unlock you meant here, right?

Doh, -ENOQUILTREFRESH