[libvirt PATCH 00/12] Add vmx-* features from qemu

Tim Wiederhake posted 12 patches 5 months, 2 weeks ago
Failed in applying to current master (apply log)
src/cpu_map/sync_qemu_features_i386.py        |   2 +-
src/cpu_map/x86_features.xml                  | 295 ++++++++++++++++++
.../x86_64-cpuid-Atom-P5362-enabled.xml       |   9 +
.../x86_64-cpuid-Atom-P5362-json.xml          |  70 +++++
.../x86_64-cpuid-Cooperlake-enabled.xml       |   9 +
.../x86_64-cpuid-Cooperlake-json.xml          |  71 +++++
.../x86_64-cpuid-Core-i7-8550U-enabled.xml    |   9 +
.../x86_64-cpuid-Core-i7-8550U-json.xml       |  68 ++++
...86_64-cpuid-Xeon-Platinum-9242-enabled.xml |   9 +
.../x86_64-cpuid-Xeon-Platinum-9242-json.xml  |  71 +++++
...-cpuid-baseline-Cooperlake+Cascadelake.xml |  71 +++++
.../domaincapsdata/qemu_4.2.0-q35.x86_64.xml  |  68 ++++
tests/domaincapsdata/qemu_4.2.0.x86_64.xml    |  68 ++++
.../domaincapsdata/qemu_5.0.0-q35.x86_64.xml  |  68 ++++
tests/domaincapsdata/qemu_5.0.0.x86_64.xml    |  68 ++++
.../domaincapsdata/qemu_8.2.0-q35.x86_64.xml  |   1 +
tests/domaincapsdata/qemu_8.2.0.x86_64.xml    |   1 +
.../cpu-host-model.x86_64-4.2.0.args          |   2 +-
.../cpu-host-model.x86_64-5.0.0.args          |   2 +-
.../cpu-host-model.x86_64-latest.args         |   2 +-
20 files changed, 960 insertions(+), 4 deletions(-)
[libvirt PATCH 00/12] Add vmx-* features from qemu
Posted by Tim Wiederhake 5 months, 2 weeks ago
For rationale, see patch 3 (cpu_map: No longer ignore vmx- features in
sync_qemu_features_i386.py).

Adding features in bunches (one patch per msr index), as this series
is adding ~100 features.

This also adds cpu features "gds-no" and "amx-complex" and brings
libvirt in sync with qemu commit ad6ef0a42e.

Tim Wiederhake (12):
  cpu_map: Add missing feature "gds-no"
  cpu_map: Add missing feature "amx-complex"
  cpu_map: No longer ignore vmx- features in sync_qemu_features_i386.py
  cpu_map: Add missing vmx features from MSR 0x480
  cpu_map: Add missing vmx features from MSR 0x485
  cpu_map: Add missing vmx features from MSR 0x48B
  cpu_map: Add missing vmx features from MSR 0x48C
  cpu_map: Add missing vmx features from MSR 0x48D
  cpu_map: Add missing vmx features from MSR 0x48E
  cpu_map: Add missing vmx features from MSR 0x48F
  cpu_map: Add missing vmx features from MSR 0x490
  cpu_map: Add missing vmx features from MSR 0x491

 src/cpu_map/sync_qemu_features_i386.py        |   2 +-
 src/cpu_map/x86_features.xml                  | 295 ++++++++++++++++++
 .../x86_64-cpuid-Atom-P5362-enabled.xml       |   9 +
 .../x86_64-cpuid-Atom-P5362-json.xml          |  70 +++++
 .../x86_64-cpuid-Cooperlake-enabled.xml       |   9 +
 .../x86_64-cpuid-Cooperlake-json.xml          |  71 +++++
 .../x86_64-cpuid-Core-i7-8550U-enabled.xml    |   9 +
 .../x86_64-cpuid-Core-i7-8550U-json.xml       |  68 ++++
 ...86_64-cpuid-Xeon-Platinum-9242-enabled.xml |   9 +
 .../x86_64-cpuid-Xeon-Platinum-9242-json.xml  |  71 +++++
 ...-cpuid-baseline-Cooperlake+Cascadelake.xml |  71 +++++
 .../domaincapsdata/qemu_4.2.0-q35.x86_64.xml  |  68 ++++
 tests/domaincapsdata/qemu_4.2.0.x86_64.xml    |  68 ++++
 .../domaincapsdata/qemu_5.0.0-q35.x86_64.xml  |  68 ++++
 tests/domaincapsdata/qemu_5.0.0.x86_64.xml    |  68 ++++
 .../domaincapsdata/qemu_8.2.0-q35.x86_64.xml  |   1 +
 tests/domaincapsdata/qemu_8.2.0.x86_64.xml    |   1 +
 .../cpu-host-model.x86_64-4.2.0.args          |   2 +-
 .../cpu-host-model.x86_64-5.0.0.args          |   2 +-
 .../cpu-host-model.x86_64-latest.args         |   2 +-
 20 files changed, 960 insertions(+), 4 deletions(-)

-- 
2.39.2
_______________________________________________
Devel mailing list -- devel@lists.libvirt.org
To unsubscribe send an email to devel-leave@lists.libvirt.org
Re: [libvirt PATCH 00/12] Add vmx-* features from qemu
Posted by Jiri Denemark 5 months, 1 week ago
On Thu, Nov 09, 2023 at 15:30:46 +0100, Tim Wiederhake wrote:
> For rationale, see patch 3 (cpu_map: No longer ignore vmx- features in
> sync_qemu_features_i386.py).
> 
> Adding features in bunches (one patch per msr index), as this series
> is adding ~100 features.
> 
> This also adds cpu features "gds-no" and "amx-complex" and brings
> libvirt in sync with qemu commit ad6ef0a42e.
> 
> Tim Wiederhake (12):
>   cpu_map: Add missing feature "gds-no"
>   cpu_map: Add missing feature "amx-complex"
>   cpu_map: No longer ignore vmx- features in sync_qemu_features_i386.py
>   cpu_map: Add missing vmx features from MSR 0x480
>   cpu_map: Add missing vmx features from MSR 0x485
>   cpu_map: Add missing vmx features from MSR 0x48B
>   cpu_map: Add missing vmx features from MSR 0x48C
>   cpu_map: Add missing vmx features from MSR 0x48D
>   cpu_map: Add missing vmx features from MSR 0x48E
>   cpu_map: Add missing vmx features from MSR 0x48F
>   cpu_map: Add missing vmx features from MSR 0x490
>   cpu_map: Add missing vmx features from MSR 0x491

I haven't really checked the values of each feature you're adding, but
all changes except for those in patch 3 are generated so I expect they
are correct :-)

Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
_______________________________________________
Devel mailing list -- devel@lists.libvirt.org
To unsubscribe send an email to devel-leave@lists.libvirt.org
Re: [libvirt PATCH 00/12] Add vmx-* features from qemu
Posted by Sergio Durigan Junior 3 months ago
On Wednesday, November 22 2023, Jiri Denemark wrote:

> On Thu, Nov 09, 2023 at 15:30:46 +0100, Tim Wiederhake wrote:
>> For rationale, see patch 3 (cpu_map: No longer ignore vmx- features in
>> sync_qemu_features_i386.py).
>> 
>> Adding features in bunches (one patch per msr index), as this series
>> is adding ~100 features.
>> 
>> This also adds cpu features "gds-no" and "amx-complex" and brings
>> libvirt in sync with qemu commit ad6ef0a42e.
>> 
>> Tim Wiederhake (12):
>>   cpu_map: Add missing feature "gds-no"
>>   cpu_map: Add missing feature "amx-complex"
>>   cpu_map: No longer ignore vmx- features in sync_qemu_features_i386.py
>>   cpu_map: Add missing vmx features from MSR 0x480
>>   cpu_map: Add missing vmx features from MSR 0x485
>>   cpu_map: Add missing vmx features from MSR 0x48B
>>   cpu_map: Add missing vmx features from MSR 0x48C
>>   cpu_map: Add missing vmx features from MSR 0x48D
>>   cpu_map: Add missing vmx features from MSR 0x48E
>>   cpu_map: Add missing vmx features from MSR 0x48F
>>   cpu_map: Add missing vmx features from MSR 0x490
>>   cpu_map: Add missing vmx features from MSR 0x491
>
> I haven't really checked the values of each feature you're adding, but
> all changes except for those in patch 3 are generated so I expect they
> are correct :-)

Hi there,

Apologies if this is a PEBCAK, but I'm noticing a strange behaviour when
testing live migrations from libvirt 9.6 to 9.10+ (including 10.0).
"virsh migrate --live ..." says:

--8<---------------cut here---------------start------------->8---
error: operation failed: guest CPU doesn't match specification: extra features: vmx-ins-outs,vmx-true-ctls,vmx-store-lma,vmx-activity-hlt,vmx-vmwrite-vmexit-fields,vmx-apicv-xapic,vmx-ept,vmx-desc-exit,vmx-rdtscp-exit,vmx-apicv-x2apic,vmx-vpid,vmx-wbinvd-exit,vmx-unrestricted-guest,vmx-apicv-register,vmx-apicv-vid,vmx-rdrand-exit,vmx-invpcid-exit,vmx-vmfunc,vmx-shadow-vmcs,vmx-invvpid,vmx-invvpid-single-addr,vmx-invvpid-all-context,vmx-ept-execonly,vmx-page-walk-4,vmx-ept-2mb,vmx-ept-1gb,vmx-invept,vmx-eptad,vmx-invept-single-context,vmx-invept-all-context,vmx-intr-exit,vmx-nmi-exit,vmx-vnmi,vmx-preemption-timer,vmx-posted-intr,vmx-vintr-pending,vmx-tsc-offset,vmx-hlt-exit,vmx-invlpg-exit,vmx-mwait-exit,vmx-rdpmc-exit,vmx-rdtsc-exit,vmx-cr3-load-noexit,vmx-cr3-store-noexit,vmx-cr8-load-exit,vmx-cr8-store-exit,vmx-flexpriority,vmx-vnmi-pending,vmx-movdr-exit,vmx-io-exit,vmx-io-bitmap,vmx-mtf,vmx-msr-bitmap,vmx-monitor-exit,vmx-pause-exit,vmx-secondary-ctls,vmx-exit-nosave-debugctl,vmx-exit-load-perf-global-ctrl,vmx-exit-ack-intr,vmx-exit-save-pat,vmx-exit-load-pat,vmx-exit-save-efer,vmx-exit-load-efer,vmx-exit-save-preemption-timer,vmx-entry-noload-debugctl,vmx-entry-ia32e-mode,vmx-entry-load-perf-global-ctrl,vmx-entry-load-pat,vmx-entry-load-efer,vmx-eptp-switching
--8<---------------cut here---------------end--------------->8---

Judging by the missing features it's complaining about, it seems to be
something related to what was discussed in this thread.

I could provide more details about the setup, although it's pretty
straightforward (create a VM under libvirt < 9.10 and try to live
migrate it to a system running libvirt >= 9.10).

Thanks,

-- 
Sergio
GPG key ID: E92F D0B3 6B14 F1F4 D8E0  EB2F 106D A1C8 C3CB BF14
_______________________________________________
Devel mailing list -- devel@lists.libvirt.org
To unsubscribe send an email to devel-leave@lists.libvirt.org
Re: [libvirt PATCH 00/12] Add vmx-* features from qemu
Posted by Sergio Durigan Junior 3 months ago
On Monday, January 22 2024, I wrote:

> On Wednesday, November 22 2023, Jiri Denemark wrote:
>
>> On Thu, Nov 09, 2023 at 15:30:46 +0100, Tim Wiederhake wrote:
>>> For rationale, see patch 3 (cpu_map: No longer ignore vmx- features in
>>> sync_qemu_features_i386.py).
>>> 
>>> Adding features in bunches (one patch per msr index), as this series
>>> is adding ~100 features.
>>> 
>>> This also adds cpu features "gds-no" and "amx-complex" and brings
>>> libvirt in sync with qemu commit ad6ef0a42e.
>>> 
>>> Tim Wiederhake (12):
>>>   cpu_map: Add missing feature "gds-no"
>>>   cpu_map: Add missing feature "amx-complex"
>>>   cpu_map: No longer ignore vmx- features in sync_qemu_features_i386.py
>>>   cpu_map: Add missing vmx features from MSR 0x480
>>>   cpu_map: Add missing vmx features from MSR 0x485
>>>   cpu_map: Add missing vmx features from MSR 0x48B
>>>   cpu_map: Add missing vmx features from MSR 0x48C
>>>   cpu_map: Add missing vmx features from MSR 0x48D
>>>   cpu_map: Add missing vmx features from MSR 0x48E
>>>   cpu_map: Add missing vmx features from MSR 0x48F
>>>   cpu_map: Add missing vmx features from MSR 0x490
>>>   cpu_map: Add missing vmx features from MSR 0x491
>>
>> I haven't really checked the values of each feature you're adding, but
>> all changes except for those in patch 3 are generated so I expect they
>> are correct :-)
>
> Hi there,
>
> Apologies if this is a PEBCAK, but I'm noticing a strange behaviour when
> testing live migrations from libvirt 9.6 to 9.10+ (including 10.0).
> "virsh migrate --live ..." says:
>
> error: operation failed: guest CPU doesn't match specification: extra features: vmx-ins-outs,vmx-true-ctls,vmx-store-lma,vmx-activity-hlt,vmx-vmwrite-vmexit-fields,vmx-apicv-xapic,vmx-ept,vmx-desc-exit,vmx-rdtscp-exit,vmx-apicv-x2apic,vmx-vpid,vmx-wbinvd-exit,vmx-unrestricted-guest,vmx-apicv-register,vmx-apicv-vid,vmx-rdrand-exit,vmx-invpcid-exit,vmx-vmfunc,vmx-shadow-vmcs,vmx-invvpid,vmx-invvpid-single-addr,vmx-invvpid-all-context,vmx-ept-execonly,vmx-page-walk-4,vmx-ept-2mb,vmx-ept-1gb,vmx-invept,vmx-eptad,vmx-invept-single-context,vmx-invept-all-context,vmx-intr-exit,vmx-nmi-exit,vmx-vnmi,vmx-preemption-timer,vmx-posted-intr,vmx-vintr-pending,vmx-tsc-offset,vmx-hlt-exit,vmx-invlpg-exit,vmx-mwait-exit,vmx-rdpmc-exit,vmx-rdtsc-exit,vmx-cr3-load-noexit,vmx-cr3-store-noexit,vmx-cr8-load-exit,vmx-cr8-store-exit,vmx-flexpriority,vmx-vnmi-pending,vmx-movdr-exit,vmx-io-exit,vmx-io-bitmap,vmx-mtf,vmx-msr-bitmap,vmx-monitor-exit,vmx-pause-exit,vmx-secondary-ctls,vmx-exit-nosave-debugctl,vmx-exit-load-perf-global-ctrl,vmx-exit-ack-intr,vmx-exit-save-pat,vmx-exit-load-pat,vmx-exit-save-efer,vmx-exit-load-efer,vmx-exit-save-preemption-timer,vmx-entry-noload-debugctl,vmx-entry-ia32e-mode,vmx-entry-load-perf-global-ctrl,vmx-entry-load-pat,vmx-entry-load-efer,vmx-eptp-switching
>
> Judging by the missing features it's complaining about, it seems to be
> something related to what was discussed in this thread.
>
> I could provide more details about the setup, although it's pretty
> straightforward (create a VM under libvirt < 9.10 and try to live
> migrate it to a system running libvirt >= 9.10).

Hi again,

Any news on this one?  If it is indeed a regression, it seems like an
important one.  While looking through the open issues on gitlab I
stumbled upon this one:

https://gitlab.com/libvirt/libvirt/-/issues/568

... which seems to describe the same problem.

Thanks,

-- 
Sergio
GPG key ID: E92F D0B3 6B14 F1F4 D8E0  EB2F 106D A1C8 C3CB BF14
_______________________________________________
Devel mailing list -- devel@lists.libvirt.org
To unsubscribe send an email to devel-leave@lists.libvirt.org
Re: [libvirt PATCH 00/12] Add vmx-* features from qemu
Posted by Jiri Denemark 1 month, 2 weeks ago
On Wed, Jan 24, 2024 at 22:19:56 -0500, Sergio Durigan Junior wrote:
> On Monday, January 22 2024, I wrote:
> 
> > On Wednesday, November 22 2023, Jiri Denemark wrote:
> >
> >> On Thu, Nov 09, 2023 at 15:30:46 +0100, Tim Wiederhake wrote:
> >>> For rationale, see patch 3 (cpu_map: No longer ignore vmx- features in
> >>> sync_qemu_features_i386.py).
> >>> 
> >>> Adding features in bunches (one patch per msr index), as this series
> >>> is adding ~100 features.
> >>> 
> >>> This also adds cpu features "gds-no" and "amx-complex" and brings
> >>> libvirt in sync with qemu commit ad6ef0a42e.
> >>> 
> >>> Tim Wiederhake (12):
> >>>   cpu_map: Add missing feature "gds-no"
> >>>   cpu_map: Add missing feature "amx-complex"
> >>>   cpu_map: No longer ignore vmx- features in sync_qemu_features_i386.py
> >>>   cpu_map: Add missing vmx features from MSR 0x480
> >>>   cpu_map: Add missing vmx features from MSR 0x485
> >>>   cpu_map: Add missing vmx features from MSR 0x48B
> >>>   cpu_map: Add missing vmx features from MSR 0x48C
> >>>   cpu_map: Add missing vmx features from MSR 0x48D
> >>>   cpu_map: Add missing vmx features from MSR 0x48E
> >>>   cpu_map: Add missing vmx features from MSR 0x48F
> >>>   cpu_map: Add missing vmx features from MSR 0x490
> >>>   cpu_map: Add missing vmx features from MSR 0x491
> >>
> >> I haven't really checked the values of each feature you're adding, but
> >> all changes except for those in patch 3 are generated so I expect they
> >> are correct :-)
> >
> > Hi there,
> >
> > Apologies if this is a PEBCAK, but I'm noticing a strange behaviour when
> > testing live migrations from libvirt 9.6 to 9.10+ (including 10.0).
> > "virsh migrate --live ..." says:
> >
> > error: operation failed: guest CPU doesn't match specification: extra features: vmx-ins-outs,vmx-true-ctls,vmx-store-lma,vmx-activity-hlt,vmx-vmwrite-vmexit-fields,vmx-apicv-xapic,vmx-ept,vmx-desc-exit,vmx-rdtscp-exit,vmx-apicv-x2apic,vmx-vpid,vmx-wbinvd-exit,vmx-unrestricted-guest,vmx-apicv-register,vmx-apicv-vid,vmx-rdrand-exit,vmx-invpcid-exit,vmx-vmfunc,vmx-shadow-vmcs,vmx-invvpid,vmx-invvpid-single-addr,vmx-invvpid-all-context,vmx-ept-execonly,vmx-page-walk-4,vmx-ept-2mb,vmx-ept-1gb,vmx-invept,vmx-eptad,vmx-invept-single-context,vmx-invept-all-context,vmx-intr-exit,vmx-nmi-exit,vmx-vnmi,vmx-preemption-timer,vmx-posted-intr,vmx-vintr-pending,vmx-tsc-offset,vmx-hlt-exit,vmx-invlpg-exit,vmx-mwait-exit,vmx-rdpmc-exit,vmx-rdtsc-exit,vmx-cr3-load-noexit,vmx-cr3-store-noexit,vmx-cr8-load-exit,vmx-cr8-store-exit,vmx-flexpriority,vmx-vnmi-pending,vmx-movdr-exit,vmx-io-exit,vmx-io-bitmap,vmx-mtf,vmx-msr-bitmap,vmx-monitor-exit,vmx-pause-exit,vmx-secondary-ctls,vmx-exit-nosave-debugctl,vmx-exit-load-perf-global-ctrl,vmx-exit-ack-intr,vmx-exit-save-pat,vmx-exit-load-pat,vmx-exit-save-efer,vmx-exit-load-efer,vmx-exit-save-preemption-timer,vmx-entry-noload-debugctl,vmx-entry-ia32e-mode,vmx-entry-load-perf-global-ctrl,vmx-entry-load-pat,vmx-entry-load-efer,vmx-eptp-switching
> >
> > Judging by the missing features it's complaining about, it seems to be
> > something related to what was discussed in this thread.
> >
> > I could provide more details about the setup, although it's pretty
> > straightforward (create a VM under libvirt < 9.10 and try to live
> > migrate it to a system running libvirt >= 9.10).
> 
> Hi again,
> 
> Any news on this one?  If it is indeed a regression, it seems like an
> important one.  While looking through the open issues on gitlab I
> stumbled upon this one:
> 
> https://gitlab.com/libvirt/libvirt/-/issues/568
> 
> ... which seems to describe the same problem.

Yes, it's the same issue. I've just sent patches that should fix this
regression for review: https://lists.libvirt.org/archives/list/devel@lists.libvirt.org/thread/ROAHSG43CLIZPPJV4ZL76VQYUAFXOXXE/

Sorry for the delay.

Jirka
_______________________________________________
Devel mailing list -- devel@lists.libvirt.org
To unsubscribe send an email to devel-leave@lists.libvirt.org
Re: [libvirt PATCH 00/12] Add vmx-* features from qemu
Posted by Sergio Durigan Junior 1 month, 2 weeks ago
On Tuesday, March 12 2024, Jiri Denemark wrote:

> On Wed, Jan 24, 2024 at 22:19:56 -0500, Sergio Durigan Junior wrote:
>> On Monday, January 22 2024, I wrote:
>> 
>> > On Wednesday, November 22 2023, Jiri Denemark wrote:
>> >
>> >> On Thu, Nov 09, 2023 at 15:30:46 +0100, Tim Wiederhake wrote:
>> >>> For rationale, see patch 3 (cpu_map: No longer ignore vmx- features in
>> >>> sync_qemu_features_i386.py).
>> >>> 
>> >>> Adding features in bunches (one patch per msr index), as this series
>> >>> is adding ~100 features.
>> >>> 
>> >>> This also adds cpu features "gds-no" and "amx-complex" and brings
>> >>> libvirt in sync with qemu commit ad6ef0a42e.
>> >>> 
>> >>> Tim Wiederhake (12):
>> >>>   cpu_map: Add missing feature "gds-no"
>> >>>   cpu_map: Add missing feature "amx-complex"
>> >>>   cpu_map: No longer ignore vmx- features in sync_qemu_features_i386.py
>> >>>   cpu_map: Add missing vmx features from MSR 0x480
>> >>>   cpu_map: Add missing vmx features from MSR 0x485
>> >>>   cpu_map: Add missing vmx features from MSR 0x48B
>> >>>   cpu_map: Add missing vmx features from MSR 0x48C
>> >>>   cpu_map: Add missing vmx features from MSR 0x48D
>> >>>   cpu_map: Add missing vmx features from MSR 0x48E
>> >>>   cpu_map: Add missing vmx features from MSR 0x48F
>> >>>   cpu_map: Add missing vmx features from MSR 0x490
>> >>>   cpu_map: Add missing vmx features from MSR 0x491
>> >>
>> >> I haven't really checked the values of each feature you're adding, but
>> >> all changes except for those in patch 3 are generated so I expect they
>> >> are correct :-)
>> >
>> > Hi there,
>> >
>> > Apologies if this is a PEBCAK, but I'm noticing a strange behaviour when
>> > testing live migrations from libvirt 9.6 to 9.10+ (including 10.0).
>> > "virsh migrate --live ..." says:
>> >
>> > error: operation failed: guest CPU doesn't match specification:
>> > extra features:
>> > vmx-ins-outs,vmx-true-ctls,vmx-store-lma,vmx-activity-hlt,vmx-vmwrite-vmexit-fields,vmx-apicv-xapic,vmx-ept,vmx-desc-exit,vmx-rdtscp-exit,vmx-apicv-x2apic,vmx-vpid,vmx-wbinvd-exit,vmx-unrestricted-guest,vmx-apicv-register,vmx-apicv-vid,vmx-rdrand-exit,vmx-invpcid-exit,vmx-vmfunc,vmx-shadow-vmcs,vmx-invvpid,vmx-invvpid-single-addr,vmx-invvpid-all-context,vmx-ept-execonly,vmx-page-walk-4,vmx-ept-2mb,vmx-ept-1gb,vmx-invept,vmx-eptad,vmx-invept-single-context,vmx-invept-all-context,vmx-intr-exit,vmx-nmi-exit,vmx-vnmi,vmx-preemption-timer,vmx-posted-intr,vmx-vintr-pending,vmx-tsc-offset,vmx-hlt-exit,vmx-invlpg-exit,vmx-mwait-exit,vmx-rdpmc-exit,vmx-rdtsc-exit,vmx-cr3-load-noexit,vmx-cr3-store-noexit,vmx-cr8-load-exit,vmx-cr8-store-exit,vmx-flexpriority,vmx-vnmi-pending,vmx-movdr-exit,vmx-io-exit,vmx-io-bitmap,vmx-mtf,vmx-msr-bitmap,vmx-monitor-exit,vmx-pause-exit,vmx-secondary-ctls,vmx-exit-nosave-debugctl,vmx-exit-load-perf-global-ctrl,vmx-exit-ack-intr,vmx-exit-save-pat,vmx-exit-load-pat,vmx-exit-save-efer,vmx-exit-load-efer,vmx-exit-save-preemption-timer,vmx-entry-noload-debugctl,vmx-entry-ia32e-mode,vmx-entry-load-perf-global-ctrl,vmx-entry-load-pat,vmx-entry-load-efer,vmx-eptp-switching
>> >
>> > Judging by the missing features it's complaining about, it seems to be
>> > something related to what was discussed in this thread.
>> >
>> > I could provide more details about the setup, although it's pretty
>> > straightforward (create a VM under libvirt < 9.10 and try to live
>> > migrate it to a system running libvirt >= 9.10).
>> 
>> Hi again,
>> 
>> Any news on this one?  If it is indeed a regression, it seems like an
>> important one.  While looking through the open issues on gitlab I
>> stumbled upon this one:
>> 
>> https://gitlab.com/libvirt/libvirt/-/issues/568
>> 
>> ... which seems to describe the same problem.
>
> Yes, it's the same issue. I've just sent patches that should fix this
> regression for review: https://lists.libvirt.org/archives/list/devel@lists.libvirt.org/thread/ROAHSG43CLIZPPJV4ZL76VQYUAFXOXXE/
>
> Sorry for the delay.

Thank you for the fix, Jiri.

I'll test the series locally and check if the issue is fixed on my end.

Thanks,

-- 
Sergio
GPG key ID: E92F D0B3 6B14 F1F4 D8E0  EB2F 106D A1C8 C3CB BF14
_______________________________________________
Devel mailing list -- devel@lists.libvirt.org
To unsubscribe send an email to devel-leave@lists.libvirt.org
Re: [libvirt PATCH 00/12] Add vmx-* features from qemu
Posted by Sergio Durigan Junior 1 month, 2 weeks ago
On Wednesday, March 13 2024, I wrote:

> On Tuesday, March 12 2024, Jiri Denemark wrote:
>
>> On Wed, Jan 24, 2024 at 22:19:56 -0500, Sergio Durigan Junior wrote:
>>> On Monday, January 22 2024, I wrote:
>>> 
>>> > On Wednesday, November 22 2023, Jiri Denemark wrote:
>>> >
>>> >> On Thu, Nov 09, 2023 at 15:30:46 +0100, Tim Wiederhake wrote:
>>> >>> For rationale, see patch 3 (cpu_map: No longer ignore vmx- features in
>>> >>> sync_qemu_features_i386.py).
>>> >>> 
>>> >>> Adding features in bunches (one patch per msr index), as this series
>>> >>> is adding ~100 features.
>>> >>> 
>>> >>> This also adds cpu features "gds-no" and "amx-complex" and brings
>>> >>> libvirt in sync with qemu commit ad6ef0a42e.
>>> >>> 
>>> >>> Tim Wiederhake (12):
>>> >>>   cpu_map: Add missing feature "gds-no"
>>> >>>   cpu_map: Add missing feature "amx-complex"
>>> >>>   cpu_map: No longer ignore vmx- features in sync_qemu_features_i386.py
>>> >>>   cpu_map: Add missing vmx features from MSR 0x480
>>> >>>   cpu_map: Add missing vmx features from MSR 0x485
>>> >>>   cpu_map: Add missing vmx features from MSR 0x48B
>>> >>>   cpu_map: Add missing vmx features from MSR 0x48C
>>> >>>   cpu_map: Add missing vmx features from MSR 0x48D
>>> >>>   cpu_map: Add missing vmx features from MSR 0x48E
>>> >>>   cpu_map: Add missing vmx features from MSR 0x48F
>>> >>>   cpu_map: Add missing vmx features from MSR 0x490
>>> >>>   cpu_map: Add missing vmx features from MSR 0x491
>>> >>
>>> >> I haven't really checked the values of each feature you're adding, but
>>> >> all changes except for those in patch 3 are generated so I expect they
>>> >> are correct :-)
>>> >
>>> > Hi there,
>>> >
>>> > Apologies if this is a PEBCAK, but I'm noticing a strange behaviour when
>>> > testing live migrations from libvirt 9.6 to 9.10+ (including 10.0).
>>> > "virsh migrate --live ..." says:
>>> >
>>> > error: operation failed: guest CPU doesn't match specification:
>>> > extra features:
>>> > vmx-ins-outs,vmx-true-ctls,vmx-store-lma,vmx-activity-hlt,vmx-vmwrite-vmexit-fields,vmx-apicv-xapic,vmx-ept,vmx-desc-exit,vmx-rdtscp-exit,vmx-apicv-x2apic,vmx-vpid,vmx-wbinvd-exit,vmx-unrestricted-guest,vmx-apicv-register,vmx-apicv-vid,vmx-rdrand-exit,vmx-invpcid-exit,vmx-vmfunc,vmx-shadow-vmcs,vmx-invvpid,vmx-invvpid-single-addr,vmx-invvpid-all-context,vmx-ept-execonly,vmx-page-walk-4,vmx-ept-2mb,vmx-ept-1gb,vmx-invept,vmx-eptad,vmx-invept-single-context,vmx-invept-all-context,vmx-intr-exit,vmx-nmi-exit,vmx-vnmi,vmx-preemption-timer,vmx-posted-intr,vmx-vintr-pending,vmx-tsc-offset,vmx-hlt-exit,vmx-invlpg-exit,vmx-mwait-exit,vmx-rdpmc-exit,vmx-rdtsc-exit,vmx-cr3-load-noexit,vmx-cr3-store-noexit,vmx-cr8-load-exit,vmx-cr8-store-exit,vmx-flexpriority,vmx-vnmi-pending,vmx-movdr-exit,vmx-io-exit,vmx-io-bitmap,vmx-mtf,vmx-msr-bitmap,vmx-monitor-exit,vmx-pause-exit,vmx-secondary-ctls,vmx-exit-nosave-debugctl,vmx-exit-load-perf-global-ctrl,vmx-exit-ack-intr,vmx-exit-save-pat,vmx-exit-load-pat,vmx-exit-save-efer,vmx-exit-load-efer,vmx-exit-save-preemption-timer,vmx-entry-noload-debugctl,vmx-entry-ia32e-mode,vmx-entry-load-perf-global-ctrl,vmx-entry-load-pat,vmx-entry-load-efer,vmx-eptp-switching
>>> >
>>> > Judging by the missing features it's complaining about, it seems to be
>>> > something related to what was discussed in this thread.
>>> >
>>> > I could provide more details about the setup, although it's pretty
>>> > straightforward (create a VM under libvirt < 9.10 and try to live
>>> > migrate it to a system running libvirt >= 9.10).
>>> 
>>> Hi again,
>>> 
>>> Any news on this one?  If it is indeed a regression, it seems like an
>>> important one.  While looking through the open issues on gitlab I
>>> stumbled upon this one:
>>> 
>>> https://gitlab.com/libvirt/libvirt/-/issues/568
>>> 
>>> ... which seems to describe the same problem.
>>
>> Yes, it's the same issue. I've just sent patches that should fix this
>> regression for review: https://lists.libvirt.org/archives/list/devel@lists.libvirt.org/thread/ROAHSG43CLIZPPJV4ZL76VQYUAFXOXXE/
>>
>> Sorry for the delay.
>
> Thank you for the fix, Jiri.
>
> I'll test the series locally and check if the issue is fixed on my end.

I tested the patchset and there seems to be a few vmx-* still missing
from the definition:

error: operation failed: guest CPU doesn't match specification: missing features: vmx-apicv-xapic,vmx-apicv-register,vmx-apicv-vid,vmx-vmfunc,vmx-posted-intr,vmx-eptp-switching

-- 
Sergio
GPG key ID: E92F D0B3 6B14 F1F4 D8E0  EB2F 106D A1C8 C3CB BF14
_______________________________________________
Devel mailing list -- devel@lists.libvirt.org
To unsubscribe send an email to devel-leave@lists.libvirt.org
Re: [libvirt PATCH 00/12] Add vmx-* features from qemu
Posted by Jiri Denemark 1 month, 1 week ago
On Thu, Mar 14, 2024 at 16:51:31 -0400, Sergio Durigan Junior wrote:
> On Wednesday, March 13 2024, I wrote:
> 
> > On Tuesday, March 12 2024, Jiri Denemark wrote:
> >
> >> On Wed, Jan 24, 2024 at 22:19:56 -0500, Sergio Durigan Junior wrote:
> >>> On Monday, January 22 2024, I wrote:
> >>> 
> >>> > On Wednesday, November 22 2023, Jiri Denemark wrote:
> >>> >
> >>> >> On Thu, Nov 09, 2023 at 15:30:46 +0100, Tim Wiederhake wrote:
> >>> >>> For rationale, see patch 3 (cpu_map: No longer ignore vmx- features in
> >>> >>> sync_qemu_features_i386.py).
> >>> >>> 
> >>> >>> Adding features in bunches (one patch per msr index), as this series
> >>> >>> is adding ~100 features.
> >>> >>> 
> >>> >>> This also adds cpu features "gds-no" and "amx-complex" and brings
> >>> >>> libvirt in sync with qemu commit ad6ef0a42e.
> >>> >>> 
> >>> >>> Tim Wiederhake (12):
> >>> >>>   cpu_map: Add missing feature "gds-no"
> >>> >>>   cpu_map: Add missing feature "amx-complex"
> >>> >>>   cpu_map: No longer ignore vmx- features in sync_qemu_features_i386.py
> >>> >>>   cpu_map: Add missing vmx features from MSR 0x480
> >>> >>>   cpu_map: Add missing vmx features from MSR 0x485
> >>> >>>   cpu_map: Add missing vmx features from MSR 0x48B
> >>> >>>   cpu_map: Add missing vmx features from MSR 0x48C
> >>> >>>   cpu_map: Add missing vmx features from MSR 0x48D
> >>> >>>   cpu_map: Add missing vmx features from MSR 0x48E
> >>> >>>   cpu_map: Add missing vmx features from MSR 0x48F
> >>> >>>   cpu_map: Add missing vmx features from MSR 0x490
> >>> >>>   cpu_map: Add missing vmx features from MSR 0x491
> >>> >>
> >>> >> I haven't really checked the values of each feature you're adding, but
> >>> >> all changes except for those in patch 3 are generated so I expect they
> >>> >> are correct :-)
> >>> >
> >>> > Hi there,
> >>> >
> >>> > Apologies if this is a PEBCAK, but I'm noticing a strange behaviour when
> >>> > testing live migrations from libvirt 9.6 to 9.10+ (including 10.0).
> >>> > "virsh migrate --live ..." says:
> >>> >
> >>> > error: operation failed: guest CPU doesn't match specification:
> >>> > extra features:
> >>> > vmx-ins-outs,vmx-true-ctls,vmx-store-lma,vmx-activity-hlt,vmx-vmwrite-vmexit-fields,vmx-apicv-xapic,vmx-ept,vmx-desc-exit,vmx-rdtscp-exit,vmx-apicv-x2apic,vmx-vpid,vmx-wbinvd-exit,vmx-unrestricted-guest,vmx-apicv-register,vmx-apicv-vid,vmx-rdrand-exit,vmx-invpcid-exit,vmx-vmfunc,vmx-shadow-vmcs,vmx-invvpid,vmx-invvpid-single-addr,vmx-invvpid-all-context,vmx-ept-execonly,vmx-page-walk-4,vmx-ept-2mb,vmx-ept-1gb,vmx-invept,vmx-eptad,vmx-invept-single-context,vmx-invept-all-context,vmx-intr-exit,vmx-nmi-exit,vmx-vnmi,vmx-preemption-timer,vmx-posted-intr,vmx-vintr-pending,vmx-tsc-offset,vmx-hlt-exit,vmx-invlpg-exit,vmx-mwait-exit,vmx-rdpmc-exit,vmx-rdtsc-exit,vmx-cr3-load-noexit,vmx-cr3-store-noexit,vmx-cr8-load-exit,vmx-cr8-store-exit,vmx-flexpriority,vmx-vnmi-pending,vmx-movdr-exit,vmx-io-exit,vmx-io-bitmap,vmx-mtf,vmx-msr-bitmap,vmx-monitor-exit,vmx-pause-exit,vmx-secondary-ctls,vmx-exit-nosave-debugctl,vmx-exit-load-perf-global-ctrl,vmx-exit-ack-intr,vmx-exit-save-pat,vmx-exit-load-pat,vmx-exit-save-efer,vmx-exit-load-efer,vmx-exit-save-preemption-timer,vmx-entry-noload-debugctl,vmx-entry-ia32e-mode,vmx-entry-load-perf-global-ctrl,vmx-entry-load-pat,vmx-entry-load-efer,vmx-eptp-switching
> >>> >
> >>> > Judging by the missing features it's complaining about, it seems to be
> >>> > something related to what was discussed in this thread.
> >>> >
> >>> > I could provide more details about the setup, although it's pretty
> >>> > straightforward (create a VM under libvirt < 9.10 and try to live
> >>> > migrate it to a system running libvirt >= 9.10).
> >>> 
> >>> Hi again,
> >>> 
> >>> Any news on this one?  If it is indeed a regression, it seems like an
> >>> important one.  While looking through the open issues on gitlab I
> >>> stumbled upon this one:
> >>> 
> >>> https://gitlab.com/libvirt/libvirt/-/issues/568
> >>> 
> >>> ... which seems to describe the same problem.
> >>
> >> Yes, it's the same issue. I've just sent patches that should fix this
> >> regression for review: https://lists.libvirt.org/archives/list/devel@lists.libvirt.org/thread/ROAHSG43CLIZPPJV4ZL76VQYUAFXOXXE/
> >>
> >> Sorry for the delay.
> >
> > Thank you for the fix, Jiri.
> >
> > I'll test the series locally and check if the issue is fixed on my end.
> 
> I tested the patchset and there seems to be a few vmx-* still missing
> from the definition:
> 
> error: operation failed: guest CPU doesn't match specification: missing features: vmx-apicv-xapic,vmx-apicv-register,vmx-apicv-vid,vmx-vmfunc,vmx-posted-intr,vmx-eptp-switching

This is impossible when migrating from < 9.10 to current master. It
means the listed features where enabled on the source, but the
destination cannot enable them. In which case, you definitely don't want
to proceed with migration as the guest could crash when it tries to use
the feature that is suddenly disabled. But libvirt < 9.10 didn't know
anything about vmx-* features and thus it cannot ask the destination to
enable them.

Jirka
_______________________________________________
Devel mailing list -- devel@lists.libvirt.org
To unsubscribe send an email to devel-leave@lists.libvirt.org