提交 5afdbd6e 编写于 作者: H Heiko Carstens 提交者: Linus Torvalds

[PATCH] s390: exploit rcu_needs_cpu() interface

Exploit rcu_needs_cpu() interface to keep the cpu 'ticking' if necessary.
Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: NAndrew Morton <akpm@osdl.org>
Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
上级 986733e0
...@@ -249,18 +249,19 @@ static inline void stop_hz_timer(void) ...@@ -249,18 +249,19 @@ static inline void stop_hz_timer(void)
unsigned long flags; unsigned long flags;
unsigned long seq, next; unsigned long seq, next;
__u64 timer, todval; __u64 timer, todval;
int cpu = smp_processor_id();
if (sysctl_hz_timer != 0) if (sysctl_hz_timer != 0)
return; 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 * Leave the clock comparator set up for the next timer
* tick if either rcu or a softirq is pending. * tick if either rcu or a softirq is pending.
*/ */
if (rcu_pending(smp_processor_id()) || local_softirq_pending()) { if (rcu_needs_cpu(cpu) || local_softirq_pending()) {
cpu_clear(smp_processor_id(), nohz_cpu_mask); cpu_clear(cpu, nohz_cpu_mask);
return; return;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册