aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/softlockup.c
diff options
context:
space:
mode:
authorAndi Kleen <andi@firstfloor.org>2008-08-29 14:06:23 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2008-08-29 17:46:29 -0400
commit316d9679f33caf7e683471647d1472bfe133d858 (patch)
tree46271cdd7405468fbc4e9abbaf65e01edd6ae0a3 /kernel/softlockup.c
parentb4609472116bb806a95e98d04767189406c74c70 (diff)
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/softlockup.c')
-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)
180 if (t->flags & PF_FROZEN) 180 if (t->flags & PF_FROZEN)
181 return; 181 return;
182 182
183 /* Don't check for tasks waiting on network file systems like NFS */
184 if (t->state & TASK_KILLABLE)
185 return;
186
183 if (switch_count != t->last_switch_count || !t->last_switch_timestamp) { 187 if (switch_count != t->last_switch_count || !t->last_switch_timestamp) {
184 t->last_switch_count = switch_count; 188 t->last_switch_count = switch_count;
185 t->last_switch_timestamp = now; 189 t->last_switch_timestamp = now;