Le 10/11/2022 à 01:35, Jordan Niethe a écrit : > On Thu, 2022-07-28 at 16:31 +1000, Nicholas Piggin wrote: > <snip> >> -#define queued_spin_lock queued_spin_lock >> >> -static inline void queued_spin_unlock(struct qspinlock *lock) >> +static __always_inline int queued_spin_trylock(struct qspinlock *lock) >> { >> - if (!IS_ENABLED(CONFIG_PARAVIRT_SPINLOCKS) || !is_shared_processor()) >> - smp_store_release(&lock->locked, 0); >> - else >> - __pv_queued_spin_unlock(lock); >> + if (atomic_cmpxchg_acquire(&lock->val, 0, 1) == 0) >> + return 1; >> + return 0; > > optional style nit: return (atomic_cmpxchg_acquire(&lock->val, 0, 1) == 0);
No parenthesis. No == 0 Should be : return !atomic_cmpxchg_acquire(&lock->val, 0, 1); > > [resend as utf-8, not utf-7] >