From e889e3e6b3d51646c74eddd1b1a21df485930221 Mon Sep 17 00:00:00 2001 From: EBK21 Date: Mon, 30 Dec 2024 09:57:59 +0000 Subject: [PATCH] update conf and tune --- config_ser2 | 7 +++++ config_serl | 13 +++++++-- config_serm | 7 +++++ patch/cp/9.patch | 69 ++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 94 insertions(+), 2 deletions(-) create mode 100644 patch/cp/9.patch diff --git a/config_ser2 b/config_ser2 index e74adf8..b173ee4 100644 --- a/config_ser2 +++ b/config_ser2 @@ -144,6 +144,7 @@ CONFIG_X86_P4_CLOCKMOD=m CONFIG_CPU_IDLE_GOV_LADDER=y CONFIG_CPU_IDLE_GOV_MENU=y CONFIG_CPU_IDLE_GOV_TEO=y +CONFIG_HALTPOLL_CPUIDLE=m CONFIG_INTEL_IDLE=y CONFIG_IA32_EMULATION=y CONFIG_KVM=m @@ -3665,10 +3666,16 @@ CONFIG_FONTS=y CONFIG_FONT_8x8=y CONFIG_FONT_TER16x32=y CONFIG_PRINTK_TIME=y +CONFIG_PRINTK_CALLER=y CONFIG_CONSOLE_LOGLEVEL_DEFAULT=6 CONFIG_DYNAMIC_DEBUG=y CONFIG_SYMBOLIC_ERRNAME=y +CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y +CONFIG_DEBUG_INFO_BTF=y +CONFIG_MODULE_ALLOW_BTF_MISMATCH=y CONFIG_STRIP_ASM_SYMS=y +CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_32B=y +CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_32B_SOFT=y CONFIG_MAGIC_SYSRQ=y CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x01b6 # CONFIG_SLUB_DEBUG is not set diff --git a/config_serl b/config_serl index 6f2b5d8..97c8f17 100644 --- a/config_serl +++ b/config_serl @@ -152,6 +152,7 @@ CONFIG_X86_P4_CLOCKMOD=m CONFIG_CPU_IDLE_GOV_LADDER=y CONFIG_CPU_IDLE_GOV_MENU=y CONFIG_CPU_IDLE_GOV_TEO=y +CONFIG_HALTPOLL_CPUIDLE=m CONFIG_INTEL_IDLE=y CONFIG_IA32_EMULATION=y CONFIG_KVM=m @@ -3695,9 +3696,16 @@ CONFIG_FONTS=y CONFIG_FONT_8x8=y CONFIG_FONT_TER16x32=y CONFIG_PRINTK_TIME=y +CONFIG_PRINTK_CALLER=y +CONFIG_CONSOLE_LOGLEVEL_DEFAULT=6 CONFIG_DYNAMIC_DEBUG=y CONFIG_SYMBOLIC_ERRNAME=y +CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y +CONFIG_DEBUG_INFO_BTF=y +CONFIG_MODULE_ALLOW_BTF_MISMATCH=y CONFIG_STRIP_ASM_SYMS=y +CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_32B=y +CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_32B_SOFT=y CONFIG_MAGIC_SYSRQ=y CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x01b6 # CONFIG_SLUB_DEBUG is not set @@ -3705,9 +3713,10 @@ CONFIG_DEBUG_WX=y CONFIG_SCHED_STACK_END_CHECK=y CONFIG_MEMORY_NOTIFIER_ERROR_INJECT=m CONFIG_KFENCE=y -CONFIG_KFENCE_SAMPLE_INTERVAL=4300 -CONFIG_KFENCE_NUM_OBJECTS=36 +CONFIG_KFENCE_SAMPLE_INTERVAL=12000 +CONFIG_KFENCE_NUM_OBJECTS=24 CONFIG_KFENCE_DEFERRABLE=y +CONFIG_KFENCE_STATIC_KEYS=y CONFIG_HARDLOCKUP_DETECTOR=y CONFIG_SCHEDSTATS=y # CONFIG_RCU_TRACE is not set diff --git a/config_serm b/config_serm index 47e9124..b9323bc 100644 --- a/config_serm +++ b/config_serm @@ -144,6 +144,7 @@ CONFIG_X86_P4_CLOCKMOD=m CONFIG_CPU_IDLE_GOV_LADDER=y CONFIG_CPU_IDLE_GOV_MENU=y CONFIG_CPU_IDLE_GOV_TEO=y +CONFIG_HALTPOLL_CPUIDLE=m CONFIG_INTEL_IDLE=y CONFIG_IA32_EMULATION=y CONFIG_KVM=m @@ -3665,10 +3666,16 @@ CONFIG_FONTS=y CONFIG_FONT_8x8=y CONFIG_FONT_TER16x32=y CONFIG_PRINTK_TIME=y +CONFIG_PRINTK_CALLER=y CONFIG_CONSOLE_LOGLEVEL_DEFAULT=6 CONFIG_DYNAMIC_DEBUG=y CONFIG_SYMBOLIC_ERRNAME=y +CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y +CONFIG_DEBUG_INFO_BTF=y +CONFIG_MODULE_ALLOW_BTF_MISMATCH=y CONFIG_STRIP_ASM_SYMS=y +CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_32B=y +CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_32B_SOFT=y CONFIG_MAGIC_SYSRQ=y CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x01b6 # CONFIG_SLUB_DEBUG is not set diff --git a/patch/cp/9.patch b/patch/cp/9.patch new file mode 100644 index 0000000..2106467 --- /dev/null +++ b/patch/cp/9.patch @@ -0,0 +1,69 @@ +--- a/lib/Kconfig.debug 2024-12-30 09:56:33.674179613 +0000 ++++ b/lib/Kconfig.debug 2024-12-30 09:35:32.183197909 +0000 +@@ -525,6 +525,13 @@ + + It is mainly for debug and performance tuning use. + ++config DEBUG_FORCE_FUNCTION_ALIGN_32B ++ bool "Force all function address 32B aligned" ++ depends on EXPERT && (X86_64 || ARM64 || PPC32 || PPC64 || ARC || RISCV || S390) && (!DEBUG_FORCE_FUNCTION_ALIGN_64B) ++ select FUNCTION_ALIGNMENT_32B ++ help ++ 32 bit alignment ++ + # + # Select this config option from the architecture Kconfig, if it + # is preferred to always offer frame pointers as a config + +--- a/Makefile 2024-12-11 05:53:42.339779501 +0000 ++++ b/Makefile 2024-12-31 11:35:12.207399190 +0000 +@@ -971,7 +971,17 @@ + export CC_FLAGS_NO_FPU + + ifneq ($(CONFIG_FUNCTION_ALIGNMENT),0) ++ifeq ($(CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_32B_SOFT),y) ++CONFIG_FUNCTION_ALIGNMENT = 24 ++endif + KBUILD_CFLAGS += -falign-functions=$(CONFIG_FUNCTION_ALIGNMENT) ++ifeq ($(shell expr $(CONFIG_FUNCTION_ALIGNMENT) \> 8), 1) ++KBUILD_CFLAGS += $(call cc-option, -fmin-function-alignment=8) ++endif ++ifeq ($(shell expr $(CONFIG_FUNCTION_ALIGNMENT) \> 16), 1) ++KBUILD_CFLAGS += $(call cc-option, -flimit-function-alignment) ++endif ++ + endif + + # arch Makefile may override CC so keep this after arch Makefile is included + +--- a/arch/x86/Makefile 2024-12-31 06:35:00.287699967 +0000 ++++ b/arch/x86/Makefile 2024-12-31 06:35:10.032404710 +0000 +@@ -157,10 +157,10 @@ + KBUILD_CFLAGS += -m64 + + # Align jump targets to 1 byte, not the default 16 bytes: +- KBUILD_CFLAGS += $(call cc-option,-falign-jumps=1) ++ KBUILD_CFLAGS += $(call cc-option,-falign-jumps=2) + + # Pack loops tightly as well: +- KBUILD_CFLAGS += $(call cc-option,-falign-loops=1) ++ KBUILD_CFLAGS += $(call cc-option,-falign-loops=2) + + # Don't autogenerate traditional x87 instructions + KBUILD_CFLAGS += -mno-80387 + +--- a/lib/Kconfig.debug 2024-12-30 09:35:32.183197909 +0000 ++++ b/lib/Kconfig.debug 2024-12-31 11:29:37.320048523 +0000 +@@ -532,6 +532,12 @@ + help + 32 bit alignment + ++config DEBUG_FORCE_FUNCTION_ALIGN_32B_SOFT ++ bool "allow 24 byte alignment by compiler choice" ++ depends on DEBUG_FORCE_FUNCTION_ALIGN_32B && (!CFI_CLANG) ++ help ++ saves space slightly for some functions ++ + # + # Select this config option from the architecture Kconfig, if it + # is preferred to always offer frame pointers as a config