Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
kernel: remove stop_machine() Kconfig dependency
Currently the full stop_machine() routine is only enabled on SMP if module unloading is enabled, or if the CPUs are hotpluggable. This leads to configurations where stop_machine() is broken as it will then only run the callback on the local CPU with irqs disabled, and not stop the other CPUs or run the callback on them. For example, this breaks MTRR setup on x86 in certain configs since ea8596b ("kprobes/x86: Remove unused text_poke_smp() and text_poke_smp_batch() functions") as the MTRR is only established on the boot CPU. This patch removes the Kconfig option for STOP_MACHINE and uses the SMP and HOTPLUG_CPU config options to compile the correct stop_machine() for the architecture, removing the false dependency on MODULE_UNLOAD in the process. Link: https://lkml.org/lkml/2014/10/8/124 References: https://bugs.freedesktop.org/show_bug.cgi?id=84794 Signed-off-by: Chris Wilson <[email protected]> Acked-by: Ingo Molnar <[email protected]> Cc: "Paul E. McKenney" <[email protected]> Cc: Pranith Kumar <[email protected]> Cc: Michal Hocko <[email protected]> Cc: Vladimir Davydov <[email protected]> Cc: Johannes Weiner <[email protected]> Cc: H. Peter Anvin <[email protected]> Cc: Tejun Heo <[email protected]> Cc: Iulia Manda <[email protected]> Cc: Andy Lutomirski <[email protected]> Cc: Rusty Russell <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Chuck Ebbert <[email protected]> Cc: Oleg Nesterov <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
- Loading branch information