struct turnstile and sleep mutex

rookie asmrookie at
Thu Oct 13 02:05:29 PDT 2005

This would be a silly e-mail but I've not found too much material about that.
I was studing at struct turnstile code (kern/subr_turnstile.c,
sys/turnstile.h) and there's something is not too clear for me. In
particular why owner priority propagation is required in struct
turnstile objects? What it does cause?
Another question is about sleep mutex implementation; In the comments
inside the code I've seen "turnstiles are used to implement not
sleepable lock". So why sleep locks are sleeped through turnstiles?
They might not use condition variables/sleepqueues?

Peace can only be achieved by understanding - A. Einstein

More information about the freebsd-smp mailing list