Messages in this thread | | | Date | Tue, 7 Jun 2011 22:47:21 +0800 | Subject | Re: [PATCH] sched: correct testing need_resched in mutex_spin_on_owner() | From | Hillf Danton <> |
| |
On Tue, Jun 7, 2011 at 10:40 PM, Peter Zijlstra <peterz@infradead.org> wrote: > On Tue, 2011-06-07 at 22:36 +0800, Hillf Danton wrote: > >> If you are right, the following comment also in __mutex_lock_common() >> >> for (;;) { >> struct task_struct *owner; >> >> /* >> * If there's an owner, wait for it to either >> * release the lock or go to sleep. >> */ >> owner = ACCESS_ONCE(lock->owner); >> if (owner && !mutex_spin_on_owner(lock, owner)) >> break; >> >> looks misleading too, but if owner is on this CPU, for what does we wait? > > huh, wtf!? it cannot be on this cpu, if it was we wouldn't be running > the above code but whatever owner was doing. > > So my argument was, it cannot be on this cpu, therefore, by checking it > is on a cpu, we check its on a different cpu. > > And I really don't see how any of that is related to the above. > Oh, it looks you are willing to rethink about testing need_resched?
thanks Hillf -- 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/
| |