Messages in this thread | | | Date | Wed, 21 May 2008 14:54:34 +0200 | From | Louis Rilling <> | Subject | Re: [RFC][PATCH 0/3] configfs: Make nested default groups lockdep-friendly |
| |
Peter Zijlstra a écrit : > On Wed, 2008-05-21 at 12:25 +0200, Louis Rilling wrote: > >>> http://programming.kicks-ass.net/kernel-patches/concurrent-pagecache/23-rc1-rt/radix-concurrent-lockdep.patch >> Thanks for pointing this out. >> >> Yes this could solve part of the issue, at the price of duplicating the >> inode mutex class. However, this still does not solve the issue when >> deleting config_groups, since in that case all nodes of the tree are >> locked. Thinking about adding lockdep support for concurrent locking of >> the direct children of a node in a tree... > > Why doesn't sysfs have this problem? - the code says configfs was > derived from sysfs.
Perhaps because sysfs is driven from the kernel, where behaviors can be controlled, while in configfs only userspace creates/removes directories.
> > Also, do you really need to hold all locks when removing something? > sound like a bit overdone. Also realise there is a maximum number of > held locks - various people have already requested it to be increased or > made dynamic. We're reluctant in doing so because we feel lock chains > should not be of unlimited length. The deeper the chains the bigger the > PI overhead etc..
I did not write configfs, so I can only observe that a whole inode tree is locked when removing a directory hierarchy. I suspect that this is intended to provide userspace and client sub-systems with some atomic semantics...
> > As to modifying lockdep - it currently doesn't know about trees and > teaching it about them isn't easy.
That was my guess.
-- 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 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |