| # |
| # 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" |
| 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 |
| 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 |