On Sun, Oct 26, 2014 at 12:21:31AM +0200, Thomas Gleixner wrote: > On Sun, 26 Oct 2014, Thomas Gleixner wrote: > > On Thu, 23 Oct 2014, Chris Friesen wrote: > > > Does the RT kernel just disallow this sort of algorithm? > > > > Yes. For a good reason. Let's add thread C > > > > A B C > > down_read(X) > > down_write(X) > > lock(Y) > > modify data > > unlock(Y) > > wake(B) > > down_read(X) > > > > Due to the mainline rwsem fairness semantics: > > > > A holds X, C is blocked on A and B is blocked on A. > > > > Deadlock, without RT and the single reader restriction being involved. > > > > So RT does not violate ANY of the existing mainline semantics, it just > > imposes a performance impact of not allowing multiple readers. > > @peterz: It might be worthwhile to have a CONFIG_LOCKDEP=y dependent > mode which restricts concurrent readers to 1 in mainline to catch this > kind of stuff. Hmm? There were patches by ego that fix lockdep's read side tracking. I need to find a few spare days to look at those :/ -- To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html