On Thu Nov 10, 2022 at 10:35 AM AEST, Jordan Niethe wrote:
> 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);
>
> [resend as utf-8, not utf-7]

Thanks for the thorough review, apologies again it took me so long to
get back to.

I'm not completely sold on this. I guess it's already side-effects in a
control flow statement though... Maybe I will change it, not sure.

Thanks,
Nick

Reply via email to