Re: Severe performance regression w/ 4.4+ on Android due to cgroup locking changes

From: Tejun Heo
Date: Thu Jul 14 2016 - 11:07:30 EST


On Thu, Jul 14, 2016 at 02:20:49PM +0200, Peter Zijlstra wrote:
> > If that's the case, we have the wrong implemention
> > for percpu-rwsem where very long delays for writers induce the same
> > level of delays to all readers. If expedited by default isn't
> > workable, we should move away from rcu_sync for percpu_rwsem.
>
> Just because your usecase doesn't like it, doesn't mean its not good.
> Its a perfectly fine implementation for uprobes for example. The
> addition/removal of uprobes is extremely rare, as global writers should
> be.
>
> And no, the writer delay isn't observed by the readers, those will
> continue 'undisturbed' for most of it.

How? While write lock is pending, no new reader is allowed. If
reader ops are high frequency, they will surely get affected. It just
isn't a good design to inject RCU grace period synchronously into a
hot path.

Thanks.

--
tejun