diff mbox

cpu/hotplug: remove unused check_for_tasks() function

Message ID 20170608085544.2257132-1-arnd@arndb.de
State Accepted
Commit 57de72125d34f83bfd39615fcc3cc25ca3b9c0ec
Headers show

Commit Message

Arnd Bergmann June 8, 2017, 8:55 a.m. UTC
clang -Wunused-function found one remaining function that was
apparently meant to be removed in a recent code cleanup:

kernel/cpu.c:565:20: warning: unused function 'check_for_tasks' [-Wunused-function]

Fixes: 530e9b76ae8f ("cpu/hotplug: Remove obsolete cpu hotplug register/unregister functions")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>

---
 kernel/cpu.c | 24 ------------------------
 1 file changed, 24 deletions(-)

-- 
2.9.0

Comments

Sebastian Andrzej Siewior June 8, 2017, 9:41 a.m. UTC | #1
On 2017-06-08 10:55:33 [+0200], Arnd Bergmann wrote:
> clang -Wunused-function found one remaining function that was

> apparently meant to be removed in a recent code cleanup:

> 

> kernel/cpu.c:565:20: warning: unused function 'check_for_tasks' [-Wunused-function]


Oh, so we lost the check while we were removing the DEAD notifier. The
teardown part of CPUHP_AP_SCHED_STARTING (which came before that check)
does migrate_tasks() => select_fallback_rq() for each task on the CPU
and will BUG() if it can't move a task away (except for kernel threads).
So I think it should be safe remove that function.
 
> Fixes: 530e9b76ae8f ("cpu/hotplug: Remove obsolete cpu hotplug register/unregister functions")

> Signed-off-by: Arnd Bergmann <arnd@arndb.de>


Sebastian
diff mbox

Patch

diff --git a/kernel/cpu.c b/kernel/cpu.c
index 7435ffc6163b..d0f5f54aa087 100644
--- a/kernel/cpu.c
+++ b/kernel/cpu.c
@@ -562,30 +562,6 @@  void clear_tasks_mm_cpumask(int cpu)
 	rcu_read_unlock();
 }
 
-static inline void check_for_tasks(int dead_cpu)
-{
-	struct task_struct *g, *p;
-
-	read_lock(&tasklist_lock);
-	for_each_process_thread(g, p) {
-		if (!p->on_rq)
-			continue;
-		/*
-		 * We do the check with unlocked task_rq(p)->lock.
-		 * Order the reading to do not warn about a task,
-		 * which was running on this cpu in the past, and
-		 * it's just been woken on another cpu.
-		 */
-		rmb();
-		if (task_cpu(p) != dead_cpu)
-			continue;
-
-		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);
-	}
-	read_unlock(&tasklist_lock);
-}
-
 /* Take this CPU down. */
 static int take_cpu_down(void *_param)
 {