Re: [patch V2 24/24] cpu/hotplug: Convert hotplug locking to percpu rwsem

2017-05-10 Thread Michael Ellerman
Thomas Gleixner writes: > On Wed, 10 May 2017, Michael Ellerman wrote: > >> Thomas Gleixner writes: >> >> > @@ -130,6 +130,7 @@ void __static_key_slow_inc(struct static >> > * the all CPUs, for that to be serialized against CPU hot-plug >> > * we need to avoid CPUs coming online. >> >

Re: [patch V2 24/24] cpu/hotplug: Convert hotplug locking to percpu rwsem

2017-05-10 Thread Steven Rostedt
On Wed, 10 May 2017 12:30:57 -0400 Steven Rostedt wrote: > I finally got some time to look at this. I'm looking at your commit: > > commit b53e5129c4c7ab47ec4f709fd8f5784ca45fb46d > Author: Thomas Gleixner > Date: Sun Apr 23 12:17:13 2017 +0200 > > trace/perf: Cure hotplug lock orderin

Re: [patch V2 24/24] cpu/hotplug: Convert hotplug locking to percpu rwsem

2017-05-10 Thread Steven Rostedt
On Wed, 10 May 2017 10:49:09 +0200 (CEST) Thomas Gleixner wrote: > On Wed, 10 May 2017, Michael Ellerman wrote: > > > Thomas Gleixner writes: > > > > > @@ -130,6 +130,7 @@ void __static_key_slow_inc(struct static > > >* the all CPUs, for that to be serialized against CPU hot-plug > > >

Re: [patch V2 24/24] cpu/hotplug: Convert hotplug locking to percpu rwsem

2017-05-10 Thread Thomas Gleixner
On Wed, 10 May 2017, Michael Ellerman wrote: > Thomas Gleixner writes: > > > @@ -130,6 +130,7 @@ void __static_key_slow_inc(struct static > > * the all CPUs, for that to be serialized against CPU hot-plug > > * we need to avoid CPUs coming online. > > */ > > + lockdep_assert_hot

Re: [patch V2 24/24] cpu/hotplug: Convert hotplug locking to percpu rwsem

2017-05-09 Thread Michael Ellerman
Thomas Gleixner writes: > @@ -130,6 +130,7 @@ void __static_key_slow_inc(struct static >* the all CPUs, for that to be serialized against CPU hot-plug >* we need to avoid CPUs coming online. >*/ > + lockdep_assert_hotplug_held(); > jump_label_lock(); > if (

[patch V2 24/24] cpu/hotplug: Convert hotplug locking to percpu rwsem

2017-04-18 Thread Thomas Gleixner
There are no more (known) nested calls to get_online_cpus() so it's possible to remove the nested call magic and convert the mutex to a percpu-rwsem, which speeds up get/put_online_cpus() significantly for the uncontended case. The contended case (write locked for hotplug operations) is slow anywa