qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v5 05/18] atomics: add atomic_test_and_set_acqui


From: Paolo Bonzini
Subject: Re: [Qemu-devel] [PATCH v5 05/18] atomics: add atomic_test_and_set_acquire
Date: Tue, 17 May 2016 18:23:00 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.0


On 17/05/2016 18:15, Sergey Fedorov wrote:
> On 14/05/16 06:34, Emilio G. Cota wrote:
>> This new helper expands to __atomic_test_and_set with acquire semantics
>> where available; otherwise it expands to __sync_test_and_set, which
>> has acquire semantics.
> 
> Why don't also add atomic_clear_release() for completeness?

The previous patch adds atomic_set_release.

Paolo

> Kind regards,
> Sergey
> 
>>
>> Signed-off-by: Emilio G. Cota <address@hidden>
>> ---
>>  include/qemu/atomic.h | 3 +++
>>  1 file changed, 3 insertions(+)
>>
>> diff --git a/include/qemu/atomic.h b/include/qemu/atomic.h
>> index 5bc4d6c..6061a46 100644
>> --- a/include/qemu/atomic.h
>> +++ b/include/qemu/atomic.h
>> @@ -113,6 +113,7 @@
>>  } while(0)
>>  #endif
>>  
>> +#define atomic_test_and_set_acquire(ptr) __atomic_test_and_set(ptr, 
>> __ATOMIC_ACQUIRE)
>>  
>>  /* All the remaining operations are fully sequentially consistent */
>>  
>> @@ -327,6 +328,8 @@
>>  #endif
>>  #endif
>>  
>> +#define atomic_test_and_set_acquire(ptr) __sync_lock_test_and_set(ptr, true)
>> +
>>  /* Provide shorter names for GCC atomic builtins.  */
>>  #define atomic_fetch_inc(ptr)  __sync_fetch_and_add(ptr, 1)
>>  #define atomic_fetch_dec(ptr)  __sync_fetch_and_add(ptr, -1)
> 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]