From owner-cvs-src-old@FreeBSD.ORG Sat Jan 9 01:49:25 2010 Return-Path: Delivered-To: cvs-src-old@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6D8211065670 for ; Sat, 9 Jan 2010 01:49:25 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 3F31C8FC08 for ; Sat, 9 Jan 2010 01:49:25 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id o091nPCt068687 for ; Sat, 9 Jan 2010 01:49:25 GMT (envelope-from attilio@repoman.freebsd.org) Received: (from svn2cvs@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id o091nP19068686 for cvs-src-old@freebsd.org; Sat, 9 Jan 2010 01:49:25 GMT (envelope-from attilio@repoman.freebsd.org) Message-Id: <201001090149.o091nP19068686@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: svn2cvs set sender to attilio@repoman.freebsd.org using -f From: Attilio Rao Date: Sat, 9 Jan 2010 01:46:38 +0000 (UTC) To: cvs-src-old@freebsd.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src UPDATING src/share/man/man9 sleepqueue.9 src/sys/conf NOTES options src/sys/kern kern_clock.c subr_sleepqueue.c subr_turnstile.c src/sys/sys proc.h sleepqueue.h X-BeenThere: cvs-src-old@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: **OBSOLETE** CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 09 Jan 2010 01:49:25 -0000 attilio 2010-01-09 01:46:38 UTC FreeBSD src repository Modified files: . UPDATING share/man/man9 sleepqueue.9 sys/conf NOTES options sys/kern kern_clock.c subr_sleepqueue.c subr_turnstile.c sys/sys proc.h sleepqueue.h Log: SVN rev 201879 on 2010-01-09 01:46:38Z by attilio Introduce the new kernel thread called "deadlock resolver". While the name is pretentious, a good explanation of its targets is reported in this 17 months old presentation e-mail: http://lists.freebsd.org/pipermail/freebsd-arch/2008-August/008452.html In order to implement it, the sq_type in sleepqueues is mandatory and not only compiled along with INVARIANTS option. Additively, a new sleepqueue function, sleepq_type() is added, returning the type of the sleepqueue linked to a wchan. Three new sysctls are added in order to configure the thread: debug.deadlkres.slptime_threshold debug.deadlkres.blktime_threshold debug.deadlkres.sleepfreq rappresenting the thresholds for sleep and block time that will lead to a deadlock matching (when exceeded), while the sleepfreq rappresents the number of seconds between 2 consecutive thread runnings. In order to enable the deadlock resolver thread recompile your kernel with the option DEADLKRES. Reviewed by: jeff Tested by: pho, Giovanni Trematerra Sponsored by: Nokia Incorporated, Sandvine Incorporated MFC after: 2 weeks Revision Changes Path 1.651 +5 -0 src/UPDATING 1.20 +10 -1 src/share/man/man9/sleepqueue.9 1.1570 +5 -0 src/sys/conf/NOTES 1.699 +1 -0 src/sys/conf/options 1.212 +121 -1 src/sys/kern/kern_clock.c 1.66 +25 -3 src/sys/kern/subr_sleepqueue.c 1.177 +2 -0 src/sys/kern/subr_turnstile.c 1.543 +1 -0 src/sys/sys/proc.h 1.19 +1 -0 src/sys/sys/sleepqueue.h