Don't trigger softlockup detector on network fs blocked tasks
authorAndi Kleen <andi@firstfloor.org>
Fri, 29 Aug 2008 18:06:23 +0000 (20:06 +0200)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 29 Aug 2008 21:46:29 +0000 (14:46 -0700)
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>
kernel/softlockup.c

index b75b492fbfcff63770bc099df2a7769fc1e26f09..1a07f8ca4b923e99c76824a1d585da26a0c53d7d 100644 (file)
@@ -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;