From: Nick Piggin <npiggin@suse.de>
To: Christoph Lameter <clameter@sgi.com>
Cc: Andi Kleen <andi@firstfloor.org>,
Linus Torvalds <torvalds@linux-foundation.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: queued spinlock code and results
Date: Wed, 11 Jul 2007 04:06:38 +0200 [thread overview]
Message-ID: <20070711020638.GB27475@wotan.suse.de> (raw)
In-Reply-To: <Pine.LNX.4.64.0707101348020.3055@schroedinger.engr.sgi.com>
On Tue, Jul 10, 2007 at 01:52:47PM -0700, Christoph Lameter wrote:
> On Sun, 8 Jul 2007, Andi Kleen wrote:
>
> > I would say the main drawback of switchable and queued locks
> > would be also that they require a larger spinlock_t thus increasing
> > cache usage
>
> Right. Zoran Radovic has shown that queued locks are inferior
> to other approaches. The best approach that he found in his research were
> the HBO locks that are somewhat more intelligent form of spinlocks.
>
> http://user.it.uu.se/~zoranr/
> http://www.it.uu.se/research/group/uart/projects/nucasynch/
>
> Paper on the issue with measurements:
> http://www.it.uu.se/research/publications/lic/2003-008/2003-008.pdf
OK, maybe I do have my terminology wrong -- we'll call them FIFO locks
or ticket locks. The point is not to improve performance of the contended
case (although they may have slightly better contended case characteristicds),
but to improve worst case latency and improve fairness.
BTW. some advanced congestion algorithms like HBO may find these ticket
locks useful because you can see immediately how many CPUs are contending
the lock, and spinners know how many CPUs are in front of them. That info
could be fed into the spin backoff scheme.
next prev parent reply other threads:[~2007-07-11 2:06 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-07-08 4:32 queued spinlock code and results Nick Piggin
2007-07-08 11:18 ` Andi Kleen
2007-07-08 10:40 ` Nick Piggin
2007-07-08 16:49 ` Linus Torvalds
2007-07-10 20:52 ` Christoph Lameter
2007-07-11 2:06 ` Nick Piggin [this message]
2007-07-11 2:26 ` Christoph Lameter
2007-07-11 4:51 ` Nick Piggin
2007-07-09 19:01 ` Davide Libenzi
2007-07-09 19:16 ` Davide Libenzi
2007-07-09 19:26 ` Linus Torvalds
2007-07-09 19:47 ` Davide Libenzi
2007-07-09 19:55 ` Linus Torvalds
2007-07-09 20:08 ` Linus Torvalds
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20070711020638.GB27475@wotan.suse.de \
--to=npiggin@suse.de \
--cc=andi@firstfloor.org \
--cc=clameter@sgi.com \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox