Re: [patch V2 2/2] mm/memory-hotplug: Switch locking to a percpu rwsem

From: Davidlohr Bueso
Date: Tue Jul 04 2017 - 11:42:34 EST

On Tue, 04 Jul 2017, Thomas Gleixner wrote:

On Tue, 4 Jul 2017, Davidlohr Bueso wrote:
On Tue, 04 Jul 2017, Davidlohr Bueso wrote:

> As a side effect you end up optimizing get/put_online_mems() at the cost
> of more overhead for the actual hotplug operation, which is rare and of less
> performance importance.

So nm this, the reader side actually gets _more_ expensive with pcpu-rwsems
due to at least two full barriers for each get/put operation.

Compared to a mutex_lock/unlock() pair on a global mutex ....

Ah, right, I was thrown off the:

if (mem_hotplug.active_writer == current)

checks, which is only true within hotplug_begin/end. So normally we'd take
the lock, which was my first impression. Sorry for the noise.