Skip to content

Commit d32d9ec

Browse files
graysky2robimarko
authored andcommitted
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 <therealgraysky@proton.me> Link: openwrt/openwrt#19897 Signed-off-by: Robert Marko <robimarko@gmail.com>
1 parent 8d1b259 commit d32d9ec

2 files changed

Lines changed: 6 additions & 4 deletions

File tree

target/linux/x86/64/config-6.12

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@ CONFIG_CRYPTO_CRCT10DIF=y
104104
# CONFIG_CRYPTO_CRCT10DIF_PCLMUL is not set
105105
CONFIG_CRYPTO_CRYPTD=y
106106
# CONFIG_CRYPTO_DES3_EDE_X86_64 is not set
107+
CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=y
107108
CONFIG_CRYPTO_LIB_POLY1305_RSIZE=11
108109
CONFIG_CRYPTO_LRW=y
109110
# CONFIG_CRYPTO_NHPOLY1305_AVX2 is not set
@@ -285,7 +286,7 @@ CONFIG_INTEL_SOC_DTS_THERMAL=y
285286
# CONFIG_INTEL_SPEED_SELECT_INTERFACE is not set
286287
CONFIG_INTEL_TCC=y
287288
CONFIG_INTEL_TDX_GUEST=y
288-
# CONFIG_INTEL_TURBO_MAX_3 is not set
289+
CONFIG_INTEL_TURBO_MAX_3=y
289290
# CONFIG_INTEL_TXT is not set
290291
# CONFIG_INTEL_UNCORE_FREQ_CONTROL is not set
291292
CONFIG_INTERVAL_TREE=y
@@ -445,7 +446,7 @@ CONFIG_RPS=y
445446
CONFIG_RWSEM_SPIN_ON_OWNER=y
446447
# CONFIG_SAMSUNG_Q10 is not set
447448
CONFIG_SATA_AHCI=y
448-
# CONFIG_SCHED_CORE is not set
449+
CONFIG_SCHED_CORE=y
449450
CONFIG_SCHED_MC=y
450451
CONFIG_SCHED_MC_PRIO=y
451452
CONFIG_SCHED_SMT=y

target/linux/x86/64/config-6.18

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@ CONFIG_CRYPTO_CRCT10DIF=y
106106
# CONFIG_CRYPTO_CRCT10DIF_PCLMUL is not set
107107
CONFIG_CRYPTO_CRYPTD=y
108108
# CONFIG_CRYPTO_DES3_EDE_X86_64 is not set
109+
CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=y
109110
CONFIG_CRYPTO_LIB_POLY1305_RSIZE=11
110111
CONFIG_CRYPTO_LRW=y
111112
# CONFIG_CRYPTO_NHPOLY1305_AVX2 is not set
@@ -288,7 +289,7 @@ CONFIG_INTEL_SOC_DTS_THERMAL=y
288289
# CONFIG_INTEL_SPEED_SELECT_INTERFACE is not set
289290
CONFIG_INTEL_TCC=y
290291
CONFIG_INTEL_TDX_GUEST=y
291-
# CONFIG_INTEL_TURBO_MAX_3 is not set
292+
CONFIG_INTEL_TURBO_MAX_3=y
292293
# CONFIG_INTEL_TXT is not set
293294
# CONFIG_INTEL_UNCORE_FREQ_CONTROL is not set
294295
CONFIG_INTERVAL_TREE=y
@@ -451,7 +452,7 @@ CONFIG_RPS=y
451452
CONFIG_RWSEM_SPIN_ON_OWNER=y
452453
# CONFIG_SAMSUNG_Q10 is not set
453454
CONFIG_SATA_AHCI=y
454-
# CONFIG_SCHED_CORE is not set
455+
CONFIG_SCHED_CORE=y
455456
CONFIG_SCHED_MC=y
456457
CONFIG_SCHED_MC_PRIO=y
457458
CONFIG_SCHED_SMT=y

0 commit comments

Comments
 (0)