From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: Nick Piggin <npiggin@suse.de>
Cc: linux-arch@vger.kernel.org, linuxppc-dev@ozlabs.org,
Ingo Molnar <mingo@elte.hu>,
paulus@samba.org
Subject: Re: [patch] mutex: optimise generic mutex implementations
Date: Tue, 14 Oct 2008 19:35:19 +1100 [thread overview]
Message-ID: <1223973319.8157.333.camel@pasglop> (raw)
In-Reply-To: <20081012054634.GA12535@wotan.suse.de>
On Sun, 2008-10-12 at 07:46 +0200, Nick Piggin wrote:
> Speed up generic mutex implementations.
>
> - atomic operations which both modify the variable and return something imply
> full smp memory barriers before and after the memory operations involved
> (failing atomic_cmpxchg, atomic_add_unless, etc don't imply a barrier because
> they don't modify the target). See Documentation/atomic_ops.txt.
> So remove extra barriers and branches.
>
> - All architectures support atomic_cmpxchg. This has no relation to
> __HAVE_ARCH_CMPXCHG. We can just take the atomic_cmpxchg path unconditionally
>
> This reduces a simple single threaded fastpath lock+unlock test from 590 cycles
> to 203 cycles on a ppc970 system.
>
> Signed-off-by: Nick Piggin <npiggin@suse.de>
Looks ok.
Cheers,
Ben.
WARNING: multiple messages have this Message-ID (diff)
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: Nick Piggin <npiggin@suse.de>
Cc: Ingo Molnar <mingo@elte.hu>,
linux-arch@vger.kernel.org, linuxppc-dev@ozlabs.org,
paulus@samba.org
Subject: Re: [patch] mutex: optimise generic mutex implementations
Date: Tue, 14 Oct 2008 19:35:19 +1100 [thread overview]
Message-ID: <1223973319.8157.333.camel@pasglop> (raw)
Message-ID: <20081014083519.BYgqxsQEacA8d5yHkYqkozJt47bIMIEvbCSHmrt5Tl8@z> (raw)
In-Reply-To: <20081012054634.GA12535@wotan.suse.de>
On Sun, 2008-10-12 at 07:46 +0200, Nick Piggin wrote:
> Speed up generic mutex implementations.
>
> - atomic operations which both modify the variable and return something imply
> full smp memory barriers before and after the memory operations involved
> (failing atomic_cmpxchg, atomic_add_unless, etc don't imply a barrier because
> they don't modify the target). See Documentation/atomic_ops.txt.
> So remove extra barriers and branches.
>
> - All architectures support atomic_cmpxchg. This has no relation to
> __HAVE_ARCH_CMPXCHG. We can just take the atomic_cmpxchg path unconditionally
>
> This reduces a simple single threaded fastpath lock+unlock test from 590 cycles
> to 203 cycles on a ppc970 system.
>
> Signed-off-by: Nick Piggin <npiggin@suse.de>
Looks ok.
Cheers,
Ben.
next prev parent reply other threads:[~2008-10-14 8:35 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-10-12 5:46 [patch] mutex: optimise generic mutex implementations Nick Piggin
2008-10-12 5:47 ` [patch] powerpc: implement optimised mutex fastpaths Nick Piggin
2008-10-13 1:18 ` Nick Piggin
2008-11-06 4:09 ` Paul Mackerras
2008-11-06 4:09 ` Paul Mackerras
2008-11-06 5:06 ` Nick Piggin
2008-11-06 5:06 ` Nick Piggin
2008-10-13 16:15 ` Scott Wood
2008-10-13 16:15 ` Scott Wood
2008-10-13 16:20 ` Scott Wood
2008-10-14 7:06 ` Nick Piggin
2008-10-14 8:35 ` Benjamin Herrenschmidt [this message]
2008-10-14 8:35 ` [patch] mutex: optimise generic mutex implementations Benjamin Herrenschmidt
2008-10-22 15:59 ` Ingo Molnar
2008-10-22 15:59 ` Ingo Molnar
2008-10-23 4:43 ` Benjamin Herrenschmidt
2008-10-23 4:43 ` Benjamin Herrenschmidt
2008-10-23 7:02 ` Nick Piggin
2008-10-23 7:02 ` Nick Piggin
2008-10-22 16:24 ` David Howells
2008-10-22 16:24 ` David Howells
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=1223973319.8157.333.camel@pasglop \
--to=benh@kernel.crashing.org \
--cc=linux-arch@vger.kernel.org \
--cc=linuxppc-dev@ozlabs.org \
--cc=mingo@elte.hu \
--cc=npiggin@suse.de \
--cc=paulus@samba.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.