Re: [PATCH 6/6] Makes procs file writable to move all threads bytgid at once

From: Louis Rilling
Date: Wed Aug 05 2009 - 12:42:27 EST


On 05/08/09 9:11 -0700, Paul Menage wrote:
> On Wed, Aug 5, 2009 at 3:20 AM, Louis Rilling<Louis.Rilling@xxxxxxxxxxx> wrote:
> >
> > The downside of this is teaching lockdep about this recursive locking. Not that
> > simple actually...
>
> Don't we just give each thread's lock its own lock class? That's what
> we did for the cgroup hierarchy_mutex.

Given that lock classes must be static and that lockdep only supports a limited
lock depth, this is an issue for processes having many threads.

>
> > so that such cases are currently handled using a higher-level
> > lock that prevents races in locking the whole chain (there was one such example
> > for locking all vmas with KVM). IIUC, the intent here is to avoid such
> > higher-level lock.
>
> cgroup_mutex already fulfills the role of the higher-level lock.

If so (that is, here cgroup_mutex is taken before write-locking all threads'
rw_sem), then enhancing rwsem's interface in a similar way to the
spin_lock_nest_lock() interface could do it. There will still be an issue with
many threads and lockdep limited lock depth though.

Added Peter in CC.

Louis

--
Dr Louis Rilling Kerlabs
Skype: louis.rilling Batiment Germanium
Phone: (+33|0) 6 80 89 08 23 80 avenue des Buttes de Coesmes
http://www.kerlabs.com/ 35700 Rennes

Attachment: signature.asc
Description: Digital signature