[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 3/4] apic: Use 32bit APIC ID for migration instance ID
From: |
Juan Quintela |
Subject: |
Re: [PATCH v2 3/4] apic: Use 32bit APIC ID for migration instance ID |
Date: |
Wed, 16 Oct 2019 10:44:51 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.2 (gnu/linux) |
Peter Xu <address@hidden> wrote:
> Migration is silently broken now with x2apic config like this:
>
> -smp 200,maxcpus=288,sockets=2,cores=72,threads=2 \
> -device intel-iommu,intremap=on,eim=on
>
> After migration, the guest kernel could hang at anything, due to
> x2apic bit not migrated correctly in IA32_APIC_BASE on some vcpus, so
> any operations related to x2apic could be broken then (e.g., RDMSR on
> x2apic MSRs could fail because KVM would think that the vcpu hasn't
> enabled x2apic at all).
>
> The issue is that the x2apic bit was never applied correctly for vcpus
> whose ID > 255 when migrate completes, and that's because when we
> migrate APIC we use the APICCommonState.id as instance ID of the
> migration stream, while that's too short for x2apic.
>
> Let's use the newly introduced initial_apic_id for that.
>
> Signed-off-by: Peter Xu <address@hidden>
Reviewed-by: Juan Quintela <address@hidden>
- [PATCH v2 0/4] apic: Fix migration breakage of >255 vcpus, Peter Xu, 2019/10/15
- [PATCH v2 1/4] migration: Define VMSTATE_INSTANCE_ID_ANY, Peter Xu, 2019/10/15
- [PATCH v2 2/4] migration: Change SaveStateEntry.instance_id into uint32_t, Peter Xu, 2019/10/15
- [PATCH v2 3/4] apic: Use 32bit APIC ID for migration instance ID, Peter Xu, 2019/10/15
- [PATCH v2 4/4] migration: Check in savevm_state_handler_insert for dups, Peter Xu, 2019/10/15
- Re: [PATCH v2 0/4] apic: Fix migration breakage of >255 vcpus, Eduardo Habkost, 2019/10/16
- Re: [PATCH v2 0/4] apic: Fix migration breakage of >255 vcpus, Peter Xu, 2019/10/23