Messages in this thread | | | From | David Laight <> | Subject | RE: [PATCH v4 3/4] locking/qspinlock: Add ARCH_USE_QUEUED_SPINLOCKS_XCHG32 | Date | Tue, 30 Mar 2021 08:31:59 +0000 |
| |
From: Guo Ren > Sent: 30 March 2021 04:14 ... > > Step 1 would be to get your architecute fixed such that it can provide > > fwd progress guarantees for LL/SC. Otherwise there's absolutely no point > > in building complex systems with it. > > Quote Waiman's comment [1] on xchg16 optimization: > > "This optimization is needed to make the qspinlock achieve performance > parity with ticket spinlock at light load." > > [1] https://lore.kernel.org/kvm/1429901803-29771-6-git-send-email-Waiman.Long@hp.com/ > > So for a non-xhg16 machine: > - ticket-lock for small numbers of CPUs > - qspinlock for large numbers of CPUs > > Okay, I'll put all of them into the next patch :P
Doesn't that also imply that you need ticket-locks for lightly contended locks even with a lot of CPUs?
If you actually get a lot of CPUs waiting on the same spinlock you probably ought to change the code to reduce lock contention.
David
- Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK Registration No: 1397386 (Wales)
| |