summaryrefslogtreecommitdiffstats
path: root/arch/s390/kernel/time.c
diff options
context:
space:
mode:
authorJeff Garzik <jeff@garzik.org>2006-05-20 06:03:38 +0200
committerJeff Garzik <jeff@garzik.org>2006-05-20 06:03:38 +0200
commitbadc48e6605ddeeb2484afae5993c859494decaa (patch)
tree7da638f9bb53b1812b71e40ad6deca91d59ad301 /arch/s390/kernel/time.c
parentMerge branch 'upstream-fixes' into upstream (diff)
parentMerge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/rolan... (diff)
downloadlinux-badc48e6605ddeeb2484afae5993c859494decaa.tar.xz
linux-badc48e6605ddeeb2484afae5993c859494decaa.zip
Merge branch 'master' into upstream
Diffstat (limited to 'arch/s390/kernel/time.c')
-rw-r--r--arch/s390/kernel/time.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/arch/s390/kernel/time.c b/arch/s390/kernel/time.c
index fea043b69b91..029f09901b85 100644
--- a/arch/s390/kernel/time.c
+++ b/arch/s390/kernel/time.c
@@ -249,18 +249,19 @@ static inline void stop_hz_timer(void)
unsigned long flags;
unsigned long seq, next;
__u64 timer, todval;
+ int cpu = smp_processor_id();
if (sysctl_hz_timer != 0)
return;
- cpu_set(smp_processor_id(), nohz_cpu_mask);
+ cpu_set(cpu, nohz_cpu_mask);
/*
* Leave the clock comparator set up for the next timer
* tick if either rcu or a softirq is pending.
*/
- if (rcu_pending(smp_processor_id()) || local_softirq_pending()) {
- cpu_clear(smp_processor_id(), nohz_cpu_mask);
+ if (rcu_needs_cpu(cpu) || local_softirq_pending()) {
+ cpu_clear(cpu, nohz_cpu_mask);
return;
}