[PATCH][RFC] Implement arch primitives for busywait loops
Aneesh Kumar K.V
aneesh.kumar at linux.vnet.ibm.com
Mon Sep 19 15:05:37 AEST 2016
> diff --git a/include/linux/bit_spinlock.h b/include/linux/bit_spinlock.h
> index 3b5bafc..695743c 100644
> --- a/include/linux/bit_spinlock.h
> +++ b/include/linux/bit_spinlock.h
> @@ -25,9 +25,8 @@ static inline void bit_spin_lock(int bitnum, unsigned long *addr)
> #if defined(CONFIG_SMP) || defined(CONFIG_DEBUG_SPINLOCK)
> while (unlikely(test_and_set_bit_lock(bitnum, addr))) {
> preempt_enable();
> - do {
> - cpu_relax();
> - } while (test_bit(bitnum, addr));
> + spin_do {
> + } spin_while (test_bit(bitnum, addr));
> preempt_disable();
> }
> #endif
That usage is strange, with nothing in the do{ }while loop. May be add a
macro for usages like this ?
-aneesh
More information about the Linuxppc-dev
mailing list