Skip to content

Commit

Permalink
update conf and tune
Browse files Browse the repository at this point in the history
  • Loading branch information
eebssk1 committed Dec 31, 2024
1 parent 2b4c3dc commit e889e3e
Show file tree
Hide file tree
Showing 4 changed files with 94 additions and 2 deletions.
7 changes: 7 additions & 0 deletions config_ser2
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down
13 changes: 11 additions & 2 deletions config_serl
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -3695,19 +3696,27 @@ 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
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
Expand Down
7 changes: 7 additions & 0 deletions config_serm
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down
69 changes: 69 additions & 0 deletions patch/cp/9.patch
Original file line number Diff line number Diff line change
@@ -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

0 comments on commit e889e3e

Please sign in to comment.