Messages in this thread Patch in this message | | | Date | Fri, 18 Dec 2015 15:07:53 -0800 | From | Andrew Morton <> | Subject | Re: [PATCH] Revert "kernel/stop_machine.c: remove CONFIG_SMP dependencies" |
| |
On Fri, 18 Dec 2015 15:35:55 +0530 Sudip Mukherjee <sudipm.mukherjee@gmail.com> wrote:
> This reverts commit 64dab25b058c12f935794cb239089303bda7dbc1. > > CONFIG_SMP dependency is needed for some arch like tile, tilegx and > m32r. They use stop_machine() but they donot have HOTPLUG_CPU and as a > result their builds are failing with "undefined symbol 'stop_machine'".
Thanks. I had my &&'s and ||'s mixed up. I did this:
--- a/kernel/stop_machine.c~kernel-stop_machinec-remove-config_smp-dependencies-fix +++ a/kernel/stop_machine.c @@ -531,8 +531,6 @@ static int __init cpu_stop_init(void) } early_initcall(cpu_stop_init); -#ifdef CONFIG_HOTPLUG_CPU - static int __stop_machine(cpu_stop_fn_t fn, void *data, const struct cpumask *cpus) { struct multi_stop_data msdata = { @@ -630,5 +628,3 @@ int stop_machine_from_inactive_cpu(cpu_s mutex_unlock(&stop_cpus_mutex); return ret ?: done.ret; } - -#endif /* CONFIG_HOTPLUG_CPU */ _
Rationale:
stop_machine.o is only built when CONFIG_SMP=y so
#if defined(CONFIG_SMP) || defined(CONFIG_HOTPLUG_CPU) always evaluates to true, so remove it.
| |