From: "Chen, Kenneth W" <kenneth.w.chen@intel.com>
To: 'Christoph Lameter' <clameter@sgi.com>
Cc: 'Nick Piggin' <nickpiggin@yahoo.com.au>,
Zoltan Menyhart <Zoltan.Menyhart@bull.net>,
"Boehm, Hans" <hans.boehm@hp.com>,
"Grundler, Grant G" <grant.grundler@hp.com>,
akpm@osdl.org, linux-kernel@vger.kernel.org,
linux-ia64@vger.kernel.org
Subject: RE: Synchronizing Bit operations V2
Date: Fri, 31 Mar 2006 21:24:35 +0000 [thread overview]
Message-ID: <200603312123.k2VLNqg06655@unix-os.sc.intel.com> (raw)
In-Reply-To: <Pine.LNX.4.64.0603311313530.8003@schroedinger.engr.sgi.com>
In-Reply-To: <Pine.LNX.4.64.0603301615540.2023@schroedinger.engr.sgi.com>
Christoph Lameter wrote on Friday, March 31, 2006 1:15 PM
> > > They are not. They provide equivalent barrier when performed
> > > before/after a clear_bit, there is a big difference.
> >
> > Just to give another blunt brutal example, what is said here is equivalent
> > to say kernel requires:
> >
> > <end of critical section>
> > smp_mb_before_spin_unlock
> > spin_unlock
> >
> > Because it is undesirable to have spin_unlock to leak into the critical
> > Section and allow critical section to leak after spin_unlock. This is
> > just plain brain dead.
>
> I think we could say that lock semantics are different from barriers. They
> are more like acquire and release on IA64. The problem with smb_mb_*** is
> that the coder *explicitly* requested a barrier operation and we do not
> give it to him.
I was browsing sparc64 code and it defines:
include/asm-sparc64/bitops.h:
#define smp_mb__after_clear_bit() membar_storeload_storestore()
With my very naïve knowledge of sparc64, it doesn't look like a full barrier.
Maybe sparc64 is broken too ...
next prev parent reply other threads:[~2006-03-31 21:24 UTC|newest]
Thread overview: 62+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-03-30 21:02 Bit operations with the ability to specify a synchronization mode Christoph Lameter
2006-03-31 0:18 ` Synchronizing Bit operations V2 Christoph Lameter
2006-03-31 0:39 ` Chen, Kenneth W
2006-03-31 0:42 ` Christoph Lameter
2006-03-31 0:45 ` Christoph Lameter
2006-03-31 0:42 ` David Mosberger-Tang
2006-03-31 0:49 ` Christoph Lameter
2006-03-31 6:10 ` Chris Wright
2006-03-31 0:44 ` Nick Piggin
2006-03-31 3:28 ` Christoph Lameter
2006-03-31 4:12 ` Nick Piggin
2006-03-31 17:43 ` Christoph Lameter
2006-04-01 2:56 ` Nick Piggin
2006-03-31 0:50 ` Chen, Kenneth W
2006-03-31 0:51 ` Christoph Lameter
2006-03-31 0:53 ` Chen, Kenneth W
2006-03-31 0:55 ` Christoph Lameter
2006-03-31 0:56 ` Luck, Tony
2006-03-31 0:58 ` Christoph Lameter
2006-04-02 7:59 ` Russell King
2006-03-31 0:59 ` Chen, Kenneth W
2006-03-31 1:09 ` Christoph Lameter
2006-03-31 1:04 ` Chen, Kenneth W
2006-03-31 1:13 ` Christoph Lameter
2006-03-31 1:13 ` Chen, Kenneth W
2006-03-31 1:29 ` Chen, Kenneth W
2006-03-31 1:37 ` Christoph Lameter
2006-03-31 1:33 ` linux
2006-03-31 1:40 ` Christoph Lameter
2006-03-31 2:35 ` Chen, Kenneth W
2006-03-31 2:37 ` Christoph Lameter
2006-03-31 2:45 ` Chen, Kenneth W
2006-03-31 2:53 ` Nick Piggin
2006-03-31 3:01 ` Christoph Lameter
2006-03-31 2:51 ` Chen, Kenneth W
2006-03-31 2:55 ` Christoph Lameter
2006-03-31 3:02 ` Chen, Kenneth W
2006-03-31 3:08 ` Christoph Lameter
2006-03-31 3:10 ` Chen, Kenneth W
2006-03-31 3:12 ` Christoph Lameter
2006-03-31 3:11 ` Chen, Kenneth W
2006-03-31 3:14 ` Chen, Kenneth W
2006-03-31 3:20 ` Christoph Lameter
2006-03-31 3:17 ` Chen, Kenneth W
2006-03-31 3:23 ` Chen, Kenneth W
2006-03-31 3:37 ` Chen, Kenneth W
2006-03-31 6:15 ` Chen, Kenneth W
2006-03-31 7:34 ` Nick Piggin
2006-03-31 13:28 ` Andi Kleen
2006-03-31 16:22 ` Hans Boehm
2006-03-31 16:37 ` Andi Kleen
2006-03-31 17:46 ` Christoph Lameter
2006-03-31 17:45 ` Christoph Lameter
2006-03-31 17:48 ` Andi Kleen
2006-03-31 17:56 ` Christoph Lameter
2006-04-02 7:54 ` Russell King
2006-03-31 18:57 ` Chen, Kenneth W
2006-03-31 19:41 ` Chen, Kenneth W
2006-03-31 21:15 ` Christoph Lameter
2006-03-31 21:24 ` Chen, Kenneth W [this message]
2006-03-31 21:28 ` Christoph Lameter
2006-04-01 2:16 ` Nick Piggin
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=200603312123.k2VLNqg06655@unix-os.sc.intel.com \
--to=kenneth.w.chen@intel.com \
--cc=Zoltan.Menyhart@bull.net \
--cc=akpm@osdl.org \
--cc=clameter@sgi.com \
--cc=grant.grundler@hp.com \
--cc=hans.boehm@hp.com \
--cc=linux-ia64@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=nickpiggin@yahoo.com.au \
/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