Mandeep Singh Baines ce9dbe244b softlockup: check all tasks in hung_task
Impact: extend the scope of hung-task checks

Changed the default value of hung_task_check_count to PID_MAX_LIMIT.
hung_task_batch_count added to put an upper bound on the critical
section. Every hung_task_batch_count checks, the rcu lock is never
held for a too long time.

Keeping the critical section small minimizes time preemption is disabled
and keeps rcu grace periods small.

To prevent following a stale pointer, get_task_struct is called on g and t.
To verify that g and t have not been unhashed while outside the critical
section, the task states are checked.

The design was proposed by Frédéric Weisbecker.

Signed-off-by: Mandeep Singh Baines <msb@google.com>
Suggested-by: Frédéric Weisbecker <fweisbec@gmail.com>
Acked-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-02-05 19:54:57 +01:00
..
2009-01-09 03:39:43 -05:00
2009-01-12 16:39:58 -08:00
2009-01-08 08:31:10 -08:00
2009-01-06 15:59:27 -08:00
2008-12-10 08:01:54 -08:00
2008-10-20 15:43:10 +02:00
2009-01-08 08:31:02 -08:00
2009-01-08 08:31:12 -08:00
2009-01-06 11:07:15 +01:00
2008-11-05 10:30:14 +01:00
2008-11-19 18:49:57 -08:00
2008-12-31 15:11:46 +01:00
2008-10-16 11:21:47 -07:00