summaryrefslogtreecommitdiffstats
path: root/tools/virtio
diff options
context:
space:
mode:
authorPaul Mackerras <paulus@samba.org>2012-06-01 18:13:43 +1000
committerPaul Mackerras <paulus@samba.org>2012-06-08 14:07:35 +1000
commit860aed25a1f0936d4852ab936252b47cd1e630f1 (patch)
treecba719d5e2b8d1bf8643e7a28b386be9cbb636ea /tools/virtio
parentf8f5701bdaf9134b1f90e5044a82c66324d2073f (diff)
downloadlinux-860aed25a1f0936d4852ab936252b47cd1e630f1.tar.gz
linux-860aed25a1f0936d4852ab936252b47cd1e630f1.tar.xz
linux-860aed25a1f0936d4852ab936252b47cd1e630f1.zip
powerpc/time: Sanity check of decrementer expiration is necessary
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>
Diffstat (limited to 'tools/virtio')
0 files changed, 0 insertions, 0 deletions