All of lore.kernel.org
 help / color / mirror / Atom feed
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


  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 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.