mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [patch] s390: exploit rcu_soon_pending() interface
@ 2006-04-24 11:13 Heiko Carstens
  0 siblings, 0 replies; only message in thread
From: Heiko Carstens @ 2006-04-24 11:13 UTC (permalink / raw)
  To: Andrew Morton, Dipankar Sarma, Manfred Spraul, linux-kernel
  Cc: davem, Martin Schwidefsky

From: Heiko Carstens <heiko.carstens@de.ibm.com>

Exploit rcu_soon_pending() interface to keep the cpu 'ticking'.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
---  

 arch/s390/kernel/time.c |    8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/arch/s390/kernel/time.c b/arch/s390/kernel/time.c
index fea043b..1c06c9c 100644
--- a/arch/s390/kernel/time.c
+++ b/arch/s390/kernel/time.c
@@ -249,18 +249,20 @@ 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_pending(cpu) || rcu_soon_pending(cpu) ||
+	    local_softirq_pending()) {
+		cpu_clear(cpu, nohz_cpu_mask);
 		return;
 	}
 

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2006-04-24 11:13 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-04-24 11:13 [patch] s390: exploit rcu_soon_pending() interface Heiko Carstens

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®