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

From: Peter Zijlstra
Date: Thu Jul 14 2016 - 08:04:40 EST


On Thu, Jul 14, 2016 at 07:35:05AM -0400, Tejun Heo wrote:
> Hello,
>
> On Wed, Jul 13, 2016 at 04:04:04PM -0700, Paul E. McKenney wrote:
> > commit b4edebb8f5664a3a51be1e3ff3d7f1cb2d3d5c88
> > Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>
> > Date: Wed Jul 13 15:13:31 2016 -0700
> >
> > rcu: Provide RCUSYNC_EXPEDITE option for rcusync.expedited default
> >
> > This commit provides an RCUSYNC_EXPEDITE Kconfig option that specifies
> > the default value for the rcusync.expedited kernel parameter. This
> > makes it easier to use rcusync.expedited functionality in cases where
> > specifying kernel boot parameters should be avoided.
> >
> > Reported-by: John Stultz <john.stultz@xxxxxxxxxx>
> > Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>
> > Tested-by: John Stultz <john.stultz@xxxxxxxxxx>
> > Acked-by: John Stultz <john.stultz@xxxxxxxxxx>
> > Cc: <stable@xxxxxxxxxxxxxxx> # 4.4.x-
>
> I think it probably makes sense to make this the default on !RT at
> least with a separate patch w/o stable cc'd. While most use cases
> will be fine with the latency on write path, it also means that the
> reader side is blocked for the duration which can hurt. rwsem implies
> a lot more readers and thus more read lock operations than writes.
> It's weird to trade off higher latency for lower cpu usage when it
> would also slow down all readers.

NAK, no expedited muck by default. There's more than just RT that
doesn't like IPI sprays.