From: Zhao Liu <zhao1.liu@intel.com>
To: Michael Tokarev <mjt@tls.msk.ru>, Paolo Bonzini <pbonzini@redhat.com>
Cc: "Igor Mammedov" <imammedo@redhat.com>,
"Daniel P . Berrangé" <berrange@redhat.com>,
"Chuang Xu" <xuchuangxclwt@bytedance.com>,
"Xiaoyao Li" <xiaoyao.li@intel.com>,
"Isaku Yamahata" <isaku.yamahata@intel.com>,
"Babu Moger" <babu.moger@amd.com>,
qemu-devel@nongnu.org, qemu-stable@nongnu.org,
"Guixiong Wei" <weiguixiong@bytedance.com>,
"Yipeng Yin" <yinyipeng@bytedance.com>
Subject: Re: [PATCH 1/4] i386/cpu: Fix number of addressable IDs field for CPUID.01H.EBX[23:16]
Date: Tue, 13 May 2025 11:42:44 +0800 [thread overview]
Message-ID: <aCK/tDklG64EZEw2@intel.com> (raw)
In-Reply-To: <84c154b8-c4ab-4a51-8b27-48ec783e0758@tls.msk.ru>
Hi Paolo,
Kindly ping. I think this series is still needed. Could you pls take
a look at here?
Thanks,
Zhao
On Mon, May 12, 2025 at 12:32:31PM +0300, Michael Tokarev wrote:
> Date: Mon, 12 May 2025 12:32:31 +0300
> From: Michael Tokarev <mjt@tls.msk.ru>
> Subject: Re: [PATCH 1/4] i386/cpu: Fix number of addressable IDs field for
> CPUID.01H.EBX[23:16]
>
> On 27.02.2025 09:25, Zhao Liu wrote:
> > From: Chuang Xu <xuchuangxclwt@bytedance.com>
> >
> > When QEMU is started with:
> > -cpu host,migratable=on,host-cache-info=on,l3-cache=off
> > -smp 180,sockets=2,dies=1,cores=45,threads=2
> >
> > On Intel platform:
> > CPUID.01H.EBX[23:16] is defined as "max number of addressable IDs for
> > logical processors in the physical package".
> >
> > When executing "cpuid -1 -l 1 -r" in the guest, we obtain a value of 90 for
> > CPUID.01H.EBX[23:16], whereas the expected value is 128. Additionally,
> > executing "cpuid -1 -l 4 -r" in the guest yields a value of 63 for
> > CPUID.04H.EAX[31:26], which matches the expected result.
> >
> > As (1+CPUID.04H.EAX[31:26]) rounds up to the nearest power-of-2 integer,
> > it's necessary to round up CPUID.01H.EBX[23:16] to the nearest power-of-2
> > integer too. Otherwise there would be unexpected results in guest with
> > older kernel.
> >
> > For example, when QEMU is started with CLI above and xtopology is disabled,
> > guest kernel 5.15.120 uses CPUID.01H.EBX[23:16]/(1+CPUID.04H.EAX[31:26]) to
> > calculate threads-per-core in detect_ht(). Then guest will get "90/(1+63)=1"
> > as the result, even though threads-per-core should actually be 2.
> >
> > And on AMD platform:
> > CPUID.01H.EBX[23:16] is defined as "Logical processor count". Current
> > result meets our expectation.
> >
> > So round up CPUID.01H.EBX[23:16] to the nearest power-of-2 integer only
> > for Intel platform to solve the unexpected result.
> >
> > This change doesn't need to add compat property since it does not affect
> > live migration between different versions of pc machines.
> >
> > Cc: qemu-stable@nongnu.org
> > Reviewed-by: Zhao Liu <zhao1.liu@intel.com>
> > Acked-by: Igor Mammedov <imammedo@redhat.com>
> > Signed-off-by: Guixiong Wei <weiguixiong@bytedance.com>
> > Signed-off-by: Yipeng Yin <yinyipeng@bytedance.com>
> > Signed-off-by: Chuang Xu <xuchuangxclwt@bytedance.com>
> > Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
>
> Ping?
>
> Is this series still needed ?
>
> Thanks,
>
> /mjt
next prev parent reply other threads:[~2025-05-13 3:22 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-27 6:25 [PATCH 0/4] i386/cpu: Fix topological field encoding & overflow Zhao Liu
2025-02-27 6:25 ` [PATCH 1/4] i386/cpu: Fix number of addressable IDs field for CPUID.01H.EBX[23:16] Zhao Liu
2025-05-12 9:32 ` Michael Tokarev
2025-05-13 3:42 ` Zhao Liu [this message]
2025-02-27 6:25 ` [PATCH 2/4] i386/cpu: Fix cpu number overflow in CPUID.01H.EBX[23:16] Zhao Liu
2025-02-27 7:13 ` Xiaoyao Li
2025-02-27 6:25 ` [PATCH 3/4] i386/cpu: Fix overflow of cache topology fields in CPUID.04H Zhao Liu
2025-02-27 7:14 ` Xiaoyao Li
2025-02-27 6:25 ` [PATCH 4/4] i386/cpu: Honor maximum value for CPUID.8000001DH.EAX[25:14] Zhao Liu
2025-05-21 8:53 ` [PATCH 0/4] i386/cpu: Fix topological field encoding & overflow Zhao Liu
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=aCK/tDklG64EZEw2@intel.com \
--to=zhao1.liu@intel.com \
--cc=babu.moger@amd.com \
--cc=berrange@redhat.com \
--cc=imammedo@redhat.com \
--cc=isaku.yamahata@intel.com \
--cc=mjt@tls.msk.ru \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=qemu-stable@nongnu.org \
--cc=weiguixiong@bytedance.com \
--cc=xiaoyao.li@intel.com \
--cc=xuchuangxclwt@bytedance.com \
--cc=yinyipeng@bytedance.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 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).