Re: [rfc][patch] queued spinlocks (i386)

From: Nikita Danilov
Date: Sat Mar 24 2007 - 11:55:35 EST


Nick Piggin writes:
> On Fri, Mar 23, 2007 at 11:04:18AM +0100, Ingo Molnar wrote:
> >
> > * Nick Piggin <npiggin@xxxxxxx> wrote:
> >
> > > Implement queued spinlocks for i386. [...]
> >
> > isnt this patented by MS? (which might not worry you SuSE/Novell guys,
> > but it might be a worry for the rest of the world ;-)
>
> Hmm, it looks like they have implemented a system where the spinning
> cpu sleeps on a per-CPU variable rather than the lock itself, and
> the releasing cpu writes to that variable to wake it. They do this
> so that spinners don't continually perform exclusive->shared
> transitions on the lock cacheline. They call these things queued
> spinlocks. They don't seem to be very patent worthy either, but

Indeed, this technique is very well known. E.g.,
http://citeseer.ist.psu.edu/anderson01sharedmemory.html has a whole
section (3. Local-spin Algorithms) on them, citing papers from the 1990
onward.

Nikita.

-
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/