debug: softlockup looping fix
authorPeter Zijlstra <a.p.zijlstra@chello.nl>
Fri, 1 Feb 2008 23:23:08 +0000 (00:23 +0100)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 2 Feb 2008 03:27:45 +0000 (14:27 +1100)
commited50d6cbc394cd0966469d3e249353c9dd1d38b9
tree8df8f5d8b4ce057bf0df7ee2996603fdd18e0e7e
parentaa6299926950c8dfe2fea638276cad6def092bc9
debug: softlockup looping fix

Rafael J. Wysocki reported weird, multi-seconds delays during
suspend/resume and bisected it back to:

  commit 82a1fcb90287052aabfa235e7ffc693ea003fe69
  Author: Ingo Molnar <mingo@elte.hu>
  Date:   Fri Jan 25 21:08:02 2008 +0100

      softlockup: automatically detect hung TASK_UNINTERRUPTIBLE tasks

fix it:

 - restore the old wakeup mechanism
 - fix break usage in do_each_thread() { } while_each_thread().
 - fix the hotplug switch stmt, a fall-through case was broken.

Bisected-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Tested-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Acked-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
kernel/softlockup.c