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

From: Peter Zijlstra
Date: Thu Jul 14 2016 - 02:50:12 EST


On Wed, Jul 13, 2016 at 06:01:28PM -0400, Tejun Heo wrote:

> Technically, I think the lglock approach would be better here given
> the combination of requirements; however, it's quite a bit more code
> which would likely require some sophistications down the line (like
> blocking new readers first at the start of down_write).

So the immediate problem with lg style locks is that the 'local' lock
will not stay local since these are preemptible locks we can get
migrations etc..

All fixable, but still.

> If we have to
> go there, we'll go there but for now I think it'd be simpler to
> conditionally switch to the expedited operations. It can be a config
> option which is selected by !RT as you suggested. If anyone hits an
> actual issue with that, we can go for the lglock thing.

So the main objection I have is that this isn't a fundamental fix, this
only cures things because Android only runs on small machines.

If someone with a big computer tries to do the same things we're up some
creek without no paddle. There's just no way we can make a global writer
'fast'.