Re: [PATCH] Revert "kernel/stop_machine.c: remove CONFIG_SMP dependencies"

From: Andrew Morton
Date: Fri Dec 18 2015 - 18:07:59 EST


On Fri, 18 Dec 2015 15:35:55 +0530 Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> 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.


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/