diff options
Diffstat (limited to 'kernel/cpu.c')
-rw-r--r-- | kernel/cpu.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/kernel/cpu.c b/kernel/cpu.c index a21f71af9d81..6b3a0c15144f 100644 --- a/kernel/cpu.c +++ b/kernel/cpu.c | |||
@@ -98,7 +98,8 @@ static inline void check_for_tasks(int cpu) | |||
98 | !cputime_eq(p->stime, cputime_zero))) | 98 | !cputime_eq(p->stime, cputime_zero))) |
99 | printk(KERN_WARNING "Task %s (pid = %d) is on cpu %d\ | 99 | printk(KERN_WARNING "Task %s (pid = %d) is on cpu %d\ |
100 | (state = %ld, flags = %x) \n", | 100 | (state = %ld, flags = %x) \n", |
101 | p->comm, p->pid, cpu, p->state, p->flags); | 101 | p->comm, task_pid_nr(p), cpu, |
102 | p->state, p->flags); | ||
102 | } | 103 | } |
103 | write_unlock_irq(&tasklist_lock); | 104 | write_unlock_irq(&tasklist_lock); |
104 | } | 105 | } |
@@ -264,6 +265,15 @@ out_notify: | |||
264 | int __cpuinit cpu_up(unsigned int cpu) | 265 | int __cpuinit cpu_up(unsigned int cpu) |
265 | { | 266 | { |
266 | int err = 0; | 267 | int err = 0; |
268 | if (!cpu_isset(cpu, cpu_possible_map)) { | ||
269 | printk(KERN_ERR "can't online cpu %d because it is not " | ||
270 | "configured as may-hotadd at boot time\n", cpu); | ||
271 | #if defined(CONFIG_IA64) || defined(CONFIG_X86_64) || defined(CONFIG_S390) | ||
272 | printk(KERN_ERR "please check additional_cpus= boot " | ||
273 | "parameter\n"); | ||
274 | #endif | ||
275 | return -EINVAL; | ||
276 | } | ||
267 | 277 | ||
268 | mutex_lock(&cpu_add_remove_lock); | 278 | mutex_lock(&cpu_add_remove_lock); |
269 | if (cpu_hotplug_disabled) | 279 | if (cpu_hotplug_disabled) |