On Mon, 03 Jan 2022 09:04:29 +0100 Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> wrote: > Paolo Bonzini <pbonzini@xxxxxxxxxx> writes: > > > On 12/27/21 18:32, Igor Mammedov wrote: > >>> Tweaked and queued nevertheless, thanks. > >> it seems this patch breaks VCPU hotplug, in scenario: > >> > >> 1. hotunplug existing VCPU (QEMU stores VCPU file descriptor in parked cpus list) > >> 2. hotplug it again (unsuspecting QEMU reuses stored file descriptor when recreating VCPU) > >> > >> RHBZ:https://bugzilla.redhat.com/show_bug.cgi?id=2028337#c11 > >> > > > > The fix here would be (in QEMU) to not call KVM_SET_CPUID2 again. > > However, we need to work around it in KVM, and allow KVM_SET_CPUID2 if > > the data passed to the ioctl is the same that was set before. > > Are we sure the data is going to be *exactly* the same? In particular, > when using vCPU fds from the parked list, do we keep the same > APIC/x2APIC id when hotplugging? Or can we actually hotplug with a > different id? If I recall it right, it can be a different ID easily.