|
[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
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |