attilio fde84f320b 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
2010-01-09 01:46:38 +00:00
..
2005-01-18 20:54:50 +00:00
2005-11-24 09:25:10 +00:00
2005-11-18 10:56:28 +00:00
2006-12-13 06:27:20 +00:00
2006-02-13 21:34:19 +00:00
2005-01-21 08:36:40 +00:00
2005-01-06 17:08:51 +00:00
2009-10-16 12:32:07 +00:00
2005-01-21 08:36:40 +00:00
2008-04-29 08:16:05 +00:00
2008-03-07 17:02:34 +00:00
2005-02-13 22:25:33 +00:00
2006-12-14 14:33:13 +00:00
2005-10-05 19:48:21 +00:00
2005-01-13 09:33:06 +00:00
2009-01-03 10:37:38 +00:00
2006-09-12 15:48:22 +00:00
2005-11-18 10:56:28 +00:00
2006-09-30 17:09:59 +00:00
2005-02-13 22:25:33 +00:00
2009-02-22 13:38:16 +00:00
2005-08-08 12:16:53 +00:00
2009-09-18 14:05:56 +00:00
2005-01-21 08:36:40 +00:00
2005-01-21 08:36:40 +00:00
2005-02-16 22:24:15 +00:00
2005-01-21 08:36:40 +00:00
2007-01-27 23:06:00 +00:00
2009-09-18 00:33:47 +00:00
2009-01-08 21:29:40 +00:00
2005-02-13 22:25:33 +00:00
2008-03-25 15:44:49 +00:00
2008-01-12 21:07:03 +00:00
2006-09-18 15:24:20 +00:00
2005-01-21 08:36:40 +00:00
2005-01-12 21:48:25 +00:00
2008-02-15 23:56:33 +00:00
2006-09-18 15:24:20 +00:00
2005-01-12 21:48:25 +00:00
2005-01-21 08:36:40 +00:00
2006-04-03 21:17:36 +00:00
2008-11-05 15:07:42 +00:00
2004-11-18 02:06:17 +00:00
2008-12-15 06:10:57 +00:00
2008-12-15 07:51:59 +00:00
2009-05-17 21:28:37 +00:00
2005-02-09 18:07:17 +00:00
2007-10-30 16:04:23 +00:00
2006-12-14 14:33:13 +00:00
2004-11-29 09:56:12 +00:00
2008-02-26 20:11:37 +00:00
2008-02-26 20:25:01 +00:00
2005-01-14 17:22:51 +00:00
2006-12-14 14:33:13 +00:00
2006-02-13 21:34:19 +00:00
2008-02-26 20:13:08 +00:00
2008-02-26 20:13:08 +00:00
2008-02-26 20:13:08 +00:00
2007-03-28 21:21:22 +00:00