Re: [PATCH v3 0/2] x86, apic, kdump: Disable BSP if boot cpu is AP

From: jerry . hoemann
Date: Mon Oct 21 2013 - 14:05:07 EST


On Wed, Oct 16, 2013 at 09:52:14PM +0900, HATAYAMA Daisuke wrote:
> This patch set is to allow kdump 2nd kernel to wake up multiple CPUs
> even if 1st kernel crashs on some AP.
>
> Sorry, this patch set have not include in-source documentation
> requested by Borislav Petkov yet, but I'll post it later separately,
> which would be better to focus on documentation reviewing.
>
> ChangeLog
>
> v2 => v3)
>
> - Change default value of boot_cpu_is_bsp to true.
>
> - Before executing rdmsr(MSR_IA32_APICBASE), check if the number of
> processor family is larger than or equal to 6 in order to avoid
> invalid opcode exception on processors where MSR_IA32_APICBASE is
> not supported.



Daisuke,

Thank you for doing this work.

I have back ported these changes to a 2.6.32 based kernel and have
tested with nr_cpus=8 and have not seen any problems. The system
without these patches wouldn't successfully boot the capture
kernel when nr_cpus > 1.

thanks

Jerry Hoemann


>
> v1 => v2)
>
> - Rebased on top of v3.12-rc5.
>
> - Fix linking time error of boot_cpu_is_bsp_init() in case of
> CONFIG_LOCAL_APIC disabled by adding empty static inline function
> instead.
>
> - Fix missing feature check by means of cpu_has_apic macro in
> boot_cpu_is_bsp_init() before calling rdmsr_safe(MSR_IA32_APICBASE).
>
> NOTE: I've checked local apic-present case only; I don't have any
> x86 processor without local apic.
>
> - Add __init annotation to boot_cpu_is_bsp_init().
>
> Test
>
> - built with and without CONFIG_LOCAL_APIC
> - tested x86_64 in case of acpi and MP table
>
> ---
>
> HATAYAMA Daisuke (2):
> x86, apic: Add boot_cpu_is_bsp() to check if boot cpu is BSP
> x86, apic: Disable BSP if boot cpu is AP
>
>
> arch/x86/include/asm/mpspec.h | 9 ++++++++-
> arch/x86/kernel/acpi/boot.c | 6 +++++-
> arch/x86/kernel/apic/apic.c | 35 ++++++++++++++++++++++++++++++++++-
> arch/x86/kernel/devicetree.c | 1 +
> arch/x86/kernel/mpparse.c | 15 +++++++++++++--
> arch/x86/kernel/setup.c | 2 ++
> arch/x86/platform/sfi/sfi.c | 2 +-
> 7 files changed, 64 insertions(+), 6 deletions(-)
>
> --
>
> Thanks.
> HATAYAMA, Daisuke
>
> _______________________________________________
> kexec mailing list
> kexec@xxxxxxxxxxxxxxxxxxx
> http://lists.infradead.org/mailman/listinfo/kexec

--

----------------------------------------------------------------------------
Jerry Hoemann Software Engineer Hewlett-Packard/MODL

3404 E Harmony Rd. MS 57 phone: (970) 898-1022
Ft. Collins, CO 80528 FAX: (970) 898-XXXX
email: jerry.hoemann@xxxxxx
----------------------------------------------------------------------------

--
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/