qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* Issues with pdcm in qemu 10.1-rc on migration and save/restore
@ 2025-08-06 11:52 Christian Ehrhardt
  2025-08-06 12:00 ` Daniel P. Berrangé
  0 siblings, 1 reply; 24+ messages in thread
From: Christian Ehrhardt @ 2025-08-06 11:52 UTC (permalink / raw)
  To: qemu-devel

Hi,
I was unsure if this would be better sent to libvirt or qemu - the
issue is somewhere between libvirt modelling CPUs and qemu 10.1
behaving differently. I did not want to double post and gladly most of
the people are on both lists - since the switch in/out of the problem
is qemu 10.0 <-> 10.1 let me start here. I beg your pardon for not yet
having all the answers, I'm sure I could find more with debugging, but
I also wanted to report early for your awareness while we are still in
the RC phase.


# Problem

What I found when testing migrations in Ubuntu with qemu 10.1-rc1 was:
  error: operation failed: guest CPU doesn't match specification:
missing features: pdcm

This is behaving the same with libvirt 11.4 or the more recent 11.6.
But switching back to qemu 10.0 confirmed that this behavior is new
with qemu 10.1-rc.

To allow you to have a look I isolated it from the test automation and
simplified it to use save/restore which allows you to see it on just
one machine.


# Steps to reproduce

$ cat testguest.xml
<domain type='kvm'>
<name>testguest</name>
<memory unit='KiB'>524288</memory>
<currentMemory unit='KiB'>524288</currentMemory>
<os>
<type arch='x86_64' machine='pc-q35-10.0'>hvm</type>
</os>
<cpu mode='host-model' check='partial'/>
<devices>
<emulator>/usr/bin/qemu-system-x86_64</emulator>
</devices>
</domain>

$ virsh define testguest.xml
Domain 'testguest' defined from testguest.xml

$ virsh start testguest
Domain 'testguest' started

$ virsh managedsave testguest
Domain 'testguest' state saved by libvirt

$ virsh start testguest
error: Failed to start domain 'testguest'
error: operation failed: guest CPU doesn't match specification:
missing features: pdcm

Without yet having any hard evidence against them I found a few pdcm
related commits between 10.0 and 10.1-rc1:
  7ff24fb65 i386/tdx: Don't mask off CPUID_EXT_PDCM
  00268e000 i386/cpu: Warn about why CPUID_EXT_PDCM is not available
  e68ec2980 i386/cpu: Move adjustment of CPUID_EXT_PDCM before
feature_dependencies[] check
  0ba06e46d i386/tdx: Add TDX fixed1 bits to supported CPUIDs


# Caveat

My test environment is in LXD system containers, that gives me issues
in the power management detection
  libvirtd[406]: error from service: GDBus.Error:System.Error.EROFS:
Read-only file system
  libvirtd[406]: Failed to get host power management capabilities

And the resulting host-model on a  rather old test server will therefore have:
  <cpu mode='custom' match='exact' check='full'>
    <model fallback='forbid'>Haswell-noTSX-IBRS</model>
    <vendor>Intel</vendor>
    <feature policy='require' name='vmx'/>
    <feature policy='disable' name='pdcm'/>
     ...

But that was fine in the past, and the behavior started to break
save/restore or migrations just now with the new qemu 10.1-rc.


# Next steps

I'm soon overwhelmed by meetings for the rest of the day, but would be
curious if one has a suggestion about what to look at next for
debugging or a theory about what might go wrong. If nothing else comes
up I'll try to set up a bisect run tomorrow.

-- 
Christian Ehrhardt
Director of Engineering, Ubuntu Server
Canonical Ltd


^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2025-09-23 10:32 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-06 11:52 Issues with pdcm in qemu 10.1-rc on migration and save/restore Christian Ehrhardt
2025-08-06 12:00 ` Daniel P. Berrangé
2025-08-06 17:57   ` Christian Ehrhardt
2025-08-06 19:18     ` Daniel P. Berrangé
2025-08-07  3:38       ` Xiaoyao Li
2025-08-07  6:37         ` Christian Ehrhardt
2025-08-07  8:09           ` Xiaoyao Li
2025-08-10 13:07             ` Christian Ehrhardt
2025-08-19 14:51       ` Paolo Bonzini
2025-08-20  5:11         ` Christian Ehrhardt
2025-08-20  9:10           ` Christian Ehrhardt
2025-09-03  8:38           ` Christian Ehrhardt
2025-09-03 11:26             ` Hector Cao
2025-09-04 14:35             ` Hector Cao
2025-09-10 11:57               ` [RFC PATCH 0/2] Fix cross migration issue with missing features: pdcm, arch-capabilities Hector Cao
2025-09-10 11:57                 ` [PATCH 1/2] target/i386: add compatibility property for arch_capabilities Hector Cao
2025-09-16  8:12                   ` Daniel P. Berrangé
2025-09-16  8:28                     ` Hector Cao
2025-09-23  7:25                       ` Christian Ehrhardt
2025-09-10 11:57                 ` [PATCH 2/2] target/i386: add compatibility property for pdcm feature Hector Cao
2025-09-23  7:53                 ` [RFC PATCH 0/2] Fix cross migration issue with missing features: pdcm, arch-capabilities Paolo Bonzini
2025-09-23 10:08                   ` Hector Cao
2025-09-23 10:15                     ` Paolo Bonzini
2025-09-23 10:31                       ` Hector Cao

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).