diff options
author | Russell King <rmk@dyn-67.arm.linux.org.uk> | 2005-06-25 14:39:45 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2005-06-25 14:39:45 -0400 |
commit | 8749af68216e1ebf6460992fce548f400ecf63a4 (patch) | |
tree | 6968809c357c1cf8167208f480f0e974bf9af955 /arch/arm/Kconfig | |
parent | 321ab6a5fab812658626aee6bce2617f8cfb3a55 (diff) |
[PATCH] ARM: Generic Dynamic Tick Timer support for ARM, take 4
This patch adds support for Dynamic Tick Timer for ARM. Dynamic Tick is
also known as VST (Variable Scheduling Timeouts).
Dynamic Tick has been in use in the OMAP tree since last October. The
patch is not intrusive, and does not do anything unless CONFIG_NO_IDLE_HZ
is defined. This patch has the following fixed based on comments from
RMK:
- Time is updated before calling interrupt handlers.
- Added new interrupt flag SA_TIMER to avoid duplicate timer interrupts
- Moved struct dyn_tick_timer to time.h until we at some point probably
have an arch independent dyn-tick.h
- Cleaned up testing for DYN_TICK_ENABLED in irq.c
I've cleaned up this patch to fix some remaining issues:
- Call the timer tick handler with irqs disabled, as it would be from
a normal interrupt
- if we have a dyn_tick, we better implement all methods.
- generic timer_dyn_reprogram() call, to be called before sleeping
- added command line option - "dyntick=" to allow boot-time control
of this feature
-- rmk
Signed-off-by: Tony Lindgren
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/Kconfig')
-rw-r--r-- | arch/arm/Kconfig | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index bfcf42280368..c8d94dcd8ef7 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig | |||
@@ -346,6 +346,21 @@ config PREEMPT | |||
346 | Say Y here if you are building a kernel for a desktop, embedded | 346 | Say Y here if you are building a kernel for a desktop, embedded |
347 | or real-time system. Say N if you are unsure. | 347 | or real-time system. Say N if you are unsure. |
348 | 348 | ||
349 | config NO_IDLE_HZ | ||
350 | bool "Dynamic tick timer" | ||
351 | help | ||
352 | Select this option if you want to disable continuous timer ticks | ||
353 | and have them programmed to occur as required. This option saves | ||
354 | power as the system can remain in idle state for longer. | ||
355 | |||
356 | By default dynamic tick is disabled during the boot, and can be | ||
357 | manually enabled with: | ||
358 | |||
359 | echo 1 > /sys/devices/system/timer/timer0/dyn_tick | ||
360 | |||
361 | Alternatively, if you want dynamic tick automatically enabled | ||
362 | during boot, pass "dyntick=enable" via the kernel command string. | ||
363 | |||
349 | config ARCH_DISCONTIGMEM_ENABLE | 364 | config ARCH_DISCONTIGMEM_ENABLE |
350 | bool | 365 | bool |
351 | default (ARCH_LH7A40X && !LH7A40X_CONTIGMEM) | 366 | default (ARCH_LH7A40X && !LH7A40X_CONTIGMEM) |