Messages in this thread | | | Date | Wed, 22 Jan 2020 10:22:38 +0100 | From | Peter Zijlstra <> | Subject | Re: [PATCH v7 3/5] locking/qspinlock: Introduce CNA into the slow path of qspinlock |
| |
On Tue, Jan 21, 2020 at 09:29:19PM +0100, Peter Zijlstra wrote: > @@ -92,8 +92,8 @@ static int __init cna_init_nodes(void) > } > early_initcall(cna_init_nodes); > > -static inline bool cna_try_change_tail(struct qspinlock *lock, u32 val, > - struct mcs_spinlock *node) > +static inline bool cna_try_clear_tail(struct qspinlock *lock, u32 val, > + struct mcs_spinlock *node) > { > struct mcs_spinlock *head_2nd, *tail_2nd; > u32 new;
Also, that whole function is placed wrong; it should be between cna_wait_head_or_lock() and cna_pass_lock(), then it's in the order they appear in the slow path, ie. the order they actually run.
| |