summaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorAndi Kleen <andi@firstfloor.org>2008-08-29 22:06:23 +0400
committerLinus Torvalds <torvalds@linux-foundation.org>2008-08-30 01:46:29 +0400
commit316d9679f33caf7e683471647d1472bfe133d858 (patch)
tree46271cdd7405468fbc4e9abbaf65e01edd6ae0a3 /kernel
parentb4609472116bb806a95e98d04767189406c74c70 (diff)
downloadlinux-316d9679f33caf7e683471647d1472bfe133d858.tar.xz
Don't trigger softlockup detector on network fs blocked tasks
Pulling the ethernet cable on a 2.6.27-rc system with NFS mounts currently leads to an ongoing flood of soft lockup detector backtraces for all tasks blocked on the NFS mounts when the hickup takes longer than 120s. I don't think NFS problems should be all that noisy. Luckily there's a reasonably easy way to distingush this case. Don't report task softlockup warnings for tasks in TASK_KILLABLE state, which is used by the network file systems. I believe this patch is a 2.6.27 candidate. Signed-off-by: Andi Kleen <ak@linux.intel.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/softlockup.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/kernel/softlockup.c b/kernel/softlockup.c
index b75b492fbfcf..1a07f8ca4b92 100644
--- a/kernel/softlockup.c
+++ b/kernel/softlockup.c
@@ -180,6 +180,10 @@ static void check_hung_task(struct task_struct *t, unsigned long now)
if (t->flags & PF_FROZEN)
return;
+ /* Don't check for tasks waiting on network file systems like NFS */
+ if (t->state & TASK_KILLABLE)
+ return;
+
if (switch_count != t->last_switch_count || !t->last_switch_timestamp) {
t->last_switch_count = switch_count;
t->last_switch_timestamp = now;