# # Timer subsystem related configuration options # # Options selectable by arch Kconfig # Watchdog function for clocksources to detect instabilities config CLOCKSOURCE_WATCHDOG bool # Architecture has extra clocksource data config ARCH_CLOCKSOURCE_DATA bool # Platforms has a persistent clock config ALWAYS_USE_PERSISTENT_CLOCK bool default n # Timekeeping vsyscall support config GENERIC_TIME_VSYSCALL bool # Timekeeping vsyscall support config GENERIC_TIME_VSYSCALL_OLD bool # ktime_t scalar 64bit nsec representation config KTIME_SCALAR bool # Old style timekeeping config ARCH_USES_GETTIMEOFFSET bool # The generic clock events infrastructure config GENERIC_CLOCKEVENTS bool # Migration helper. Builds, but does not invoke config GENERIC_CLOCKEVENTS_BUILD bool default y depends on GENERIC_CLOCKEVENTS # Architecture can handle broadcast in a driver-agnostic way config ARCH_HAS_TICK_BROADCAST bool # Clockevents broadcasting infrastructure config GENERIC_CLOCKEVENTS_BROADCAST bool depends on GENERIC_CLOCKEVENTS # Automatically adjust the min. reprogramming time for # clock event device config GENERIC_CLOCKEVENTS_MIN_ADJUST bool # Generic update of CMOS clock config GENERIC_CMOS_UPDATE bool if GENERIC_CLOCKEVENTS menu "Timers subsystem" # Core internal switch. Selected by NO_HZ / HIGH_RES_TIMERS. This is # only related to the tick functionality. Oneshot clockevent devices # are supported independ of this. config TICK_ONESHOT bool config NO_HZ bool "Tickless System (Dynamic Ticks)" depends on !ARCH_USES_GETTIMEOFFSET && GENERIC_CLOCKEVENTS select TICK_ONESHOT help This option enables a tickless system: timer interrupts will only trigger on an as-needed basis both when the system is busy and when the system is idle. config NO_HZ_EXTENDED 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. You need to fill up the nohz_extended boot parameter with the desired range of dynticks CPUs. This is implemented at the expense of some overhead in user <-> kernel transitions: syscalls, exceptions and interrupts. Even when it's dynamically off. Say N. config HIGH_RES_TIMERS bool "High Resolution Timer Support" depends on !ARCH_USES_GETTIMEOFFSET && GENERIC_CLOCKEVENTS select TICK_ONESHOT help This option enables high resolution timer support. If your hardware is not capable then this option only increases the size of the kernel image. endmenu endif