[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] Re: [RFC PATCH 02/33] Add sync bitops



On Tue, Jul 18, 2006 at 12:00:02AM -0700, Chris Wright wrote:

> Add "always lock'd" implementations of set_bit, clear_bit and
> change_bit and the corresponding test_and_ functions.  Also add
> "always lock'd" implementation of cmpxchg.  These give guaranteed
> strong synchronisation and are required for non-SMP kernels running on
> an SMP hypervisor.
> 
> Signed-off-by: Ian Pratt <ian.pratt@xxxxxxxxxxxxx>
> Signed-off-by: Christian Limpach <Christian.Limpach@xxxxxxxxxxxx>
> Signed-off-by: Chris Wright <chrisw@xxxxxxxxxxxx>
> Cc: Christoph Lameter <clameter@xxxxxxx>
> ---
>  include/asm-i386/synch_bitops.h |  166 
> ++++++++++++++++++++++++++++++++++++++++
>  include/asm-i386/system.h       |   33 +++++++
>  2 files changed, 199 insertions(+)
> 
> diff -r 935903fb1136 include/asm-i386/system.h
> --- a/include/asm-i386/system.h       Mon May 08 19:20:42 2006 -0400
> +++ b/include/asm-i386/system.h       Mon May 08 19:27:04 2006 -0400
> @@ -263,6 +263,9 @@ static inline unsigned long __xchg(unsig
>  #define cmpxchg(ptr,o,n)\
>       ((__typeof__(*(ptr)))__cmpxchg((ptr),(unsigned long)(o),\
>                                       (unsigned long)(n),sizeof(*(ptr))))
> +#define synch_cmpxchg(ptr,o,n)\
> +     ((__typeof__(*(ptr)))__synch_cmpxchg((ptr),(unsigned long)(o),\
> +                                     (unsigned long)(n),sizeof(*(ptr))))
>  #endif
>...

Do I miss anything, or is CONFIG_X86_XEN=y, CONFIG_M386=y an allowed 
configuration that will result in a compile error?

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.