Message ID | 20250810222523.2487072-1-richard.purdie@linuxfoundation.org |
---|---|
State | New |
Headers | show |
Series | Revert "qemux86-64: Reduce tuning to core2-64" | expand |
On Sun, Aug 10, 2025 at 3:25 PM Richard Purdie via lists.openembedded.org <richard.purdie=linuxfoundation.org@lists.openembedded.org> wrote: > > This was originally applied as our autobuilder had older hardware and couldn't > cope with the newer settings. This has been resolved in the new cluster so we > can go back to the newer tuning, which software is now more likely to need. > > This reverts commit 369b1dfa28b1791d45f068acc765190defecd460. LGTM solves - https://github.com/openembedded/meta-openembedded/pull/984 > --- > meta/conf/machine/include/x86/qemuboot-x86.inc | 4 ++-- > meta/conf/machine/qemux86-64.conf | 2 +- > 2 files changed, 3 insertions(+), 3 deletions(-) > > diff --git a/meta/conf/machine/include/x86/qemuboot-x86.inc b/meta/conf/machine/include/x86/qemuboot-x86.inc > index 6ae03633aea..82ef4a0b732 100644 > --- a/meta/conf/machine/include/x86/qemuboot-x86.inc > +++ b/meta/conf/machine/include/x86/qemuboot-x86.inc > @@ -4,8 +4,8 @@ QB_SMP ?= "-smp 4" > QB_CPU:x86 ?= "-cpu IvyBridge -machine q35,i8042=off" > QB_CPU_KVM:x86 ?= "-cpu IvyBridge -machine q35,i8042=off" > > -QB_CPU:x86-64 ?= "-cpu IvyBridge -machine q35,i8042=off" > -QB_CPU_KVM:x86-64 ?= "-cpu IvyBridge -machine q35,i8042=off" > +QB_CPU:x86-64 ?= "-cpu Skylake-Client -machine q35,i8042=off" > +QB_CPU_KVM:x86-64 ?= "-cpu Skylake-Client -machine q35,i8042=off" > > QB_AUDIO_DRV = "alsa" > QB_AUDIO_OPT = "-device AC97" > diff --git a/meta/conf/machine/qemux86-64.conf b/meta/conf/machine/qemux86-64.conf > index 62108b703b6..8aac7634b75 100644 > --- a/meta/conf/machine/qemux86-64.conf > +++ b/meta/conf/machine/qemux86-64.conf > @@ -3,7 +3,7 @@ > #@DESCRIPTION: Machine configuration for running an x86-64 system on QEMU > > require conf/machine/include/qemu.inc > -DEFAULTTUNE ?= "core2-64" > +DEFAULTTUNE ?= "x86-64-v3" > require conf/machine/include/x86/tune-x86-64-v3.inc > require conf/machine/include/x86/qemuboot-x86.inc > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#221705): https://lists.openembedded.org/g/openembedded-core/message/221705 > Mute This Topic: https://lists.openembedded.org/mt/114638379/1997914 > Group Owner: openembedded-core+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [raj.khem@gmail.com] > -=-=-=-=-=-=-=-=-=-=-=- >
On Mon, 11 Aug 2025 at 00:25, Richard Purdie via lists.openembedded.org <richard.purdie=linuxfoundation.org@lists.openembedded.org> wrote: > > This was originally applied as our autobuilder had older hardware and couldn't > cope with the newer settings. This has been resolved in the new cluster so we > can go back to the newer tuning, which software is now more likely to need. The other reason was that qemu's TCG implementation of these v3 instructions back then was very new and had subtle bugs which have since been fixed. This change merits a mention in release notes: ====== qemux86-64 MACHINE now defaults to x86-64-v3 micro-architecture level The previous default was Core 2 era processors. This change means that the toolchain is configured to build for that level, and qemu is configured to emulate it. v3 level adds support for AVX/AVX2/BMI/BMI2/F16C and other newer instructions which are seeing increasing usage in modern software and add performance benefits. Please see https://en.wikipedia.org/wiki/X86-64#Microarchitecture_levels for definition of the levels and lists of Intel/AMD CPUs where support for the instructions was first added. Note that if qemu system emulation is used on an x86 build machine with kvm enabled, then the build machine's CPU must also be recent enough to support these instructions natively. ====== Alex
On Mon Aug 11, 2025 at 12:25 AM CEST, Richard Purdie via lists.openembedded.org wrote: > This was originally applied as our autobuilder had older hardware and couldn't > cope with the newer settings. This has been resolved in the new cluster so we > can go back to the newer tuning, which software is now more likely to need. > > This reverts commit 369b1dfa28b1791d45f068acc765190defecd460. > --- Hi Richard, I believe this is breaking numpy ptests. I'm not sure to understand why, but git bisect points on this change and it is confirmed by only failing on x86-64. Failed ptests: {'python3-numpy': ['python3.13/site-packages/numpy/_core/tests/test_umath_accuracy.py:TestAccuracy.test_validate_transcendentals']} https://autobuilder.yoctoproject.org/valkyrie/#/builders/73/builds/2067 https://valkyrie.yocto.io/pub/non-release/20250811-33/testresults/qemux86-64-ptest/core-image-ptest-python3-numpy/ Best regards, Mathieu
diff --git a/meta/conf/machine/include/x86/qemuboot-x86.inc b/meta/conf/machine/include/x86/qemuboot-x86.inc index 6ae03633aea..82ef4a0b732 100644 --- a/meta/conf/machine/include/x86/qemuboot-x86.inc +++ b/meta/conf/machine/include/x86/qemuboot-x86.inc @@ -4,8 +4,8 @@ QB_SMP ?= "-smp 4" QB_CPU:x86 ?= "-cpu IvyBridge -machine q35,i8042=off" QB_CPU_KVM:x86 ?= "-cpu IvyBridge -machine q35,i8042=off" -QB_CPU:x86-64 ?= "-cpu IvyBridge -machine q35,i8042=off" -QB_CPU_KVM:x86-64 ?= "-cpu IvyBridge -machine q35,i8042=off" +QB_CPU:x86-64 ?= "-cpu Skylake-Client -machine q35,i8042=off" +QB_CPU_KVM:x86-64 ?= "-cpu Skylake-Client -machine q35,i8042=off" QB_AUDIO_DRV = "alsa" QB_AUDIO_OPT = "-device AC97" diff --git a/meta/conf/machine/qemux86-64.conf b/meta/conf/machine/qemux86-64.conf index 62108b703b6..8aac7634b75 100644 --- a/meta/conf/machine/qemux86-64.conf +++ b/meta/conf/machine/qemux86-64.conf @@ -3,7 +3,7 @@ #@DESCRIPTION: Machine configuration for running an x86-64 system on QEMU require conf/machine/include/qemu.inc -DEFAULTTUNE ?= "core2-64" +DEFAULTTUNE ?= "x86-64-v3" require conf/machine/include/x86/tune-x86-64-v3.inc require conf/machine/include/x86/qemuboot-x86.inc