On Wed, Oct 09, 2024 at 11:56:38AM +0800, Chuang Xu wrote: > Date: Wed, 9 Oct 2024 11:56:38 +0800 > From: Chuang Xu <xuchuangxc...@bytedance.com> > Subject: [PATCH v6] i386/cpu: fixup number of addressable IDs for logical > processors in the physical package > X-Mailer: git-send-email 2.39.3 (Apple Git-146) > > 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, > we'd beter round up CPUID.01H.EBX[23:16] to the nearest power-of-2 > integer too. Otherwise we may encounter unexpected results in guest. > > 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 let us round up CPUID.01H.EBX[23:16] to the nearest power-of-2 integer > only for Intel platform to solve the unexpected result. > > 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> > --- > target/i386/cpu.c | 10 +++++++++- > 1 file changed, 9 insertions(+), 1 deletion(-)
This version is fine for me, thanks. -Zhao