]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Further improvements to LOCK_PROFILING:
authorKip Macy <kmacy@FreeBSD.org>
Tue, 27 Feb 2007 06:42:05 +0000 (06:42 +0000)
committerKip Macy <kmacy@FreeBSD.org>
Tue, 27 Feb 2007 06:42:05 +0000 (06:42 +0000)
commitf183910b97a54940f78db43341b3954ba8a2e32d
treec7228dd81a9d5cf5855323c889da39c667a4dd5a
parentfc5fe41fe974ad8eb03abb7a1afa6202e678ad7a
Further improvements to LOCK_PROFILING:
 - Fix missing initialization in kern_rwlock.c causing bogus times to be collected
 - Move updates to the lock hash to after the lock is released for spin mutexes,
   sleep mutexes, and sx locks
 - Add new kernel build option LOCK_PROFILE_FAST - only update lock profiling
   statistics when an acquisition is contended. This reduces the overhead of
   LOCK_PROFILING to increasing system time by 20%-25% which on
   "make -j8 kernel-toolchain" on a dual woodcrest is unmeasurable in terms
   of wall-clock time. Contrast this to enabling lock profiling without
   LOCK_PROFILE_FAST and I see a 5x-6x slowdown in wall-clock time.
sys/conf/options
sys/kern/kern_mutex.c
sys/kern/kern_rwlock.c
sys/kern/kern_sx.c
sys/sys/lock.h
sys/sys/lock_profile.h