summaryrefslogtreecommitdiffstats
path: root/sys/conf
diff options
context:
space:
mode:
authordes <des@FreeBSD.org>2002-04-02 00:01:49 +0000
committerdes <des@FreeBSD.org>2002-04-02 00:01:49 +0000
commitf6a3790f10b11d31fb0e40c5640411147785a19f (patch)
treef3650939557a173d5c86f2e4ec7e884cc5785c64 /sys/conf
parent3ad295d41646d81ef12f3b5e99af833ef91f660f (diff)
downloadFreeBSD-src-f6a3790f10b11d31fb0e40c5640411147785a19f.zip
FreeBSD-src-f6a3790f10b11d31fb0e40c5640411147785a19f.tar.gz
Mutex profiling code, conditional on the MUTEX_PROFILING option. Adds the
following sysctl variables: debug.mutex.prof.enable enable / disable profiling debug.mutex.prof.acquisitions number of mutex acquisitions recorded debug.mutex.prof.records number of acquisition points recorded debug.mutex.prof.maxrecords max number of acquisition points debug.mutex.prof.rejected number of rejections (due to full table) debug.mutex.prof.hashsize hash size debug.mutex.prof.collisions number of hash collisions debug.mutex.prof.stats profiling statistics The code records four numbers for each acquisition point (identified by source file name and line number): longest time held, total time held, number of non-recursive acquisitions, average time held. The measurements are in clock cycles (as returned by get_cyclecount(9)); this may cause measurements on some SMP systems to be unreliable. This can probably be worked around by replacing get_cyclecount(9) by some incarnation of nanotime(9). This work was derived from initial patches by eivind.
Diffstat (limited to 'sys/conf')
-rw-r--r--sys/conf/options3
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/conf/options b/sys/conf/options
index 3800955..2824aa8 100644
--- a/sys/conf/options
+++ b/sys/conf/options
@@ -519,3 +519,6 @@ ED_NO_MIIBUS opt_ed.h
# Polling device handling
DEVICE_POLLING opt_global.h
+
+# Mutex profiling
+MUTEX_PROFILING opt_global.h
OpenPOWER on IntegriCloud