diff --git a/kernel/time/Kconfig b/kernel/time/Kconfig index 5a87c03e45ad..726c33e00da2 100644 --- a/kernel/time/Kconfig +++ b/kernel/time/Kconfig @@ -80,11 +80,20 @@ config NO_HZ busy and when the system is idle. config NO_HZ_EXTENDED - bool "Full dynticks system" - depends on NO_HZ && RCU_USER_QS && VIRT_CPU_ACCOUNTING_GEN && RCU_NOCB_CPU && SMP - select CONTEXT_TRACKING_FORCE - help - Adaptively try to shutdown the tick whenever possible, even when + bool "Full dynticks system" + # NO_HZ dependency + depends on !ARCH_USES_GETTIMEOFFSET && GENERIC_CLOCKEVENTS + # RCU_USER_QS + depends on HAVE_CONTEXT_TRACKING && SMP + # RCU_NOCB_CPU dependency + depends on TREE_RCU || TREE_PREEMPT_RCU + depends on VIRT_CPU_ACCOUNTING_GEN + select NO_HZ + select RCU_USER_QS + select RCU_NOCB_CPU + select CONTEXT_TRACKING_FORCE + help + Adaptively try to shutdown the tick whenever possible, even when the CPU is running tasks. Typically this requires running a single task on the CPU. Chances for running tickless are maximized when the task mostly runs in userspace and has few kernel activity.