138 lines · 3.6 KB · Text
RawDownload
## Timer subsystem related configuration options# # Options selectable by arch Kconfig # Watchdog function for clocksources to detect instabilitiesconfig CLOCKSOURCE_WATCHDOG	bool # Architecture has extra clocksource dataconfig ARCH_CLOCKSOURCE_DATA	bool # Architecture has extra clocksource init called from registrationconfig ARCH_CLOCKSOURCE_INIT	bool # Clocksources require validation of the clocksource against the last# cycle update - x86/TSC misfeatureconfig CLOCKSOURCE_VALIDATE_LAST_CYCLE	bool # Timekeeping vsyscall supportconfig GENERIC_TIME_VSYSCALL	bool # Old style timekeepingconfig ARCH_USES_GETTIMEOFFSET	bool # The generic clock events infrastructureconfig GENERIC_CLOCKEVENTS	bool # Architecture can handle broadcast in a driver-agnostic wayconfig ARCH_HAS_TICK_BROADCAST	bool # Clockevents broadcasting infrastructureconfig GENERIC_CLOCKEVENTS_BROADCAST	bool	depends on GENERIC_CLOCKEVENTS # Automatically adjust the min. reprogramming time for# clock event deviceconfig GENERIC_CLOCKEVENTS_MIN_ADJUST	bool # Generic update of CMOS clockconfig GENERIC_CMOS_UPDATE	bool if GENERIC_CLOCKEVENTSmenu "Timers subsystem" # Core internal switch. Selected by NO_HZ_COMMON / HIGH_RES_TIMERS. This is# only related to the tick functionality. Oneshot clockevent devices# are supported independent of this.config TICK_ONESHOT	bool config NO_HZ_COMMON	bool	depends on !ARCH_USES_GETTIMEOFFSET && GENERIC_CLOCKEVENTS	select TICK_ONESHOT choice	prompt "Timer tick handling"	default NO_HZ_IDLE if NO_HZ config HZ_PERIODIC	bool "Periodic timer ticks (constant rate, no dynticks)"	help	  This option keeps the tick running periodically at a constant	  rate, even when the CPU doesn't need it. config NO_HZ_IDLE	bool "Idle dynticks system (tickless idle)"	depends on !ARCH_USES_GETTIMEOFFSET && GENERIC_CLOCKEVENTS	select NO_HZ_COMMON	help	  This option enables a tickless idle system: timer interrupts	  will only trigger on an as-needed basis when the system is idle.	  This is usually interesting for energy saving. 	  Most of the time you want to say Y here. config NO_HZ_FULL	bool "Full dynticks system (tickless)"	# NO_HZ_COMMON dependency	depends on !ARCH_USES_GETTIMEOFFSET && GENERIC_CLOCKEVENTS	# We need at least one periodic CPU for timekeeping	depends on SMP	depends on HAVE_CONTEXT_TRACKING	# VIRT_CPU_ACCOUNTING_GEN dependency	depends on HAVE_VIRT_CPU_ACCOUNTING_GEN	select NO_HZ_COMMON	select RCU_NOCB_CPU	select VIRT_CPU_ACCOUNTING_GEN	select IRQ_WORK	select CPU_ISOLATION	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_full 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. endchoice config NO_HZ	bool "Old Idle dynticks config"	depends on !ARCH_USES_GETTIMEOFFSET && GENERIC_CLOCKEVENTS	help	  This is the old config entry that enables dynticks idle.	  We keep it around for a little while to enforce backward	  compatibility with older config files. 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. endmenuendif