diff options
author | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2009-09-29 12:25:16 (GMT) |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2009-11-05 06:53:53 (GMT) |
commit | 3c5d92a0cfb5103c0d5ab74d4ae6373d3af38148 (patch) | |
tree | c8b50351568601428b6f9396ebfdd65e486b3097 /arch/s390/kernel/vtime.c | |
parent | eed3b9cf3fe3fcc7a50238dfcab63a63914e8f42 (diff) | |
download | linux-3c5d92a0cfb5103c0d5ab74d4ae6373d3af38148.tar.xz |
nohz: Introduce arch_needs_cpu
Allow the architecture to request a normal jiffy tick when the system
goes idle and tick_nohz_stop_sched_tick is called . On s390 the hook is
used to prevent the system going fully idle if there has been an
interrupt other than a clock comparator interrupt since the last wakeup.
On s390 the HiperSockets response time for 1 connection ping-pong goes
down from 42 to 34 microseconds. The CPU cost decreases by 27%.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
LKML-Reference: <20090929122533.402715150@de.ibm.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/s390/kernel/vtime.c')
-rw-r--r-- | arch/s390/kernel/vtime.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/s390/kernel/vtime.c b/arch/s390/kernel/vtime.c index c41bb0d..b59a812 100644 --- a/arch/s390/kernel/vtime.c +++ b/arch/s390/kernel/vtime.c @@ -167,6 +167,8 @@ void vtime_stop_cpu(void) /* Wait for external, I/O or machine check interrupt. */ psw.mask = psw_kernel_bits | PSW_MASK_WAIT | PSW_MASK_IO | PSW_MASK_EXT; + idle->nohz_delay = 0; + /* Check if the CPU timer needs to be reprogrammed. */ if (vq->do_spt) { __u64 vmax = VTIMER_MAX_SLICE; |