Re: [PATCH 2/2] locking/percpu-rwsem: Introduce bias knob

From: Peter Zijlstra
Date: Thu Jul 14 2016 - 14:56:15 EST


On Thu, Jul 14, 2016 at 08:43:51PM +0200, Oleg Nesterov wrote:
> On 07/14, Peter Zijlstra wrote:
> >
> > The current percpu-rwsem read side is entirely free of serializing
> > instructions at the cost of having a synchronize_sched() in the write
> > path.
> >
> > The latency of the synchronize_sched() is too high for some users
> > (cgroups), so provide a __percpu_init_rwsem(.bias) argument to forgot
> > this synchronize_sched() at the cost of forcing all readers into the
> > slow path, which has serializing instructions.
>
> Oh well... I personally do not think this is what we want... Can't
> we just add the stupid rcu_sync_enter() into cgroup_init() at least
> for now?

> Yes, this means the unnecessary .sync() at boot time, but
> it will go away after cleanups I am going to send.

Those would have to hit the same merge window though; some people (like
Arjan) really care about boot times and hunt and kill people adding
pointless delays..

> Because, again, we will probably want to change this bias dynamically.

Hmm, how so?