diff options
author | Gregory Nutt <gnutt@nuttx.org> | 2014-08-06 18:25:42 -0600 |
---|---|---|
committer | Gregory Nutt <gnutt@nuttx.org> | 2014-08-06 18:25:42 -0600 |
commit | 9cf825b0a7a00f05a5347e03376ecded311de3c0 (patch) | |
tree | aac9afa25d6a86609da3b47da53592b52f3691f4 | |
parent | e6b48c3e1e8b18943bcd4f36a3fa0c1a79f3687a (diff) | |
download | nuttx-9cf825b0a7a00f05a5347e03376ecded311de3c0.tar.gz nuttx-9cf825b0a7a00f05a5347e03376ecded311de3c0.tar.bz2 nuttx-9cf825b0a7a00f05a5347e03376ecded311de3c0.zip |
Add a new option CONFIG_SCHED_TICKLESS to enable the tickless OS. This is a work in progress but should be relatively safe since the new features are only enabled by this option (Safer but not 100% safe since it does not protect from typos and other dumb errors).
-rw-r--r-- | nuttx/sched/Kconfig | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/nuttx/sched/Kconfig b/nuttx/sched/Kconfig index b46e7320b..c1af2c252 100644 --- a/nuttx/sched/Kconfig +++ b/nuttx/sched/Kconfig @@ -53,14 +53,37 @@ endif # DISABLE_OS_API menu "Clocks and Timers" +config SCHED_TICKLESS + bool "Support tick-less OS" + default n + depends on EXPERIMENTAL + ---help--- + Be default, system time is driven by a periodic timer interrupt. An + alternative configurations is a tick-less configuration in which + there is no periodic timer interrupt. Instead and interval timer is + used to schedule the next OS time event. This option selects that + tick-less OS option. If the tick-less OS is selected, then there are + additional plaform specific interfaces that must be provided as + defined include/nuttx/arch.h + config MSEC_PER_TICK int "Milliseconds per system timer tick" - default 10 + default 10 if !SCHED_TICKLESS + default 1 if SCHED_TICKLESS ---help--- The default system timer is 100Hz or MSEC_PER_TICK=10. This setting may be defined to inform NuttX that the processor hardware is providing system timer interrupts at some interrupt interval other than 10 msec. + If SCHED_TICKLESS is selected, then there are no system timer + interrupts. In this case, MSEC_PER_TICK does not control any timer + rates. Rather, it only determines the resolution of time reported + by clock_systimer() and the resolution of times that can be set for + certain delays including watchdog timers and delayed work. In these + cases it is better to have the MSEC_PER_TICK as low as possible. + +if !SCHED_TICKLESS + config SYSTEMTICK_EXTCLK bool "Use external clock" default n @@ -72,6 +95,8 @@ config SYSTEMTICK_EXTCLK to move the scheduling off the processor clock to allow entering low power states that would disable that clock. +endif # !SCHED_TICKLESS + config SYSTEM_TIME64 bool "64-bit system clock" default n |