Messages in this thread | | | From | Nick Piggin <> | Subject | Re: [patch 2.6.24-rc2 1/3] generic gpio -- gpio_chip support | Date | Thu, 15 Nov 2007 05:51:53 +1100 |
| |
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 majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |