Messages in this thread | | | Date | Thu, 18 Oct 2018 11:05:45 +0200 | From | Peter Zijlstra <> | Subject | Re: [PATCH 1/2] locking/qspinlock_stat: Count instances of nested lock slowpaths |
| |
On Wed, Oct 17, 2018 at 05:06:46PM -0400, Waiman Long wrote: > 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.
Some netperf runs? Be sure to ask the network folks for 2 systems with at least 10GBe or something.
> 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,
network should be able to trigger a lot of softirq and hardirqs, which is why I wondered if it could hit significant 3 levels.
But yeah, I played around a bit, and couldn't get my index* numbers to move at all. I suppose we've gotten really good at avoiding lock contention for all the benchmarks we care about :-)
| |