From d32d9ec726fb9574482f56cb1a75ecb78857b579 Mon Sep 17 00:00:00 2001 From: John Audia Date: Fri, 29 Aug 2025 05:43:26 -0400 Subject: [PATCH] x86/64: 6.12: 6.18: enable performance related options Enable Turbo Boost Max 3.0 (INTEL_TURBO_MAX_3) to allow the kernel scheduler to utilize preferred cores on modern Intel CPUs. This has no effect on AMD systems. Enable core scheduling (SCHED_CORE) to provide safer SMT task placement and better isolation. While it can reduce peak throughput slightly, it improves scheduling correctness on heterogeneous cores and works across both Intel and AMD. Enable the accelerated GHASH implementation using the CLMUL instruction (CRYPTO_GHASH_CLMUL_NI_INTEL). This provides substantial performance improvements for AES-GCM workloads (e.g. TLS, IPsec, OpenVPN) on CPUs with the pclmulqdq instruction. Supported on both modern Intel and AMD processors; falls back gracefully on older CPUs. Run-tested twice, once with the 6.12 series and again with the 6.18. Build system: x86/64 Build-tested: x86/64-glibc Run-tested: x86/64-glibc (Intel N150 based box) Signed-off-by: John Audia Link: https://github.com/openwrt/openwrt/pull/19897 Signed-off-by: Robert Marko --- target/linux/x86/64/config-6.12 | 5 +++-- target/linux/x86/64/config-6.18 | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/target/linux/x86/64/config-6.12 b/target/linux/x86/64/config-6.12 index 77646c0f53..4a1ea15cef 100644 --- a/target/linux/x86/64/config-6.12 +++ b/target/linux/x86/64/config-6.12 @@ -104,6 +104,7 @@ CONFIG_CRYPTO_CRCT10DIF=y # CONFIG_CRYPTO_CRCT10DIF_PCLMUL is not set CONFIG_CRYPTO_CRYPTD=y # CONFIG_CRYPTO_DES3_EDE_X86_64 is not set +CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=y CONFIG_CRYPTO_LIB_POLY1305_RSIZE=11 CONFIG_CRYPTO_LRW=y # CONFIG_CRYPTO_NHPOLY1305_AVX2 is not set @@ -285,7 +286,7 @@ CONFIG_INTEL_SOC_DTS_THERMAL=y # CONFIG_INTEL_SPEED_SELECT_INTERFACE is not set CONFIG_INTEL_TCC=y CONFIG_INTEL_TDX_GUEST=y -# CONFIG_INTEL_TURBO_MAX_3 is not set +CONFIG_INTEL_TURBO_MAX_3=y # CONFIG_INTEL_TXT is not set # CONFIG_INTEL_UNCORE_FREQ_CONTROL is not set CONFIG_INTERVAL_TREE=y @@ -445,7 +446,7 @@ CONFIG_RPS=y CONFIG_RWSEM_SPIN_ON_OWNER=y # CONFIG_SAMSUNG_Q10 is not set CONFIG_SATA_AHCI=y -# CONFIG_SCHED_CORE is not set +CONFIG_SCHED_CORE=y CONFIG_SCHED_MC=y CONFIG_SCHED_MC_PRIO=y CONFIG_SCHED_SMT=y diff --git a/target/linux/x86/64/config-6.18 b/target/linux/x86/64/config-6.18 index dce96966e7..6f17712086 100644 --- a/target/linux/x86/64/config-6.18 +++ b/target/linux/x86/64/config-6.18 @@ -106,6 +106,7 @@ CONFIG_CRYPTO_CRCT10DIF=y # CONFIG_CRYPTO_CRCT10DIF_PCLMUL is not set CONFIG_CRYPTO_CRYPTD=y # CONFIG_CRYPTO_DES3_EDE_X86_64 is not set +CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=y CONFIG_CRYPTO_LIB_POLY1305_RSIZE=11 CONFIG_CRYPTO_LRW=y # CONFIG_CRYPTO_NHPOLY1305_AVX2 is not set @@ -288,7 +289,7 @@ CONFIG_INTEL_SOC_DTS_THERMAL=y # CONFIG_INTEL_SPEED_SELECT_INTERFACE is not set CONFIG_INTEL_TCC=y CONFIG_INTEL_TDX_GUEST=y -# CONFIG_INTEL_TURBO_MAX_3 is not set +CONFIG_INTEL_TURBO_MAX_3=y # CONFIG_INTEL_TXT is not set # CONFIG_INTEL_UNCORE_FREQ_CONTROL is not set CONFIG_INTERVAL_TREE=y @@ -451,7 +452,7 @@ CONFIG_RPS=y CONFIG_RWSEM_SPIN_ON_OWNER=y # CONFIG_SAMSUNG_Q10 is not set CONFIG_SATA_AHCI=y -# CONFIG_SCHED_CORE is not set +CONFIG_SCHED_CORE=y CONFIG_SCHED_MC=y CONFIG_SCHED_MC_PRIO=y CONFIG_SCHED_SMT=y