Commit cbaed698 authored by Oleg Nesterov's avatar Oleg Nesterov Committed by Linus Torvalds

softlockup: minor cleanup, don't check task->state twice

The recent commit 16d9679f33caf7e683471647d1472bfe133d858 changed
check_hung_task() to filter out the TASK_KILLABLE tasks. We can
move this check to the caller which has to test t->state anyway.
Signed-off-by: default avatarOleg Nesterov <oleg@tv-sign.ru>
Acked-by: default avatarAndi Kleen <ak@linux.intel.com>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 6781f4ae
...@@ -180,10 +180,6 @@ static void check_hung_task(struct task_struct *t, unsigned long now) ...@@ -180,10 +180,6 @@ static void check_hung_task(struct task_struct *t, unsigned long now)
if (t->flags & PF_FROZEN) if (t->flags & PF_FROZEN)
return; 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) { if (switch_count != t->last_switch_count || !t->last_switch_timestamp) {
t->last_switch_count = switch_count; t->last_switch_count = switch_count;
t->last_switch_timestamp = now; t->last_switch_timestamp = now;
...@@ -237,7 +233,8 @@ static void check_hung_uninterruptible_tasks(int this_cpu) ...@@ -237,7 +233,8 @@ static void check_hung_uninterruptible_tasks(int this_cpu)
do_each_thread(g, t) { do_each_thread(g, t) {
if (!--max_count) if (!--max_count)
goto unlock; goto unlock;
if (t->state & TASK_UNINTERRUPTIBLE) /* use "==" to skip the TASK_KILLABLE tasks waiting on NFS */
if (t->state == TASK_UNINTERRUPTIBLE)
check_hung_task(t, now); check_hung_task(t, now);
} while_each_thread(g, t); } while_each_thread(g, t);
unlock: unlock:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment