[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <b3931b5a-1695-b273-132c-662f1c8c3a14@redhat.com>
Date: Wed, 17 Oct 2018 17:06:46 -0400
From: Waiman Long <longman@...hat.com>
To: Peter Zijlstra <peterz@...radead.org>
Cc: Ingo Molnar <mingo@...hat.com>, Will Deacon <will.deacon@....com>,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 1/2] locking/qspinlock_stat: Count instances of nested
lock slowpaths
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
Powered by blists - more mailing lists