diff mbox series

Revert "qemux86-64: Reduce tuning to core2-64"

Message ID 20250810222523.2487072-1-richard.purdie@linuxfoundation.org
State New
Headers show
Series Revert "qemux86-64: Reduce tuning to core2-64" | expand

Commit Message

Richard Purdie Aug. 10, 2025, 10:25 p.m. UTC
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.
---
 meta/conf/machine/include/x86/qemuboot-x86.inc | 4 ++--
 meta/conf/machine/qemux86-64.conf              | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

Comments

Khem Raj Aug. 10, 2025, 10:41 p.m. UTC | #1
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]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Alexander Kanavin Aug. 11, 2025, 9:25 a.m. UTC | #2
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
diff mbox series

Patch

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