From a4cbc11058eb0382c873943aebf5beb57798cfe3 Mon Sep 17 00:00:00 2001 From: Richard Cochran Date: Thu, 26 Apr 2012 14:11:32 +0200 Subject: [PATCH] --- yaml --- r: 307617 b: refs/heads/master c: dd48d708ff3e917f6d6b6c2b696c3f18c019feed h: refs/heads/master i: 307615: 1cb2d5a6b289793a3c7d9bc111e36577e477931f v: v3 --- [refs] | 2 +- trunk/arch/arm/Kconfig | 2 + trunk/arch/avr32/Kconfig | 2 + trunk/arch/blackfin/Kconfig | 2 + trunk/arch/c6x/Kconfig | 1 + trunk/arch/h8300/Kconfig.cpu | 2 + trunk/arch/hexagon/Kconfig | 1 + trunk/arch/m68k/Kconfig | 4 ++ trunk/arch/microblaze/Kconfig | 2 + trunk/arch/mips/Kconfig | 2 + trunk/arch/mn10300/Kconfig | 1 + trunk/arch/openrisc/Kconfig | 1 + trunk/arch/powerpc/Kconfig | 1 + trunk/arch/s390/Kconfig | 2 + trunk/arch/score/Kconfig | 1 + trunk/arch/sh/Kconfig | 3 ++ trunk/arch/sparc/Kconfig | 2 + trunk/arch/tile/Kconfig | 2 + trunk/arch/um/Kconfig.um | 1 + trunk/arch/unicore32/Kconfig | 2 + trunk/arch/x86/Kconfig | 2 + trunk/init/Kconfig | 1 - trunk/kernel/time/Kconfig | 73 +++++++++++++++-------------------- trunk/kernel/time/ntp.c | 2 +- 24 files changed, 70 insertions(+), 44 deletions(-) diff --git a/[refs] b/[refs] index 185e2385ff37..5a1364725232 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 764e0da14fd7ac2d259d98d34ece0a87d32306c9 +refs/heads/master: dd48d708ff3e917f6d6b6c2b696c3f18c019feed diff --git a/trunk/arch/arm/Kconfig b/trunk/arch/arm/Kconfig index c1e5f07fab93..feccc1d37ecf 100644 --- a/trunk/arch/arm/Kconfig +++ b/trunk/arch/arm/Kconfig @@ -1459,6 +1459,8 @@ endmenu menu "Kernel Features" +source "kernel/time/Kconfig" + config HAVE_SMP bool help diff --git a/trunk/arch/avr32/Kconfig b/trunk/arch/avr32/Kconfig index f8bc2d27d148..0bd13ab9f43b 100644 --- a/trunk/arch/avr32/Kconfig +++ b/trunk/arch/avr32/Kconfig @@ -61,6 +61,8 @@ source "kernel/Kconfig.freezer" menu "System Type and features" +source "kernel/time/Kconfig" + config SUBARCH_AVR32B bool config MMU diff --git a/trunk/arch/blackfin/Kconfig b/trunk/arch/blackfin/Kconfig index f7897eefa630..bc21de2e8fed 100644 --- a/trunk/arch/blackfin/Kconfig +++ b/trunk/arch/blackfin/Kconfig @@ -631,6 +631,8 @@ config GPTMR0_CLOCKSOURCE depends on !TICKSOURCE_GPTMR0 endmenu +source kernel/time/Kconfig + comment "Misc" choice diff --git a/trunk/arch/c6x/Kconfig b/trunk/arch/c6x/Kconfig index 9d446eff2c04..30c04c658b9e 100644 --- a/trunk/arch/c6x/Kconfig +++ b/trunk/arch/c6x/Kconfig @@ -132,6 +132,7 @@ source "mm/Kconfig" source "kernel/Kconfig.preempt" source "kernel/Kconfig.hz" +source "kernel/time/Kconfig" endmenu diff --git a/trunk/arch/h8300/Kconfig.cpu b/trunk/arch/h8300/Kconfig.cpu index 321f3922728b..15c22286ae79 100644 --- a/trunk/arch/h8300/Kconfig.cpu +++ b/trunk/arch/h8300/Kconfig.cpu @@ -1,5 +1,7 @@ menu "Processor type and features" +source "kernel/time/Kconfig" + choice prompt "H8/300 platform" default H8300H_GENERIC diff --git a/trunk/arch/hexagon/Kconfig b/trunk/arch/hexagon/Kconfig index 35f6c32d040c..7727ed9d2bf3 100644 --- a/trunk/arch/hexagon/Kconfig +++ b/trunk/arch/hexagon/Kconfig @@ -183,6 +183,7 @@ endchoice source "mm/Kconfig" source "kernel/Kconfig.hz" +source "kernel/time/Kconfig" config GENERIC_GPIO bool "Generic GPIO support" diff --git a/trunk/arch/m68k/Kconfig b/trunk/arch/m68k/Kconfig index cac5b6be572a..2f4b0f0610d6 100644 --- a/trunk/arch/m68k/Kconfig +++ b/trunk/arch/m68k/Kconfig @@ -106,6 +106,10 @@ if COLDFIRE source "kernel/Kconfig.preempt" endif +if !MMU || COLDFIRE +source "kernel/time/Kconfig" +endif + source "mm/Kconfig" endmenu diff --git a/trunk/arch/microblaze/Kconfig b/trunk/arch/microblaze/Kconfig index 83460468998d..3e786ac9a655 100644 --- a/trunk/arch/microblaze/Kconfig +++ b/trunk/arch/microblaze/Kconfig @@ -74,6 +74,8 @@ source "arch/microblaze/platform/Kconfig.platform" menu "Processor type and features" +source "kernel/time/Kconfig" + source "kernel/Kconfig.preempt" source "kernel/Kconfig.hz" diff --git a/trunk/arch/mips/Kconfig b/trunk/arch/mips/Kconfig index b65a730cba75..c9c330bc4e76 100644 --- a/trunk/arch/mips/Kconfig +++ b/trunk/arch/mips/Kconfig @@ -2205,6 +2205,8 @@ config NR_CPUS performance should round up your number of processors to the next power of two. +source "kernel/time/Kconfig" + # # Timer Interrupt Frequency Configuration # diff --git a/trunk/arch/mn10300/Kconfig b/trunk/arch/mn10300/Kconfig index 687f9b4a2ed6..7f78057af2f5 100644 --- a/trunk/arch/mn10300/Kconfig +++ b/trunk/arch/mn10300/Kconfig @@ -226,6 +226,7 @@ config MN10300_USING_JTAG single-stepping, which are taken over completely by the JTAG unit. source "kernel/Kconfig.hz" +source "kernel/time/Kconfig" config MN10300_RTC bool "Using MN10300 RTC" diff --git a/trunk/arch/openrisc/Kconfig b/trunk/arch/openrisc/Kconfig index 70653039e79b..be04485431fe 100644 --- a/trunk/arch/openrisc/Kconfig +++ b/trunk/arch/openrisc/Kconfig @@ -106,6 +106,7 @@ config OPENRISC_HAVE_INST_DIV endmenu +source "kernel/time/Kconfig" source kernel/Kconfig.hz source kernel/Kconfig.preempt source "mm/Kconfig" diff --git a/trunk/arch/powerpc/Kconfig b/trunk/arch/powerpc/Kconfig index d47cf7ffa792..901215f7a2f2 100644 --- a/trunk/arch/powerpc/Kconfig +++ b/trunk/arch/powerpc/Kconfig @@ -278,6 +278,7 @@ config HIGHMEM bool "High memory support" depends on PPC32 +source kernel/time/Kconfig source kernel/Kconfig.hz source kernel/Kconfig.preempt source "fs/Kconfig.binfmt" diff --git a/trunk/arch/s390/Kconfig b/trunk/arch/s390/Kconfig index d0325d9ae21f..f9edb9303a7e 100644 --- a/trunk/arch/s390/Kconfig +++ b/trunk/arch/s390/Kconfig @@ -131,6 +131,8 @@ menu "Base setup" comment "Processor type and features" +source "kernel/time/Kconfig" + config 64BIT def_bool y prompt "64 bit kernel" diff --git a/trunk/arch/score/Kconfig b/trunk/arch/score/Kconfig index ba0f412920be..f5d3b3237419 100644 --- a/trunk/arch/score/Kconfig +++ b/trunk/arch/score/Kconfig @@ -66,6 +66,7 @@ config MEMORY_START hex default 0xa0000000 +source "kernel/time/Kconfig" source "kernel/Kconfig.hz" source "kernel/Kconfig.preempt" diff --git a/trunk/arch/sh/Kconfig b/trunk/arch/sh/Kconfig index 820dfe3c7b69..cffd8b0082d5 100644 --- a/trunk/arch/sh/Kconfig +++ b/trunk/arch/sh/Kconfig @@ -577,6 +577,9 @@ config SH_CLK_CPG_LEGACY depends on SH_CLK_CPG def_bool y if !CPU_SUBTYPE_SH7785 && !ARCH_SHMOBILE && \ !CPU_SHX3 && !CPU_SUBTYPE_SH7757 + +source "kernel/time/Kconfig" + endmenu menu "CPU Frequency scaling" diff --git a/trunk/arch/sparc/Kconfig b/trunk/arch/sparc/Kconfig index b5a035a5c53a..33399d3d90bc 100644 --- a/trunk/arch/sparc/Kconfig +++ b/trunk/arch/sparc/Kconfig @@ -266,6 +266,8 @@ config HOTPLUG_CPU can be controlled through /sys/devices/system/cpu/cpu#. Say N if you want to disable CPU hotplug. +source "kernel/time/Kconfig" + if SPARC64 source "drivers/cpufreq/Kconfig" diff --git a/trunk/arch/tile/Kconfig b/trunk/arch/tile/Kconfig index 4eec3a1a72c0..b56772cac5d2 100644 --- a/trunk/arch/tile/Kconfig +++ b/trunk/arch/tile/Kconfig @@ -136,6 +136,8 @@ config NR_CPUS smaller kernel memory footprint results from using a smaller value on chips with fewer tiles. +source "kernel/time/Kconfig" + source "kernel/Kconfig.hz" config KEXEC diff --git a/trunk/arch/um/Kconfig.um b/trunk/arch/um/Kconfig.um index bf87f25eb2de..70fd690964e4 100644 --- a/trunk/arch/um/Kconfig.um +++ b/trunk/arch/um/Kconfig.um @@ -10,6 +10,7 @@ config STATIC_LINK 2.75G) for UML. source "mm/Kconfig" +source "kernel/time/Kconfig" config LD_SCRIPT_STATIC bool diff --git a/trunk/arch/unicore32/Kconfig b/trunk/arch/unicore32/Kconfig index 47ad5210606f..a25ca7606bea 100644 --- a/trunk/arch/unicore32/Kconfig +++ b/trunk/arch/unicore32/Kconfig @@ -143,6 +143,8 @@ endmenu menu "Kernel Features" +source "kernel/time/Kconfig" + source "kernel/Kconfig.preempt" source "kernel/Kconfig.hz" diff --git a/trunk/arch/x86/Kconfig b/trunk/arch/x86/Kconfig index 1b1e0493ef7f..3b0a9217836a 100644 --- a/trunk/arch/x86/Kconfig +++ b/trunk/arch/x86/Kconfig @@ -241,6 +241,8 @@ config ZONE_DMA If unsure, say Y. +source "kernel/time/Kconfig" + config SMP bool "Symmetric multi-processing support" ---help--- diff --git a/trunk/init/Kconfig b/trunk/init/Kconfig index 528a0c4111cc..6cfd71d06463 100644 --- a/trunk/init/Kconfig +++ b/trunk/init/Kconfig @@ -387,7 +387,6 @@ config AUDIT_LOGINUID_IMMUTABLE but may not be backwards compatible with older init systems. source "kernel/irq/Kconfig" -source "kernel/time/Kconfig" menu "RCU Subsystem" diff --git a/trunk/kernel/time/Kconfig b/trunk/kernel/time/Kconfig index fd42bd452b75..f6ebc4ff702a 100644 --- a/trunk/kernel/time/Kconfig +++ b/trunk/kernel/time/Kconfig @@ -2,6 +2,38 @@ # Timer subsystem related configuration options # +# 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 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. + +config GENERIC_CLOCKEVENTS_BUILD + bool + default y + depends on GENERIC_CLOCKEVENTS + +config GENERIC_CLOCKEVENTS_MIN_ADJUST + bool + # Options selectable by arch Kconfig # Watchdog function for clocksources to detect instabilities @@ -28,52 +60,11 @@ config ARCH_USES_GETTIMEOFFSET config GENERIC_CLOCKEVENTS bool -# Migration helper. Builds, but does not invoke -config GENERIC_CLOCKEVENTS_BUILD - bool - default y - depends on GENERIC_CLOCKEVENTS - # 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 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 diff --git a/trunk/kernel/time/ntp.c b/trunk/kernel/time/ntp.c index f03fd83b170b..e8c867173ae5 100644 --- a/trunk/kernel/time/ntp.c +++ b/trunk/kernel/time/ntp.c @@ -412,6 +412,7 @@ int second_overflow(unsigned long secs) if (secs % 86400 == 0) { leap = -1; time_state = TIME_OOP; + time_tai++; printk(KERN_NOTICE "Clock: inserting leap second 23:59:60 UTC\n"); } @@ -426,7 +427,6 @@ int second_overflow(unsigned long secs) } break; case TIME_OOP: - time_tai++; time_state = TIME_WAIT; break;