On 10/17/2018 03:38 AM, Peter Zijlstra wrote: > On Tue, Oct 16, 2018 at 09:45:06AM -0400, Waiman Long wrote: >> Queued spinlock supports up to 4 levels of lock slowpath nesting - >> user context, soft IRQ, hard IRQ and NMI. However, we are not sure how >> often the nesting happens. So 3 more per-cpu stat counters are added >> to track the number of instances where nesting index goes to 1, 2 and >> 3 respectively. >> >> On a dual-socket 64-core 128-thread Zen server, the following were stat >> counter values under different circumstances. >> >> State slowpath index1 index2 index3 >> ----- -------- ------ ------ ------- >> After bootup 1,012,150 82 0 0 >> After parallel build + perf-top 125,195,009 82 0 0 > Would probably be good to check a network workload.
Do you have any suggestion of what network workload? I usually don't test on network related workload. The only way to have a nesting level of 3 is when there is lock contention in user context, soft IRQ and hard IRQ simultaneously which is very rare, I think. Native qspinlock has a pending path and so even a slightly contented lock will not cause entry into the slowpath. PV qspinlock doesn't have a pending path, so there may be a slightly higher chance of hitting that. Cheers, Longman

