On Tue, May 26, 2015 at 02:57:53PM -0700, Linus Torvalds wrote: > Because that is another example of a complete failure of a locking > primitive that was just too specialized to be worth it.
<notices stale include in fs/file_table.c and removes it> FWIW, I hadn't really looked into stop_machine uses, but fs/locks.c one is really not all that great - there we have a large trashcan of a list (every file_lock on the system) and the only use of that list is /proc/locks output generation. Sure, additions take this CPU's spinlock. And removals take pretty much a random one - losing the timeslice and regaining it on a different CPU is quite likely with the uses there. Why do we need a global lock there, anyway? Why not hold only one for the chain currently being traversed? Sure, we'll need to get and drop them in ->next() that way; so what? -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

