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 <m...@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 <xuchuangxc...@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-sta...@nongnu.org
> > Reviewed-by: Zhao Liu <zhao1....@intel.com>
> > Acked-by: Igor Mammedov <imamm...@redhat.com>
> > Signed-off-by: Guixiong Wei <weiguixi...@bytedance.com>
> > Signed-off-by: Yipeng Yin <yinyip...@bytedance.com>
> > Signed-off-by: Chuang Xu <xuchuangxc...@bytedance.com>
> > Signed-off-by: Zhao Liu <zhao1....@intel.com>
> 
> Ping?
> 
> Is this series still needed ?
> 
> Thanks,
> 
> /mjt

Reply via email to