aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>2022-12-15 16:34:40 +0100
committerKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>2023-05-04 12:23:15 +0200
commita8add90619a82b12c76005b605adabc5e2ec0fd5 (patch)
treef232fa148f92dbc022fca0118e2e561d0eb18058
parent398851c1016800ca9cb1ef91af4434182eb10352 (diff)
arm64: defconfig: Customize for Realtime kernel
Requires EXPERT. Enable Realtime specific options: - HZ_1000 - PREEMPT_RT - RCU_BOOST - PREEMPT_LAZY - NO_HZ_FULL - should select also RCU_NOCB_CPU, CONTEXT_TRACKING and VIRT_CPU_ACCOUNTING is dedicated for single-task workloads, like realtime. It allows to omit scheduling-clock ticks on CPUs that are either idle or that have only one runnable task. This setting still requires runtime configuration - choosing CPUs to be nohz idle (see: Documentation/timers/no_hz.rst). - RCU_NOCB_CPU - LATENCYTOP - for debugging latency - TIMERS - for debugging latency - TIMERLAT_TRACER - for debugging latency - OSNOISE_TRACER - for debugging latency - IRQ_TIME_ACCOUNTING - for fine granularity task IRQ accounting Disable: - WQ_POWER_EFFICIENT_DEFAULT - locality of workqueues (thus cache locality and maybe lower latencies) is more important than energy saving; Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
-rw-r--r--arch/arm64/configs/defconfig13
1 files changed, 9 insertions, 4 deletions
diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
index 09e8d487d8e6..364a301db8fd 100644
--- a/arch/arm64/configs/defconfig
+++ b/arch/arm64/configs/defconfig
@@ -1,11 +1,11 @@
CONFIG_SYSVIPC=y
CONFIG_POSIX_MQUEUE=y
CONFIG_AUDIT=y
-CONFIG_NO_HZ_IDLE=y
+CONFIG_NO_HZ_FULL=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPF_JIT=y
-CONFIG_PREEMPT=y
+CONFIG_PREEMPT_RT=y
CONFIG_IRQ_TIME_ACCOUNTING=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
@@ -25,10 +25,12 @@ CONFIG_CGROUP_DEVICE=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_CGROUP_PERF=y
CONFIG_CGROUP_BPF=y
+CONFIG_NAMESPACES=y
CONFIG_USER_NS=y
CONFIG_SCHED_AUTOGROUP=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_KALLSYMS_ALL=y
+CONFIG_EXPERT=y
CONFIG_PROFILING=y
CONFIG_ARCH_ACTIONS=y
CONFIG_ARCH_SUNXI=y
@@ -73,6 +75,7 @@ CONFIG_ARM64_VA_BITS_48=y
CONFIG_SCHED_MC=y
CONFIG_SCHED_SMT=y
CONFIG_NUMA=y
+CONFIG_HZ_1000=y
CONFIG_KEXEC=y
CONFIG_KEXEC_FILE=y
CONFIG_CRASH_DUMP=y
@@ -80,8 +83,8 @@ CONFIG_XEN=y
CONFIG_COMPAT=y
CONFIG_RANDOMIZE_BASE=y
CONFIG_HIBERNATION=y
-CONFIG_WQ_POWER_EFFICIENT_DEFAULT=y
CONFIG_ENERGY_MODEL=y
+CONFIG_CPU_IDLE_GOV_MENU=y
CONFIG_ARM_PSCI_CPUIDLE=y
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_STAT=y
@@ -116,6 +119,7 @@ CONFIG_JUMP_LABEL=y
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
CONFIG_IOSCHED_BFQ=y
+CONFIG_BLK_CGROUP_IOLATENCY=y
CONFIG_BLK_INLINE_ENCRYPTION=y
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
# CONFIG_COMPAT_BRK is not set
@@ -1481,7 +1485,8 @@ CONFIG_MAGIC_SYSRQ=y
CONFIG_DEBUG_FS=y
# CONFIG_SCHED_DEBUG is not set
# CONFIG_DEBUG_PREEMPT is not set
-# CONFIG_FTRACE is not set
+CONFIG_LATENCYTOP=y
+CONFIG_TIMERLAT_TRACER=y
CONFIG_CORESIGHT=m
CONFIG_CORESIGHT_LINK_AND_SINK_TMC=m
CONFIG_CORESIGHT_CATU=m