Re: SMP syncronization on AMD processors (broken?)

From: Hugh Dickins
Date: Thu Oct 06 2005 - 10:34:59 EST


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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/