Messages in this thread | | | From | Bandan Das <> | Subject | [PATCH v2 0/2] x86/apic: reset LDR in clear_local_APIC | Date | Mon, 26 Aug 2019 06:15:11 -0400 |
| |
v2: 1/2: clear out the bogus initialization in bigsmp_init_apic_ldr 2/2: reword commit message as suggested by Thomas v1 posted at https://lkml.org/lkml/2019/8/14/1
On a 32 bit RHEL6 guest with greater than 8 cpus, the kdump kernel hangs when calibrating apic. This happens because when apic initializes bigsmp, it also initializes LDR even though it probably wouldn't be used.
When booting into kdump, KVM apic incorrectly reads the stale LDR values from the guest while building the logical destination map even for inactive vcpus. While KVM apic can be fixed to ignore apics that haven't been enabled, a simple guest only change can be to just clear out the LDR.
Bandan Das (2): x86/apic: Do not initialize LDR and DFR for bigsmp x86/apic: include the LDR when clearing out apic registers
arch/x86/kernel/apic/apic.c | 4 ++++ arch/x86/kernel/apic/bigsmp_32.c | 24 ++---------------------- 2 files changed, 6 insertions(+), 22 deletions(-)
-- 2.20.1
| |