Revision 860aed25a1f0936d4852ab936252b47cd1e630f1 authored by Paul Mackerras on 01 June 2012, 08:13:43 UTC, committed by Paul Mackerras on 08 June 2012, 04:07:35 UTC
This reverts 68568add2c ("powerpc/time: Remove unnecessary sanity check
of decrementer expiration").  We do need to check whether we have reached
the expiration time of the next event, because we sometimes get an early
decrementer interrupt, most notably when we set the decrementer to 1 in
arch_irq_work_raise().  The effect of not having the sanity check is that
if timer_interrupt() gets called early, we leave the decrementer set to
its maximum value, which means we then don't get any more decrementer
interrupts for about 4 seconds (or longer, depending on timebase
frequency).  I saw these pauses as a consequence of getting a stray
hypervisor decrementer interrupt left over from exiting a KVM guest.

This isn't quite a straight revert because of changes to the surrounding
code, but it restores the same algorithm as was previously used.

Cc: stable@vger.kernel.org
Acked-by: Anton Blanchard <anton@samba.org>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
1 parent f8f5701
History
File Mode Size
partitions
Kconfig -rw-r--r-- 3.3 KB
Kconfig.iosched -rw-r--r-- 1.6 KB
Makefile -rw-r--r-- 720 bytes
blk-cgroup.c -rw-r--r-- 22.8 KB
blk-cgroup.h -rw-r--r-- 10.4 KB
blk-core.c -rw-r--r-- 79.6 KB
blk-exec.c -rw-r--r-- 3.0 KB
blk-flush.c -rw-r--r-- 13.1 KB
blk-integrity.c -rw-r--r-- 11.5 KB
blk-ioc.c -rw-r--r-- 10.2 KB
blk-iopoll.c -rw-r--r-- 5.9 KB
blk-lib.c -rw-r--r-- 3.9 KB
blk-map.c -rw-r--r-- 8.2 KB
blk-merge.c -rw-r--r-- 12.1 KB
blk-settings.c -rw-r--r-- 25.7 KB
blk-softirq.c -rw-r--r-- 4.5 KB
blk-sysfs.c -rw-r--r-- 14.8 KB
blk-tag.c -rw-r--r-- 9.8 KB
blk-throttle.c -rw-r--r-- 31.1 KB
blk-timeout.c -rw-r--r-- 5.6 KB
blk.h -rw-r--r-- 7.1 KB
bsg-lib.c -rw-r--r-- 7.6 KB
bsg.c -rw-r--r-- 23.7 KB
cfq-iosched.c -rw-r--r-- 108.0 KB
compat_ioctl.c -rw-r--r-- 20.8 KB
deadline-iosched.c -rw-r--r-- 11.1 KB
elevator.c -rw-r--r-- 23.1 KB
genhd.c -rw-r--r-- 43.0 KB
ioctl.c -rw-r--r-- 8.7 KB
noop-iosched.c -rw-r--r-- 2.5 KB
partition-generic.c -rw-r--r-- 13.9 KB
scsi_ioctl.c -rw-r--r-- 19.6 KB

back to top