From: Nick Piggin <nickpiggin@yahoo.com.au>
To: Christoph Lameter <clameter@sgi.com>
Cc: Zoltan Menyhart <Zoltan.Menyhart@free.fr>,
"Chen, Kenneth W" <kenneth.w.chen@intel.com>,
akpm@osdl.org, linux-kernel@vger.kernel.org,
linux-ia64@vger.kernel.org
Subject: Re: Fix unlock_buffer() to work the same way as bit_unlock()
Date: Wed, 29 Mar 2006 11:07:38 +1100 [thread overview]
Message-ID: <4429CFCA.7010201@yahoo.com.au> (raw)
In-Reply-To: <Pine.LNX.4.64.0603281537500.15037@schroedinger.engr.sgi.com>
Christoph Lameter wrote:
>On Tue, 28 Mar 2006, Zoltan Menyhart wrote:
>
>
>>Why not to use separate bit operations for different purposes?
>>
>>- e.g. "test_and_set_bit_N_acquire()" for lock acquisition
>>- "test_and_set_bit()", "clear_bit()" as they are today
>>- "release_N_clear_bit()"...
>>
>>
>
>That would force IA64 specifics onto all other architectures.
>
>Could we simply define these smb_mb__*_clear_bit to be noops
>and then make the atomic bit ops to have full barriers? That would satisfy
>Nick's objections.
>
>
Well yes, I think the current operations should not be changed because
that would probably require large and difficult audits of the tree.
However, I think it might be reaonsable to use bit lock operations for
in places like page lock and buffer lock (ie. with acquire and relese
semantics). It improves ia64 without harming other architectures, and
also makes the code more expressive.
>Index: linux-2.6.16/include/asm-ia64/bitops.h
>===================================================================
>--- linux-2.6.16.orig/include/asm-ia64/bitops.h 2006-03-19 21:53:29.000000000 -0800
>+++ linux-2.6.16/include/asm-ia64/bitops.h 2006-03-28 15:45:08.000000000 -0800
>@@ -45,6 +45,7 @@
> old = *m;
> new = old | bit;
> } while (cmpxchg_acq(m, old, new) != old);
>+ smb_mb();
> }
>
>
Can this allow the actual bitop to move up past previous memory ops?
Would it be sufficient to just put a release barrier above the acquire
barrier?
--
Send instant messages to your online friends http://au.messenger.yahoo.com
next prev parent reply other threads:[~2006-03-29 2:18 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-03-28 3:59 Fix unlock_buffer() to work the same way as bit_unlock() Christoph Lameter
2006-03-28 8:10 ` Nick Piggin
2006-03-28 18:53 ` Chen, Kenneth W
2006-03-28 21:42 ` Zoltan Menyhart
2006-03-28 23:48 ` Christoph Lameter
2006-03-29 0:07 ` Nick Piggin [this message]
2006-03-29 2:23 ` Christoph Lameter
2006-03-29 2:35 ` Nick Piggin
2006-03-29 6:46 ` Chen, Kenneth W
2006-03-29 7:11 ` Christoph Lameter
2006-03-30 1:34 ` Nick Piggin
2006-03-29 0:12 ` Chen, Kenneth W
2006-03-29 0:27 ` Chen, Kenneth W
2006-03-29 0:47 ` Christoph Lameter
2006-03-29 1:39 ` Chen, Kenneth W
2006-03-29 12:16 ` Zoltan Menyhart
2006-03-30 1:56 ` Nick Piggin
2006-03-29 10:57 ` Zoltan Menyhart
2006-03-29 6:50 ` Chen, Kenneth W
2006-03-30 1:36 ` Nick Piggin
[not found] ` <442AA13B.3050104@bull.net>
2006-03-30 1:57 ` Nick Piggin
-- strict thread matches above, loose matches on Subject: below --
2006-03-29 18:33 Boehm, Hans
2006-03-29 19:11 ` Grant Grundler
2006-03-29 19:31 Boehm, Hans
2006-03-29 22:17 ` Christoph Lameter
2006-03-29 22:56 Boehm, Hans
2006-03-29 23:33 ` Christoph Lameter
2006-03-29 23:49 ` Chen, Kenneth W
2006-03-29 23:50 ` Christoph Lameter
2006-03-29 23:50 ` Grant Grundler
2006-03-30 8:43 ` Zoltan Menyhart
2006-03-30 8:55 ` Nick Piggin
2006-03-30 19:11 ` Christoph Lameter
2006-03-30 17:17 ` Christoph Lameter
2006-03-30 17:57 Boehm, Hans
2006-03-30 18:17 ` Christoph Lameter
2006-03-30 22:26 Boehm, Hans
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=4429CFCA.7010201@yahoo.com.au \
--to=nickpiggin@yahoo.com.au \
--cc=Zoltan.Menyhart@free.fr \
--cc=akpm@osdl.org \
--cc=clameter@sgi.com \
--cc=kenneth.w.chen@intel.com \
--cc=linux-ia64@vger.kernel.org \
--cc=linux-kernel@vger.kernel.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