diff options
author | Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> | 2022-12-15 16:34:40 +0100 |
---|---|---|
committer | Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> | 2023-05-04 12:23:15 +0200 |
commit | a8add90619a82b12c76005b605adabc5e2ec0fd5 (patch) | |
tree | f232fa148f92dbc022fca0118e2e561d0eb18058 | |
parent | 398851c1016800ca9cb1ef91af4434182eb10352 (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/defconfig | 13 |
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 |