all lists on lists.proxmox.com
 help / color / mirror / Atom feed
From: Arthur Bied-Charreton <a.bied-charreton@proxmox.com>
To: Fiona Ebner <f.ebner@proxmox.com>
Cc: pve-devel@lists.proxmox.com
Subject: Re: [PATCH docs/manager/qemu-server v4 00/17] Add API and UI for custom CPU models
Date: Tue, 12 May 2026 11:00:40 +0200	[thread overview]
Message-ID: <qoce2z3kmqemje2b4huz37l7soutibmmjgef5mb6lt5kaenape@eb7gc4tzqxiu> (raw)
In-Reply-To: <e675469a-e020-4117-b349-ce41c3f01395@proxmox.com>

On Tue, May 12, 2026 at 10:50:48AM +0200, Fiona Ebner wrote:
> Am 12.05.26 um 10:09 AM schrieb Arthur Bied-Charreton:
> > On Mon, May 11, 2026 at 12:42:02PM +0200, Fiona Ebner wrote:
> >> I found a pre-existing bug in query_supported_cpu_flags() that we should
> >> fix. Namely the following replacement is wrong in general:
> >>
> >>>             foreach my $prop (keys %$props) {
> >>>                 next if $props->{$prop} ne '1';
> 
> Oh, and we should compare against JSON::true here, since the CPU model
> expansion also contains numeric, non-flag properties. While none of them
> are 1 on my machine, not sure if that's the case everywhere and it's
> rather for future-proofing.
> 
yes, will change that as well, thanks for catching that
> >>>                 # QEMU returns some flags multiple times, with '_', '.' or '-'
> >>>                 # (e.g. lahf_lm and lahf-lm; sse4.2, sse4-2 and sse4_2; ...).
> >>>                 # We only keep those with underscores, to match /proc/cpuinfo
> >>>                 $prop =~ s/\.|-/_/g;
> >>>                 $flags->{$prop} = 1;
> >>>             }
> >>
> >> In particular, flags like 'virt-ssbd' or 'amd-ssbd' or 'amd-no-ssb' are
> >> not present multiple times, but only in their exact form. Because of the
> >> replacement, we only consider e.g. 'virt_ssbd' and then mistakenly
> >> detect the flags as not supported on any node.
> >>
> >> Let's just make an explicit map of what is actually duplicate and not do
> >> such general replacement here.
> > 
> > After looking a little more into it I think we should also apply the
> > same logic to the recognized CPU flags, or normalize the flags in 
> > query_supported_cpu_flags() to match the `qemu-system-$arch -cpu help`
> > output rather than /proc/cpuinfo, since that is the source we use?
> > 
> > For example, /proc/cpuinfo writes the sse4.2 flag as sse4_2, while
> > `qemu-system-$arch -cpu help` writes it as sse4.2, so normalizing it to
> > sse4_2 in query_supported_cpu_flags() means it does not match anything
> > in the output of query_understood_cpu_flags(). QEMU accepts both
> > versions.
> > 
> > Is there a reason why we need to match /proc/cpuinfo specifically that
> > I am overlooking, or is it just about having a consistent output for CPU
> > flags in general? 
> 
> Yes, I too suppose it was done with the expectation to somehow
> incorporate information from /proc/cpuinfo, but we don't need that.
> Let's align the flags with their proper, unaliased names in QEMU. See
> the x86_cpu_initfn() in target/i386/cpu.c for the list of aliases. We
thanks, that's very helpful!
> can just skip the aliases when iterating the result from the queried CPU
> model expansion here. Of course, a code comment that QEMU uses a
> different form from /proc/cpuinfo for some flags would be good.
ack, will do - thanks!




  reply	other threads:[~2026-05-12  9:00 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-04-30 16:00 [PATCH docs/manager/qemu-server v4 00/17] Add API and UI for custom CPU models Arthur Bied-Charreton
2026-04-30 16:00 ` [PATCH pve-docs v4 01/17] qm: add anchor to "CPU Type" section Arthur Bied-Charreton
2026-05-07 10:34   ` Fiona Ebner
2026-04-30 16:00 ` [PATCH qemu-server v4 02/17] cpu config: rename CPU models config path variable Arthur Bied-Charreton
2026-05-07 10:57   ` Fiona Ebner
2026-04-30 16:00 ` [PATCH qemu-server v4 03/17] cpu flags: move cpu flags-related utilities to their own module Arthur Bied-Charreton
2026-05-07 11:15   ` Fiona Ebner
2026-04-30 16:00 ` [PATCH qemu-server v4 04/17] cpu flags: add helper querying CPU flags with nodes supporting them Arthur Bied-Charreton
2026-05-07 11:57   ` Fiona Ebner
2026-04-30 16:00 ` [PATCH qemu-server v4 05/17] cpu config: add helpers to lock and write config Arthur Bied-Charreton
2026-05-07 12:06   ` Fiona Ebner
2026-04-30 16:00 ` [PATCH qemu-server v4 06/17] cpu: register standard option for CPU format Arthur Bied-Charreton
2026-05-07 12:11   ` Fiona Ebner
2026-05-07 14:01     ` Arthur Bied-Charreton
2026-05-07 14:08       ` Fiona Ebner
2026-05-08  6:40         ` Arthur Bied-Charreton
2026-04-30 16:00 ` [PATCH qemu-server v4 07/17] cpu config: set 'type' field before writing Arthur Bied-Charreton
2026-05-07 12:24   ` Fiona Ebner
2026-05-08  7:48     ` Arthur Bied-Charreton
2026-04-30 16:01 ` [PATCH qemu-server v4 08/17] cpu flags: improve flags list returned by endpoint Arthur Bied-Charreton
2026-05-07 13:10   ` Fiona Ebner
2026-04-30 16:01 ` [PATCH pve-manager v4 09/17] api: add endpoint querying available CPU flags cluster-wide Arthur Bied-Charreton
2026-05-07 13:29   ` Fiona Ebner
2026-04-30 16:01 ` [PATCH pve-manager v4 10/17] api: add CRUD handlers for custom CPU models Arthur Bied-Charreton
2026-05-07 14:02   ` Fiona Ebner
2026-04-30 16:01 ` [PATCH pve-manager v4 11/17] ui: cpu model selector: allow filtering out custom models Arthur Bied-Charreton
2026-05-11  8:53   ` Fiona Ebner
2026-04-30 16:01 ` [PATCH pve-manager v4 12/17] ui: add basic custom CPU model editor Arthur Bied-Charreton
2026-05-11  9:27   ` Fiona Ebner
2026-05-11 13:52     ` Arthur Bied-Charreton
2026-04-30 16:01 ` [PATCH pve-manager v4 13/17] ui: cpu flags selector: add CPU flag editor for custom models Arthur Bied-Charreton
2026-05-11 11:35   ` Fiona Ebner
2026-05-11 14:14     ` Arthur Bied-Charreton
2026-04-30 16:01 ` [PATCH pve-manager v4 14/17] ui: cpu flags selector: fix buffered rendering error Arthur Bied-Charreton
2026-05-11 13:36   ` Fiona Ebner
2026-04-30 16:01 ` [PATCH pve-manager v4 15/17] ui: cpu flags selector: allow filtering out flags supported on 0 nodes Arthur Bied-Charreton
2026-05-11 13:40   ` Fiona Ebner
2026-05-11 13:42     ` Fiona Ebner
2026-04-30 16:01 ` [PATCH pve-manager v4 16/17] ui: cpu flags selector: add search bar for large lists of flags Arthur Bied-Charreton
2026-05-11 13:56   ` Fiona Ebner
2026-04-30 16:01 ` [PATCH pve-manager v4 17/17] RFC: ui: group custom CPU with resource mappings Arthur Bied-Charreton
2026-05-11 14:01   ` Fiona Ebner
2026-05-06 14:31 ` [PATCH docs/manager/qemu-server v4 00/17] Add API and UI for custom CPU models David Riley
2026-05-07  7:14   ` Arthur Bied-Charreton
2026-05-11 10:42 ` Fiona Ebner
2026-05-11 14:16   ` Arthur Bied-Charreton
2026-05-12  8:11   ` Arthur Bied-Charreton
2026-05-12  8:50     ` Fiona Ebner
2026-05-12  9:00       ` Arthur Bied-Charreton [this message]
2026-05-11 14:08 ` Fiona Ebner
2026-05-11 14:21   ` Arthur Bied-Charreton
2026-05-15  9:30 ` superseded: " Arthur Bied-Charreton

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=qoce2z3kmqemje2b4huz37l7soutibmmjgef5mb6lt5kaenape@eb7gc4tzqxiu \
    --to=a.bied-charreton@proxmox.com \
    --cc=f.ebner@proxmox.com \
    --cc=pve-devel@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal