diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-10-26 11:15:03 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-10-26 11:15:03 -0400 |
commit | 39adff5f69d6849ca22353a88058c9f8630528c0 (patch) | |
tree | b0c2d2de77ebc5c97fd19c29b81eeb03549553f8 /arch | |
parent | 8a4a8918ed6e4a361f4df19f199bbc2d0a89a46c (diff) | |
parent | e35f95b36e43f67a6f806172555a152c11ea0a78 (diff) |
Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
* 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (23 commits)
time, s390: Get rid of compile warning
dw_apb_timer: constify clocksource name
time: Cleanup old CONFIG_GENERIC_TIME references that snuck in
time: Change jiffies_to_clock_t() argument type to unsigned long
alarmtimers: Fix error handling
clocksource: Make watchdog reset lockless
posix-cpu-timers: Cure SMP accounting oddities
s390: Use direct ktime path for s390 clockevent device
clockevents: Add direct ktime programming function
clockevents: Make minimum delay adjustments configurable
nohz: Remove "Switched to NOHz mode" debugging messages
proc: Consider NO_HZ when printing idle and iowait times
nohz: Make idle/iowait counter update conditional
nohz: Fix update_ts_time_stat idle accounting
cputime: Clean up cputime_to_usecs and usecs_to_cputime macros
alarmtimers: Rework RTC device selection using class interface
alarmtimers: Add try_to_cancel functionality
alarmtimers: Add more refined alarm state tracking
alarmtimers: Remove period from alarm structure
alarmtimers: Remove interval cap limit hack
...
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/Kconfig | 4 | ||||
-rw-r--r-- | arch/mn10300/Kconfig | 3 | ||||
-rw-r--r-- | arch/s390/kernel/time.c | 13 | ||||
-rw-r--r-- | arch/tile/Kconfig | 3 | ||||
-rw-r--r-- | arch/tile/configs/tilegx_defconfig | 1 | ||||
-rw-r--r-- | arch/tile/configs/tilepro_defconfig | 1 | ||||
-rw-r--r-- | arch/um/defconfig | 1 | ||||
-rw-r--r-- | arch/x86/Kconfig | 1 | ||||
-rw-r--r-- | arch/xtensa/configs/iss_defconfig | 1 | ||||
-rw-r--r-- | arch/xtensa/configs/s6105_defconfig | 1 |
10 files changed, 10 insertions, 19 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 795126ea4935..8090cad0dd52 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig | |||
@@ -346,7 +346,6 @@ config ARCH_GEMINI | |||
346 | config ARCH_PRIMA2 | 346 | config ARCH_PRIMA2 |
347 | bool "CSR SiRFSoC PRIMA2 ARM Cortex A9 Platform" | 347 | bool "CSR SiRFSoC PRIMA2 ARM Cortex A9 Platform" |
348 | select CPU_V7 | 348 | select CPU_V7 |
349 | select GENERIC_TIME | ||
350 | select NO_IOPORT | 349 | select NO_IOPORT |
351 | select GENERIC_CLOCKEVENTS | 350 | select GENERIC_CLOCKEVENTS |
352 | select CLKDEV_LOOKUP | 351 | select CLKDEV_LOOKUP |
@@ -520,7 +519,6 @@ config ARCH_LPC32XX | |||
520 | select ARM_AMBA | 519 | select ARM_AMBA |
521 | select USB_ARCH_HAS_OHCI | 520 | select USB_ARCH_HAS_OHCI |
522 | select CLKDEV_LOOKUP | 521 | select CLKDEV_LOOKUP |
523 | select GENERIC_TIME | ||
524 | select GENERIC_CLOCKEVENTS | 522 | select GENERIC_CLOCKEVENTS |
525 | help | 523 | help |
526 | Support for the NXP LPC32XX family of processors | 524 | Support for the NXP LPC32XX family of processors |
@@ -599,7 +597,6 @@ config ARCH_TEGRA | |||
599 | bool "NVIDIA Tegra" | 597 | bool "NVIDIA Tegra" |
600 | select CLKDEV_LOOKUP | 598 | select CLKDEV_LOOKUP |
601 | select CLKSRC_MMIO | 599 | select CLKSRC_MMIO |
602 | select GENERIC_TIME | ||
603 | select GENERIC_CLOCKEVENTS | 600 | select GENERIC_CLOCKEVENTS |
604 | select GENERIC_GPIO | 601 | select GENERIC_GPIO |
605 | select HAVE_CLK | 602 | select HAVE_CLK |
@@ -914,7 +911,6 @@ config ARCH_VT8500 | |||
914 | config ARCH_ZYNQ | 911 | config ARCH_ZYNQ |
915 | bool "Xilinx Zynq ARM Cortex A9 Platform" | 912 | bool "Xilinx Zynq ARM Cortex A9 Platform" |
916 | select CPU_V7 | 913 | select CPU_V7 |
917 | select GENERIC_TIME | ||
918 | select GENERIC_CLOCKEVENTS | 914 | select GENERIC_CLOCKEVENTS |
919 | select CLKDEV_LOOKUP | 915 | select CLKDEV_LOOKUP |
920 | select ARM_GIC | 916 | select ARM_GIC |
diff --git a/arch/mn10300/Kconfig b/arch/mn10300/Kconfig index f093b3a8a4a1..438db84a1f7c 100644 --- a/arch/mn10300/Kconfig +++ b/arch/mn10300/Kconfig | |||
@@ -47,9 +47,6 @@ config GENERIC_CMOS_UPDATE | |||
47 | config GENERIC_HWEIGHT | 47 | config GENERIC_HWEIGHT |
48 | def_bool y | 48 | def_bool y |
49 | 49 | ||
50 | config GENERIC_TIME | ||
51 | def_bool y | ||
52 | |||
53 | config GENERIC_CLOCKEVENTS | 50 | config GENERIC_CLOCKEVENTS |
54 | def_bool y | 51 | def_bool y |
55 | 52 | ||
diff --git a/arch/s390/kernel/time.c b/arch/s390/kernel/time.c index dff933065ab6..8d65bd0383fc 100644 --- a/arch/s390/kernel/time.c +++ b/arch/s390/kernel/time.c | |||
@@ -109,10 +109,14 @@ static void fixup_clock_comparator(unsigned long long delta) | |||
109 | set_clock_comparator(S390_lowcore.clock_comparator); | 109 | set_clock_comparator(S390_lowcore.clock_comparator); |
110 | } | 110 | } |
111 | 111 | ||
112 | static int s390_next_event(unsigned long delta, | 112 | static int s390_next_ktime(ktime_t expires, |
113 | struct clock_event_device *evt) | 113 | struct clock_event_device *evt) |
114 | { | 114 | { |
115 | S390_lowcore.clock_comparator = get_clock() + delta; | 115 | u64 nsecs; |
116 | |||
117 | nsecs = ktime_to_ns(ktime_sub(expires, ktime_get_monotonic_offset())); | ||
118 | do_div(nsecs, 125); | ||
119 | S390_lowcore.clock_comparator = TOD_UNIX_EPOCH + (nsecs << 9); | ||
116 | set_clock_comparator(S390_lowcore.clock_comparator); | 120 | set_clock_comparator(S390_lowcore.clock_comparator); |
117 | return 0; | 121 | return 0; |
118 | } | 122 | } |
@@ -137,14 +141,15 @@ void init_cpu_timer(void) | |||
137 | cpu = smp_processor_id(); | 141 | cpu = smp_processor_id(); |
138 | cd = &per_cpu(comparators, cpu); | 142 | cd = &per_cpu(comparators, cpu); |
139 | cd->name = "comparator"; | 143 | cd->name = "comparator"; |
140 | cd->features = CLOCK_EVT_FEAT_ONESHOT; | 144 | cd->features = CLOCK_EVT_FEAT_ONESHOT | |
145 | CLOCK_EVT_FEAT_KTIME; | ||
141 | cd->mult = 16777; | 146 | cd->mult = 16777; |
142 | cd->shift = 12; | 147 | cd->shift = 12; |
143 | cd->min_delta_ns = 1; | 148 | cd->min_delta_ns = 1; |
144 | cd->max_delta_ns = LONG_MAX; | 149 | cd->max_delta_ns = LONG_MAX; |
145 | cd->rating = 400; | 150 | cd->rating = 400; |
146 | cd->cpumask = cpumask_of(cpu); | 151 | cd->cpumask = cpumask_of(cpu); |
147 | cd->set_next_event = s390_next_event; | 152 | cd->set_next_ktime = s390_next_ktime; |
148 | cd->set_mode = s390_set_mode; | 153 | cd->set_mode = s390_set_mode; |
149 | 154 | ||
150 | clockevents_register_device(cd); | 155 | clockevents_register_device(cd); |
diff --git a/arch/tile/Kconfig b/arch/tile/Kconfig index b30f71ac0d06..70a0de46cd1b 100644 --- a/arch/tile/Kconfig +++ b/arch/tile/Kconfig | |||
@@ -46,9 +46,6 @@ config NEED_PER_CPU_PAGE_FIRST_CHUNK | |||
46 | config SYS_SUPPORTS_HUGETLBFS | 46 | config SYS_SUPPORTS_HUGETLBFS |
47 | def_bool y | 47 | def_bool y |
48 | 48 | ||
49 | config GENERIC_TIME | ||
50 | def_bool y | ||
51 | |||
52 | config GENERIC_CLOCKEVENTS | 49 | config GENERIC_CLOCKEVENTS |
53 | def_bool y | 50 | def_bool y |
54 | 51 | ||
diff --git a/arch/tile/configs/tilegx_defconfig b/arch/tile/configs/tilegx_defconfig index 2ad73fb707b9..dafdbbae1124 100644 --- a/arch/tile/configs/tilegx_defconfig +++ b/arch/tile/configs/tilegx_defconfig | |||
@@ -11,7 +11,6 @@ CONFIG_HAVE_ARCH_ALLOC_REMAP=y | |||
11 | CONFIG_HAVE_SETUP_PER_CPU_AREA=y | 11 | CONFIG_HAVE_SETUP_PER_CPU_AREA=y |
12 | CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y | 12 | CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y |
13 | CONFIG_SYS_SUPPORTS_HUGETLBFS=y | 13 | CONFIG_SYS_SUPPORTS_HUGETLBFS=y |
14 | CONFIG_GENERIC_TIME=y | ||
15 | CONFIG_GENERIC_CLOCKEVENTS=y | 14 | CONFIG_GENERIC_CLOCKEVENTS=y |
16 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 15 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
17 | CONFIG_DEFAULT_MIGRATION_COST=10000000 | 16 | CONFIG_DEFAULT_MIGRATION_COST=10000000 |
diff --git a/arch/tile/configs/tilepro_defconfig b/arch/tile/configs/tilepro_defconfig index f58dc362b944..6f05f969b564 100644 --- a/arch/tile/configs/tilepro_defconfig +++ b/arch/tile/configs/tilepro_defconfig | |||
@@ -11,7 +11,6 @@ CONFIG_HAVE_ARCH_ALLOC_REMAP=y | |||
11 | CONFIG_HAVE_SETUP_PER_CPU_AREA=y | 11 | CONFIG_HAVE_SETUP_PER_CPU_AREA=y |
12 | CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y | 12 | CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y |
13 | CONFIG_SYS_SUPPORTS_HUGETLBFS=y | 13 | CONFIG_SYS_SUPPORTS_HUGETLBFS=y |
14 | CONFIG_GENERIC_TIME=y | ||
15 | CONFIG_GENERIC_CLOCKEVENTS=y | 14 | CONFIG_GENERIC_CLOCKEVENTS=y |
16 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 15 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
17 | CONFIG_DEFAULT_MIGRATION_COST=10000000 | 16 | CONFIG_DEFAULT_MIGRATION_COST=10000000 |
diff --git a/arch/um/defconfig b/arch/um/defconfig index 9f7634f08cf3..761f5e1a657e 100644 --- a/arch/um/defconfig +++ b/arch/um/defconfig | |||
@@ -13,7 +13,6 @@ CONFIG_LOCKDEP_SUPPORT=y | |||
13 | # CONFIG_STACKTRACE_SUPPORT is not set | 13 | # CONFIG_STACKTRACE_SUPPORT is not set |
14 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 14 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
15 | CONFIG_GENERIC_BUG=y | 15 | CONFIG_GENERIC_BUG=y |
16 | CONFIG_GENERIC_TIME=y | ||
17 | CONFIG_GENERIC_CLOCKEVENTS=y | 16 | CONFIG_GENERIC_CLOCKEVENTS=y |
18 | CONFIG_IRQ_RELEASE_METHOD=y | 17 | CONFIG_IRQ_RELEASE_METHOD=y |
19 | CONFIG_HZ=100 | 18 | CONFIG_HZ=100 |
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 9037289617ac..e022f82cd0d0 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig | |||
@@ -68,6 +68,7 @@ config X86 | |||
68 | select GENERIC_IRQ_PROBE | 68 | select GENERIC_IRQ_PROBE |
69 | select GENERIC_PENDING_IRQ if SMP | 69 | select GENERIC_PENDING_IRQ if SMP |
70 | select GENERIC_IRQ_SHOW | 70 | select GENERIC_IRQ_SHOW |
71 | select GENERIC_CLOCKEVENTS_MIN_ADJUST | ||
71 | select IRQ_FORCED_THREADING | 72 | select IRQ_FORCED_THREADING |
72 | select USE_GENERIC_SMP_HELPERS if SMP | 73 | select USE_GENERIC_SMP_HELPERS if SMP |
73 | select HAVE_BPF_JIT if (X86_64 && NET) | 74 | select HAVE_BPF_JIT if (X86_64 && NET) |
diff --git a/arch/xtensa/configs/iss_defconfig b/arch/xtensa/configs/iss_defconfig index 0234cd198c54..f932b30b47fb 100644 --- a/arch/xtensa/configs/iss_defconfig +++ b/arch/xtensa/configs/iss_defconfig | |||
@@ -15,7 +15,6 @@ CONFIG_GENERIC_GPIO=y | |||
15 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set | 15 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set |
16 | CONFIG_NO_IOPORT=y | 16 | CONFIG_NO_IOPORT=y |
17 | CONFIG_HZ=100 | 17 | CONFIG_HZ=100 |
18 | CONFIG_GENERIC_TIME=y | ||
19 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 18 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
20 | CONFIG_CONSTRUCTORS=y | 19 | CONFIG_CONSTRUCTORS=y |
21 | 20 | ||
diff --git a/arch/xtensa/configs/s6105_defconfig b/arch/xtensa/configs/s6105_defconfig index 4891abbf16bc..550e8ed5b5c6 100644 --- a/arch/xtensa/configs/s6105_defconfig +++ b/arch/xtensa/configs/s6105_defconfig | |||
@@ -15,7 +15,6 @@ CONFIG_GENERIC_GPIO=y | |||
15 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set | 15 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set |
16 | CONFIG_NO_IOPORT=y | 16 | CONFIG_NO_IOPORT=y |
17 | CONFIG_HZ=100 | 17 | CONFIG_HZ=100 |
18 | CONFIG_GENERIC_TIME=y | ||
19 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 18 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
20 | 19 | ||
21 | # | 20 | # |