Re: Synchronizing Bit operations V2

From: Nick Piggin <nickpiggin_at_yahoo.com.au>
Date: 2006-03-31 11:44:01
Christoph Lameter wrote:
> Changelog:
> 
> V2
> 	- Fix various oversights
> 	- Follow Hans Boehm's scheme for the barrier logic
> 
> The following patchset implements the ability to specify a
> synchronization mode for bit operations.
> 
> I.e. instead of set_bit(x,y) we can do set_bit(x,y, mode).
> 
> The following modes are supported:
> 

This has acquire and release, instead of the generic kernel
memory barriers rmb and wmb. As such, I don't think it would
get merged.

> Note that the current semantics for bitops IA64 are broken. Both
> smp_mb__after/before_clear_bit are now set to full memory barriers
> to compensate which may affect performance.

I think you should fight the fights you can win and get a 90%
solution ;) at any rate you do need to fix the existing routines
unless you plan to audit all callers...

First, fix up ia64 in 2.6-head, this means fixing test_and_set_bit
and friends, smp_mb__*_clear_bit, and all the atomic operations that
both modify and return a value.

Then add test_and_set_bit_lock / clear_bit_unlock, and apply them
to a couple of critical places like page lock and buffer lock.

Is this being planned?

-- 
SUSE Labs, Novell Inc.
Send instant messages to your online friends http://au.messenger.yahoo.com 

-
To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Received on Fri Mar 31 14:21:25 2006

This archive was generated by hypermail 2.1.8 : 2006-03-31 14:22:33 EST