OSDN Git Service

x86, asm: Use CC_SET()/CC_OUT() in <asm/rwsem.h>
authorH. Peter Anvin <hpa@zytor.com>
Wed, 8 Jun 2016 19:38:44 +0000 (12:38 -0700)
committerH. Peter Anvin <hpa@linux.intel.com>
Wed, 8 Jun 2016 19:41:20 +0000 (12:41 -0700)
Remove open-coded uses of set instructions to use CC_SET()/CC_OUT() in
<asm/rwsem.h>.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Link: http://lkml.kernel.org/r/1465414726-197858-9-git-send-email-hpa@linux.intel.com
Reviewed-by: Andy Lutomirski <luto@kernel.org>
Reviewed-by: Borislav Petkov <bp@suse.de>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
arch/x86/include/asm/rwsem.h

index c508770..1e8be26 100644 (file)
@@ -149,10 +149,10 @@ static inline bool __down_write_trylock(struct rw_semaphore *sem)
                     LOCK_PREFIX "  cmpxchg  %2,%0\n\t"
                     "  jnz          1b\n\t"
                     "2:\n\t"
-                    "  sete         %3\n\t"
+                    CC_SET(e)
                     "# ending __down_write_trylock\n\t"
                     : "+m" (sem->count), "=&a" (tmp0), "=&r" (tmp1),
-                      "=qm" (result)
+                      CC_OUT(e) (result)
                     : "er" (RWSEM_ACTIVE_WRITE_BIAS)
                     : "memory", "cc");
        return result;