From ad6a3ae6fc0c39a7646b132ca3d7aee84bf713fe Mon Sep 17 00:00:00 2001 From: hanzongcheng Date: Sun, 6 Nov 2022 15:29:33 +0800 Subject: [PATCH] config: build a low latency kernel MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Tweaking "CONFIG_HZ" to configure the timer interrupt frequency; Enable "CONFIG_NO_HZ_FULL" to allow users to use the “full” tickless mode; Set the frequency statically to the highest frequency supported by the CPU. Signed-off-by: hanzongcheng --- config/x86/defconfig-kernel | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/config/x86/defconfig-kernel b/config/x86/defconfig-kernel index e0058741..053fc7a6 100644 --- a/config/x86/defconfig-kernel +++ b/config/x86/defconfig-kernel @@ -88,9 +88,12 @@ CONFIG_POSIX_CPU_TIMERS_TASK_WORK=y # Timers subsystem # CONFIG_TICK_ONESHOT=y -CONFIG_HZ_PERIODIC=y +CONFIG_NO_HZ_COMMON=y +# CONFIG_HZ_PERIODIC is not set # CONFIG_NO_HZ_IDLE is not set -# CONFIG_NO_HZ_FULL is not set +CONFIG_NO_HZ_FULL=y +CONFIG_CONTEXT_TRACKING=y +# CONFIG_CONTEXT_TRACKING_FORCE is not set # CONFIG_NO_HZ is not set CONFIG_HIGH_RES_TIMERS=y # end of Timers subsystem @@ -105,8 +108,8 @@ CONFIG_PREEMPT_DYNAMIC=y # # CPU/Task time and stats accounting # -CONFIG_TICK_CPU_ACCOUNTING=y -# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set +CONFIG_VIRT_CPU_ACCOUNTING=y +CONFIG_VIRT_CPU_ACCOUNTING_GEN=y # CONFIG_IRQ_TIME_ACCOUNTING is not set CONFIG_BSD_PROCESS_ACCT=y CONFIG_BSD_PROCESS_ACCT_V3=y @@ -133,6 +136,7 @@ CONFIG_TASKS_RCU=y CONFIG_TASKS_RUDE_RCU=y CONFIG_RCU_STALL_COMMON=y CONFIG_RCU_NEED_SEGCBLIST=y +CONFIG_RCU_NOCB_CPU=y # end of RCU Subsystem # CONFIG_IKCONFIG is not set @@ -163,8 +167,7 @@ CONFIG_MEMCG_KMEM=y CONFIG_BLK_CGROUP=y CONFIG_CGROUP_WRITEBACK=y CONFIG_CGROUP_SCHED=y -CONFIG_QOS_SCHED=y -# CONFIG_QOS_SCHED_SMT_EXPELLER is not set +# CONFIG_QOS_SCHED is not set # CONFIG_SCHED_PRIO_LB is not set CONFIG_FAIR_GROUP_SCHED=y CONFIG_CFS_BANDWIDTH=y @@ -180,7 +183,7 @@ CONFIG_CGROUP_CPUACCT=y CONFIG_CGROUP_PERF=y # CONFIG_CGROUP_DEBUG is not set CONFIG_SOCK_CGROUP_DATA=y -CONFIG_CGROUP_FILES=y +# CONFIG_CGROUP_FILES is not set CONFIG_NAMESPACES=y CONFIG_UTS_NS=y CONFIG_TIME_NS=y @@ -188,7 +191,7 @@ CONFIG_IPC_NS=y CONFIG_USER_NS=y CONFIG_PID_NS=y CONFIG_NET_NS=y -CONFIG_SCHED_STEAL=y +# CONFIG_SCHED_STEAL is not set # CONFIG_CHECKPOINT_RESTORE is not set CONFIG_SCHED_AUTOGROUP=y # CONFIG_SYSFS_DEPRECATED is not set @@ -446,10 +449,10 @@ CONFIG_EFI=y CONFIG_EFI_STUB=y CONFIG_EFI_MIXED=y # CONFIG_HZ_100 is not set -CONFIG_HZ_250=y +# CONFIG_HZ_250 is not set # CONFIG_HZ_300 is not set -# CONFIG_HZ_1000 is not set -CONFIG_HZ=250 +CONFIG_HZ_1000=y +CONFIG_HZ=1000 CONFIG_SCHED_HRTICK=y CONFIG_KEXEC=y # CONFIG_KEXEC_FILE is not set @@ -575,9 +578,9 @@ CONFIG_CPU_FREQ=y CONFIG_CPU_FREQ_GOV_ATTR_SET=y CONFIG_CPU_FREQ_GOV_COMMON=y # CONFIG_CPU_FREQ_STAT is not set -# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set +CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y # CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set -CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set # CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL is not set CONFIG_CPU_FREQ_GOV_PERFORMANCE=y # CONFIG_CPU_FREQ_GOV_POWERSAVE is not set @@ -2843,7 +2846,6 @@ CONFIG_SPI_DYNAMIC=y # CONFIG_HSI is not set CONFIG_PPS=m # CONFIG_PPS_DEBUG is not set -# CONFIG_NTP_PPS is not set # # PPS clients support @@ -4826,7 +4828,7 @@ CONFIG_INIT_STACK_NONE=y # end of Memory initialization # end of Kernel hardening options -CONFIG_SECURITY_BOOT_INIT=y +# CONFIG_SECURITY_BOOT_INIT is not set # end of Security options CONFIG_XOR_BLOCKS=y -- Gitee