On Wed, Jul 13, 2016 at 1:39 PM, Tejun Heo <t...@kernel.org> wrote: > Hello, > > On Wed, Jul 13, 2016 at 10:26:57PM +0200, Peter Zijlstra wrote: >> > So, it's a percpu rwsem issue then. I haven't really followed the >> > perpcpu rwsem changes closely. Oleg, are multi-milisec delay expected >> > on down write expected with the current implementation of >> > percpu_rwsem? >> >> There is a synchronize_sched() in there, so sorta. That thing is heavily >> geared towards readers, as is the only 'sane' choice for global locks. > > It used to use the expedited variant until 001dac627ff3 > ("locking/percpu-rwsem: Make use of the rcu_sync infrastructure"), so > it might have been okay before then.
Just as a datapoint, just reverting 001dac627ff3 ("locking/percpu-rwsem: Make use of the rcu_sync infrastructure"), doesn't seem to help as much as your prior patch going to a normal rwsem. I'm consistently seeing values in the 100-550us range (with occasional spikes around 6ms), with a max value at 36ms. thanks -john