Messages in this thread | | | Date | Thu, 6 Oct 2005 16:34:04 +0100 (BST) | From | Hugh Dickins <> | Subject | Re: SMP syncronization on AMD processors (broken?) |
| |
On Thu, 6 Oct 2005, Linus Torvalds wrote: > > If you want to notify another CPU that you want the spinlock, then you > need to set the "flag" variable _outside_ of the spinlock. > > Spinlocks are not fair, not by a long shot. They never have been, and they > never will. Fairness would be extremely expensive indeed.
That reminds me: ought cond_resched_lock to be doing something more?
int cond_resched_lock(spinlock_t *lock) { int ret = 0;
if (need_lockbreak(lock)) { spin_unlock(lock); cpu_relax(); ret = 1; spin_lock(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/
| |