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