Date: Wed, 19 Mar 2008 07:22:07 +0000 (UTC) From: Jeff Roberson <jeff@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/kern subr_sleepqueue.c Message-ID: <200803190722.m2J7M8nQ089189@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
jeff 2008-03-19 07:22:07 UTC FreeBSD src repository Modified files: sys/kern subr_sleepqueue.c Log: - Add a facility similar to LOCK_PROFILING under SLEEPQUEUE_PROFILING. Keep a simple (wmesg, count) tuple in a hash to keep track of how many times we sleep at each wait message. We hash on message and not channel. No line number information is given as typically wait messages are not used in more than one place. Identical strings defined at different addresses will show up with seperate counters. - Use debug.sleepq.enable to enable, .reset to reset, and .stats dumps stats. - Do an unsynchronized check in sleepq_switch() prior to switching before calling sleepq_profile() which uses a global lock to synchronize the hash. Only sleeps which actually cause a context switch are counted. Revision Changes Path 1.49 +159 -1 src/sys/kern/subr_sleepqueue.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200803190722.m2J7M8nQ089189>