Messages in this thread | | | Date | Wed, 16 Sep 2015 14:43:48 +0200 | From | Oleg Nesterov <> | Subject | Re: [4.2] commit d59cfc09c32 (sched, cgroup: replace signal_struct->group_rwsem with a global percpu_rwsem) causes regression for libvirt/kvm |
| |
On 09/16, Paolo Bonzini wrote: > > > On 16/09/2015 14:22, Oleg Nesterov wrote: > > > The issue is that rcu_sync doesn't eliminate synchronize_sched, > > > > Yes, but it eliminates _expedited(). This is good, but otoh this means > > that (say) individual __cgroup_procs_write() can take much more time. > > However, it won't block the readers and/or disturb the whole system. > > According to Christian, removing the _expedited() "makes things worse"
Yes sure, we can not just remove _expedited() from down/up_read().
> in that the system takes ages to boot up and systemd timeouts.
Yes, this is clear
> So I'm > still a bit wary about anything that uses RCU for the cgroups write side. > > However, rcu_sync is okay with him, so perhaps it is really really > effective. Christian, can you instrument how many synchronize_sched > (out of the 6479 cgroup_procs_write calls) are actually executed at boot > with the rcu rework?
Heh, another change I have in mind. It would be nice to add some trace points. But firstly we should merge the current code.
Oleg.
| |