From: Shiji Yang Date: Tue, 31 Mar 2026 00:10:30 +0000 (+0800) Subject: kernel: tune 24kc instead of 34kc for mips32r2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2f44a5177d459ccd33fa51540f7fc3c58c32469d;p=thirdparty%2Fopenwrt.git kernel: tune 24kc instead of 34kc for mips32r2 GCC generates the same code for 24kc and 34kc. Since we have converted all 34kc targets to the 24kc, it's better to switch kernel -mtune to 24kc to avoid confusing developers. Signed-off-by: Shiji Yang Link: https://github.com/openwrt/openwrt/pull/22703 Signed-off-by: Robert Marko --- diff --git a/target/linux/generic/pending-6.12/308-mips32r2_tune.patch b/target/linux/generic/pending-6.12/308-mips32r2_tune.patch index b9bd6104a42..97c02cc1a8c 100644 --- a/target/linux/generic/pending-6.12/308-mips32r2_tune.patch +++ b/target/linux/generic/pending-6.12/308-mips32r2_tune.patch @@ -1,5 +1,5 @@ From: Felix Fietkau -Subject: kernel: add -mtune=34kc to MIPS CFLAGS when building for mips32r2 +Subject: kernel: add -mtune=24kc to MIPS CFLAGS when building for mips32r2 This provides a good tradeoff across at least 24Kc-74Kc, while also producing smaller code. @@ -16,7 +16,7 @@ Signed-off-by: Felix Fietkau cflags-$(CONFIG_CPU_TX49XX) += $(call cc-option,-march=r4600,-march=mips3) -Wa,--trap cflags-$(CONFIG_CPU_MIPS32_R1) += -march=mips32 -Wa,--trap -cflags-$(CONFIG_CPU_MIPS32_R2) += -march=mips32r2 -Wa,--trap -+cflags-$(CONFIG_CPU_MIPS32_R2) += -march=mips32r2 -mtune=34kc -Wa,--trap ++cflags-$(CONFIG_CPU_MIPS32_R2) += -march=mips32r2 -mtune=24kc -Wa,--trap cflags-$(CONFIG_CPU_MIPS32_R5) += -march=mips32r5 -Wa,--trap -modd-spreg cflags-$(CONFIG_CPU_MIPS32_R6) += -march=mips32r6 -Wa,--trap -modd-spreg cflags-$(CONFIG_CPU_MIPS64_R1) += -march=mips64 -Wa,--trap diff --git a/target/linux/generic/pending-6.18/308-mips32r2_tune.patch b/target/linux/generic/pending-6.18/308-mips32r2_tune.patch index 19a716c9de0..b5af003c4c3 100644 --- a/target/linux/generic/pending-6.18/308-mips32r2_tune.patch +++ b/target/linux/generic/pending-6.18/308-mips32r2_tune.patch @@ -1,5 +1,5 @@ From: Felix Fietkau -Subject: kernel: add -mtune=34kc to MIPS CFLAGS when building for mips32r2 +Subject: kernel: add -mtune=24kc to MIPS CFLAGS when building for mips32r2 This provides a good tradeoff across at least 24Kc-74Kc, while also producing smaller code. @@ -16,7 +16,7 @@ Signed-off-by: Felix Fietkau cflags-$(CONFIG_CPU_TX49XX) += $(call cc-option,-march=r4600,-march=mips3) -Wa,--trap cflags-$(CONFIG_CPU_MIPS32_R1) += -march=mips32 -Wa,--trap -cflags-$(CONFIG_CPU_MIPS32_R2) += -march=mips32r2 -Wa,--trap -+cflags-$(CONFIG_CPU_MIPS32_R2) += -march=mips32r2 -mtune=34kc -Wa,--trap ++cflags-$(CONFIG_CPU_MIPS32_R2) += -march=mips32r2 -mtune=24kc -Wa,--trap cflags-$(CONFIG_CPU_MIPS32_R5) += -march=mips32r5 -Wa,--trap -modd-spreg cflags-$(CONFIG_CPU_MIPS32_R6) += -march=mips32r6 -Wa,--trap -modd-spreg cflags-$(CONFIG_CPU_MIPS64_R1) += -march=mips64 -Wa,--trap diff --git a/target/linux/realtek/patches-6.12/308-tune-switch-4kec.patch b/target/linux/realtek/patches-6.12/308-tune-switch-4kec.patch index 87cd76d4628..c474ad53bf4 100644 --- a/target/linux/realtek/patches-6.12/308-tune-switch-4kec.patch +++ b/target/linux/realtek/patches-6.12/308-tune-switch-4kec.patch @@ -2,7 +2,7 @@ From: Markus Stockhausen Date: Fri, 13 Jun 2025 20:25:37 +0100 Subject: [PATCH] realtek: set mtune 4kec for RTL838x targets -Generic patches will always force the gcc kernel tuning to 34kc. With RTL838x +Generic patches will always force the gcc kernel tuning to 24kc. With RTL838x being only 4kec this does not harm but is not right. Match the tuning properly. Signed-off-by: Markus Stockhausen @@ -13,10 +13,10 @@ Signed-off-by: Markus Stockhausen @@ -164,6 +164,11 @@ cflags-$(CONFIG_CPU_R4X00) += $(call cc- cflags-$(CONFIG_CPU_TX49XX) += $(call cc-option,-march=r4600,-march=mips3) -Wa,--trap cflags-$(CONFIG_CPU_MIPS32_R1) += -march=mips32 -Wa,--trap - cflags-$(CONFIG_CPU_MIPS32_R2) += -march=mips32r2 -mtune=34kc -Wa,--trap + cflags-$(CONFIG_CPU_MIPS32_R2) += -march=mips32r2 -mtune=24kc -Wa,--trap + +#ifdef CONFIG_RTL838X -+cflags-$(CONFIG_CPU_MIPS32_R2) := $(subst 34kc,4kec,$(cflags-$(CONFIG_CPU_MIPS32_R2))) ++cflags-$(CONFIG_CPU_MIPS32_R2) := $(subst 24kc,4kec,$(cflags-$(CONFIG_CPU_MIPS32_R2))) +#endif + cflags-$(CONFIG_CPU_MIPS32_R5) += -march=mips32r5 -Wa,--trap -modd-spreg diff --git a/target/linux/realtek/patches-6.18/308-tune-switch-4kec.patch b/target/linux/realtek/patches-6.18/308-tune-switch-4kec.patch index f8cc4d72407..6422e922622 100644 --- a/target/linux/realtek/patches-6.18/308-tune-switch-4kec.patch +++ b/target/linux/realtek/patches-6.18/308-tune-switch-4kec.patch @@ -2,7 +2,7 @@ From: Markus Stockhausen Date: Fri, 13 Jun 2025 20:25:37 +0100 Subject: [PATCH] realtek: set mtune 4kec for RTL838x targets -Generic patches will always force the gcc kernel tuning to 34kc. With RTL838x +Generic patches will always force the gcc kernel tuning to 24kc. With RTL838x being only 4kec this does not harm but is not right. Match the tuning properly. Signed-off-by: Markus Stockhausen @@ -13,10 +13,10 @@ Signed-off-by: Markus Stockhausen @@ -160,6 +160,11 @@ cflags-$(CONFIG_CPU_R4X00) += $(call cc- cflags-$(CONFIG_CPU_TX49XX) += $(call cc-option,-march=r4600,-march=mips3) -Wa,--trap cflags-$(CONFIG_CPU_MIPS32_R1) += -march=mips32 -Wa,--trap - cflags-$(CONFIG_CPU_MIPS32_R2) += -march=mips32r2 -mtune=34kc -Wa,--trap + cflags-$(CONFIG_CPU_MIPS32_R2) += -march=mips32r2 -mtune=24kc -Wa,--trap + +#ifdef CONFIG_RTL838X -+cflags-$(CONFIG_CPU_MIPS32_R2) := $(subst 34kc,4kec,$(cflags-$(CONFIG_CPU_MIPS32_R2))) ++cflags-$(CONFIG_CPU_MIPS32_R2) := $(subst 24kc,4kec,$(cflags-$(CONFIG_CPU_MIPS32_R2))) +#endif + cflags-$(CONFIG_CPU_MIPS32_R5) += -march=mips32r5 -Wa,--trap -modd-spreg