sched: Set the command name of the idle tasks in SMP kernels
authorCarsten Emde <C.Emde@osadl.org>
Wed, 26 Oct 2011 21:14:16 +0000 (23:14 +0200)
committerIngo Molnar <mingo@elte.hu>
Mon, 14 Nov 2011 11:50:43 +0000 (12:50 +0100)
commitf1c6f1a7eed963ed233ba4c8b6fa8addb86c6ddc
tree06a00ecfe00ddadb282c88fb3408c158c08fd312
parent4a6184ce7a48c478dee0d8a9ed74c1fa35161858
sched: Set the command name of the idle tasks in SMP kernels

In UP systems, the idle task is initialized using the init_task
structure from which the command name is taken (currently "swapper").

In SMP systems, one idle task per CPU is forked by the worker thread
from which the task structure is copied. The command name is, therefore,
"kworker/0:0" or "kworker/0:1", if not updated. Since such update was
lacking, all idle tasks in SMP systems were incorrectly named. This
longtime bug was not discovered immediately, because there is no /proc/0
entry - the bug only becomes apparent when tracing is enabled.

This patch sets the command name of the idle tasks in SMP systems to the
name that is used in the INIT_TASK structure suffixed by a slash and the
number of the CPU.

Signed-off-by: Carsten Emde <C.Emde@osadl.org>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/20111026211708.768925506@osadl.org
Signed-off-by: Ingo Molnar <mingo@elte.hu>
include/linux/init_task.h
kernel/sched.c