[Spice-devel] [spice-protocol] Use gcc builtin rather than asm for memory barriers

Uri Lublin uril at redhat.com
Thu Jan 7 11:35:34 PST 2016


On 01/06/2016 12:26 PM, Christophe Fergeau wrote:
> This should make things more portable.

Hi Christophe,

This only works for building with (not too old) gcc.

It would be safer to check that in configure and
add a conditional here.

Thanks,
     Uri.

>
> https://bugs.freedesktop.org/show_bug.cgi?id=86997
> ---
>   spice/barrier.h | 7 +------
>   1 file changed, 1 insertion(+), 6 deletions(-)
>
> diff --git a/spice/barrier.h b/spice/barrier.h
> index 710da09..7d63721 100644
> --- a/spice/barrier.h
> +++ b/spice/barrier.h
> @@ -34,12 +34,7 @@
>
>   #ifdef __GNUC__
>
> -#ifdef __i386__
> -#define spice_mb() __asm__ __volatile__ ("lock; addl $0,0(%%esp)": : :"memory")
> -#else
> -//mfence
> -#define spice_mb() __asm__ __volatile__ ("lock; addl $0,0(%%rsp)": : :"memory")
> -#endif
> +#define spice_mb() __sync_synchronize ()
>
>   #else
>
>



More information about the Spice-devel mailing list