Re: [PATCH tip/locking/core v9 4/6] locking/pvqspinlock: Collect slowpath lock statistics

From: Waiman Long
Date: Thu Nov 05 2015 - 11:59:29 EST


On 11/05/2015 11:43 AM, Peter Zijlstra wrote:
On Thu, Nov 05, 2015 at 11:29:29AM -0500, Waiman Long wrote:
On 11/02/2015 11:40 AM, Peter Zijlstra wrote:
On Fri, Oct 30, 2015 at 07:26:35PM -0400, Waiman Long wrote:
This patch enables the accumulation of kicking and waiting related
PV qspinlock statistics when the new QUEUED_LOCK_STAT configuration
option is selected. It also enables the collection of data which
enable us to calculate the kicking and wakeup latencies which have
a heavy dependency on the CPUs being used.

The statistical counters are per-cpu variables to minimize the
performance overhead in their updates. These counters are exported
via the sysfs filesystem under the /sys/kernel/qlockstat directory.
When the corresponding sysfs files are read, summation and computing
of the required data are then performed.
Why did you switch to sysfs? You can create custom debugfs files too.
I was not aware of that capability. So you mean using debugfs_create_file()
using custom file_operations. Right?
Yep.

That doesn't seem to be easier than
using sysfs. However, I can use that if you think it is better to use
debugfs.
Mostly I just wanted to point out that it was possible; you need not
change to sysfs because debugfs lacks the capability.

But now that you ask, I think debugfs might be the better place, such
statistics (and the proposed CONFIG symbol) are purely for debug
purposes, right?

Davidlohr had asked me to use per-cpu counters to reduce performance overhead so that they can be usable in production system. That is another reason why I move to sysfs.

BTW, do you have comments on the other patches in the series? I would like to collect all the comments before I renew the series.

Cheers,
Longman


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/