On Thursday 15 November 2007 17:28, David Brownell wrote: > On Tuesday 13 November 2007, Nick Piggin wrote: > > > All this does is prevent constant and needless checking for > > > "do you want to preempt me now?" "now?" "now?" in "now?" the > > > middle "now?" of "now?" i/o "now?" loops. > > > > Actually that's wrong. > > Certainly it's right for the mainstream kernel. Dropping a > lock (other than a raw spinlock) does that checking; when a > loop needs to acquire then drop such a lock, that's exactly > what's going on.
Obviously a raw spinlock is no different from a regular spinlock upstream. > And in the RT kernel, it's got to do the same thing ... > because dropping that lock may mean that a higher priority > task should immediately run and grab the lock. No, it wakes up the highest priority waiter. If that wakeup causes a preemption, then that's fine, but it does not have to explicitly check preemption when dropping the lock. - 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/