On Tue, 2005-02-22 at 14:10 -0800, Linus Torvalds wrote: > Oh, well. The reason I hate the rwsem behaviour is exactly because it > results in this very subtle class of deadlocks. This one case is certainly > solvable several ways, but do we have other issues somewhere else? Things > like kobject might be ripe with things like this. The mm semaphore tends > to be pretty well-behaved - and I'm not sure the same is true of the > kobject one.
We could detect those tho. When the appropriate DEBUG option is set, by storing a cpumask in the semaphore we could detect if it's already taken on this cpu... > Normal recursive deadlocks are wonderful - most of them show up > immediately, so assuming you just have enough coverage, you're fine. This > fairness-related deadlock requires a race to happen. Unless you consider that taking the read semaphore twice on the same CPU is always a bug, thus the above stuff would work for catching them at least more often... > Maybe it would be sufficient to have a debugging version of rwsems that > just notice recursion? > > Linus -- Benjamin Herrenschmidt <[EMAIL PROTECTED]> - 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/