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

Re: [Xen-devel] [PATCH] x86: simplify non-atomic bitops



>>> On 11.02.15 at 16:14, <andrew.cooper3@xxxxxxxxxx> wrote:
> On 11/02/15 13:39, Jan Beulich wrote:
>> @@ -55,12 +54,9 @@ static inline void set_bit(int nr, volat
>>   * If it's called on the same region of memory simultaneously, the effect
>>   * may be that only one operation succeeds.
>>   */
>> -static inline void __set_bit(int nr, volatile void *addr)
>> +static inline void __set_bit(int nr, void *addr)
>>  {
>> -    asm volatile (
>> -        "btsl %1,%0"
>> -        : "=m" (ADDR)
>> -        : "Ir" (nr), "m" (ADDR) : "memory");
>> +    asm volatile ( "btsl %1,%0" : "+m" (ADDR) : "Ir" (nr) : "memory" );
> 
> You presumably want to s/ADDR/addr/ to avoid re-gaining the volatile
> attribute on the pointer?

I don't think it makes a difference, but yes, that would get things
into more consistent shape. Looking at it again the memory
operand could also legitimately be just an input, as we have a
memory clobber.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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