On Wed, 8 Oct 2014 10:03:36 +0100
Chris Wilson <ch...@chris-wilson.co.uk> wrote:

> and adding that back into the current build, e.g.
> 
> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
> index 3632743..48a8a69 100644
> --- a/arch/x86/Kconfig
> +++ b/arch/x86/Kconfig
> @@ -87,6 +87,7 @@ config X86
>         select HAVE_USER_RETURN_NOTIFIER
>         select ARCH_BINFMT_ELF_RANDOMIZE_PIE
>         select HAVE_ARCH_JUMP_LABEL
> +       select STOP_MACHINE
>         select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
>         select SPARSE_IRQ
>         select GENERIC_FIND_FIRST_BIT
> 
> fixes the regression.
> 

Looking closer at this, it seems most configs work by accident,
because they have MOD_UNLOAD and/or HOTPLUG_CPU enabled. I take it
you disabled both of those? stop_machine() is called from all kinds
of places and almost none of them make sure STOP_MACHINE is selected.

$ find -name Kconf\* | xargs grep STOP_MACHINE
./init/Kconfig:config STOP_MACHINE

All these places use stop_machine():

    mm/page_alloc.c, line 3886
    drivers/xen/manage.c, line 130
    drivers/char/hw_random/intel-rng.c, line 373
    arch/powerpc/mm/numa.c:
        line 1616
        line 1623 
    arch/powerpc/platforms/powernv/subcore.c, line 324
    arch/arm/kernel/kprobes.c, line 165
    arch/arm/kernel/patch.c:
        line 64
        line 71 
    arch/s390/kernel/jump_label.c, line 61
    arch/s390/kernel/kprobes.c:
        line 311
        line 320 
    arch/s390/kernel/time.c:
        line 820
        line 1590 
    arch/x86/kernel/cpu/mtrr/main.c, line 231
    arch/arm64/kernel/insn.c, line 181
    kernel/time/timekeeping.c, line 892
    kernel/trace/ftrace.c, line 2219
    kernel/module.c:
        line 770
        line 1861 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to