All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] check_for_tasks: read_lock(tasklist_lock) doesn't need to disable irqs
@ 2015-09-10 13:07 Oleg Nesterov
  2015-09-10 13:31 ` Kirill Tkhai
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Oleg Nesterov @ 2015-09-10 13:07 UTC (permalink / raw)
  To: Ingo Molnar, Peter Zijlstra; +Cc: Kirill Tkhai, Srikar Dronamraju, linux-kernel

check_for_tasks() doesn't need to disable irqs, recursive read_lock()
from interrupt is fine.

While at it, s/do_each_thread/for_each_process_thread/.

Signed-off-by: Oleg Nesterov <oleg@redhat.com>
---
 kernel/cpu.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/kernel/cpu.c b/kernel/cpu.c
index 94bbe46..24551f2 100644
--- a/kernel/cpu.c
+++ b/kernel/cpu.c
@@ -302,8 +302,8 @@ static inline void check_for_tasks(int dead_cpu)
 {
 	struct task_struct *g, *p;
 
-	read_lock_irq(&tasklist_lock);
-	do_each_thread(g, p) {
+	read_lock(&tasklist_lock);
+	for_each_process_thread(g, p) {
 		if (!p->on_rq)
 			continue;
 		/*
@@ -318,8 +318,8 @@ static inline void check_for_tasks(int dead_cpu)
 
 		pr_warn("Task %s (pid=%d) is on cpu %d (state=%ld, flags=%x)\n",
 			p->comm, task_pid_nr(p), dead_cpu, p->state, p->flags);
-	} while_each_thread(g, p);
-	read_unlock_irq(&tasklist_lock);
+	}
+	read_unlock(&tasklist_lock);
 }
 
 struct take_cpu_down_param {
-- 
1.5.5.1



^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2015-09-13 10:58 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-09-10 13:07 [PATCH] check_for_tasks: read_lock(tasklist_lock) doesn't need to disable irqs Oleg Nesterov
2015-09-10 13:31 ` Kirill Tkhai
2015-09-11 10:24 ` Srikar Dronamraju
2015-09-13 10:56 ` [tip:sched/core] cpu/hotplug: Read_lock(tasklist_lock) doesn' t " tip-bot for Oleg Nesterov

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.