Messages in this thread | | | Subject | Re: [PATCH 0/2] locking/mutex: Enable optimistic spinning of lock waiter | From | Jason Low <> | Date | Tue, 09 Feb 2016 13:44:34 -0800 |
| |
On Tue, 2016-02-09 at 14:47 -0500, Waiman Long wrote: > This patchset is a variant of PeterZ's "locking/mutex: Avoid spinner > vs waiter starvation" patch. The major difference is that the > waiter-spinner won't enter into the OSQ used by the spinners. Instead, > it will spin directly on the lock in parallel with the queue head > of the OSQ. So there will be a bit more cacheline contention on the > lock cacheline, but that shouldn't cause noticeable impact on system > performance. > > This patchset tries to address 2 issues with Peter's patch: > > 1) Ding Tianhong still find that hanging task could happen in some cases. > 2) Jason Low found that there was performance regression for some AIM7 > workloads.
This might help address the hang that Ding reported.
Performance wise, this patchset reduced AIM7 fserver throughput on the 8 socket machine by -70%+ at 1000+ users.
| fserver JPM ----------------------------- baseline | ~450000 Peter's patch | ~410000 This patchset | ~100000
My guess is that waiters spinning/acquiring the lock is less efficient, and this patchset further increases the chance for waiters to spin/acquire the lock over the fastpath optimistic spinners.
Jason
| |