projects
/
GitHub
/
LineageOS
/
android_kernel_motorola_exynos9610.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
5473e0c
)
cpu/hotplug: Read_lock(tasklist_lock) doesn't need to disable irqs
author
Oleg Nesterov
<oleg@redhat.com>
Thu, 10 Sep 2015 13:07:50 +0000
(15:07 +0200)
committer
Ingo Molnar
<mingo@kernel.org>
Sat, 12 Sep 2015 09:54:27 +0000
(11:54 +0200)
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>
Reviewed-by: Kirill Tkhai <ktkhai@odin.com>
Reviewed-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
Cc: Kirill Tkhai <ktkhai@parallels.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link:
http://lkml.kernel.org/r/20150910130750.GA20055@redhat.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
kernel/cpu.c
patch
|
blob
|
blame
|
history
diff --git
a/kernel/cpu.c
b/kernel/cpu.c
index 82cf9dff4295eaa82305fe04a43cecb0c8a4c27e..050c63472f03f7e357eb20ac4ef4e815a0155eae 100644
(file)
--- a/
kernel/cpu.c
+++ b/
kernel/cpu.c
@@
-304,8
+304,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;
/*
@@
-320,8
+320,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 {