linux/arch
Paul Mackerras c5fb80d3b2 KVM: PPC: Book3S HV: Fix decrementer timeouts with non-zero TB offset
Commit c7699822bc21 ("KVM: PPC: Book3S HV: Make physical thread 0 do
the MMU switching") reordered the guest entry/exit code so that most
of the guest register save/restore code happened in guest MMU context.
A side effect of that is that the timebase still contains the guest
timebase value at the point where we compute and use vcpu->arch.dec_expires,
and therefore that is now a guest timebase value rather than a host
timebase value.  That in turn means that the timeouts computed in
kvmppc_set_timer() are wrong if the timebase offset for the guest is
non-zero.  The consequence of that is things such as "sleep 1" in a
guest after migration may sleep for much longer than they should.

This fixes the problem by converting between guest and host timebase
values as necessary, by adding or subtracting the timebase offset.
This also fixes an incorrect comment.

Signed-off-by: Paul Mackerras <paulus@samba.org>
Acked-by: Scott Wood <scottwood@freescale.com>
2014-03-29 19:58:39 +11:00
..
alpha PCI changes for the v3.14 merge window: 2014-01-22 16:39:28 -08:00
arc arch: Re-sort some Kbuild files to hopefully help avoid some conflicts 2014-01-13 21:56:54 -08:00
arm Features: 2014-01-22 22:00:18 -08:00
arm64 First round of KVM updates for 3.14; PPC parts will come next week. 2014-01-22 21:40:43 -08:00
avr32 arch: Clean up asm/barrier.h implementations using asm-generic/barrier.h 2014-01-12 10:37:15 +01:00
blackfin arch: Clean up asm/barrier.h implementations using asm-generic/barrier.h 2014-01-12 10:37:15 +01:00
c6x Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2013-11-19 10:40:00 -08:00
cris arch: Re-sort some Kbuild files to hopefully help avoid some conflicts 2014-01-13 21:56:54 -08:00
frv arch: Clean up asm/barrier.h implementations using asm-generic/barrier.h 2014-01-12 10:37:15 +01:00
hexagon arch: Re-sort some Kbuild files to hopefully help avoid some conflicts 2014-01-13 21:56:54 -08:00
ia64 First round of KVM updates for 3.14; PPC parts will come next week. 2014-01-22 21:40:43 -08:00
m32r arch: Clean up asm/barrier.h implementations using asm-generic/barrier.h 2014-01-12 10:37:15 +01:00
m68k Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-01-20 10:42:08 -08:00
metag memblock: make memblock_set_node() support different memblock_type 2014-01-21 16:19:44 -08:00
microblaze memblock: make memblock_set_node() support different memblock_type 2014-01-21 16:19:44 -08:00
mips Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2014-01-22 21:21:55 -08:00
mn10300 arch: Re-sort some Kbuild files to hopefully help avoid some conflicts 2014-01-13 21:56:54 -08:00
openrisc OpenRISC updates for 3.13 2013-11-15 14:26:38 -08:00
parisc PCI changes for the v3.14 merge window: 2014-01-22 16:39:28 -08:00
powerpc KVM: PPC: Book3S HV: Fix decrementer timeouts with non-zero TB offset 2014-03-29 19:58:39 +11:00
s390 This deals with 2 guest features that need enablement in the kvm host: 2014-01-23 11:38:13 +01:00
score score: remove "select HAVE_GENERIC_HARDIRQS" again 2014-01-21 16:19:41 -08:00
sh memblock: make memblock_set_node() support different memblock_type 2014-01-21 16:19:44 -08:00
sparc PCI changes for the v3.14 merge window: 2014-01-22 16:39:28 -08:00
tile arch: Clean up asm/barrier.h implementations using asm-generic/barrier.h 2014-01-12 10:37:15 +01:00
um um: Build always with -mcmodel=large on 64bit 2013-12-01 13:06:51 +01:00
unicore32 mm, show_mem: remove SHOW_MEM_FILTER_PAGE_COUNT 2014-01-21 16:19:44 -08:00
x86 x86, kvm: correctly access the KVM_CPUID_FEATURES leaf at 0x40000101 2014-01-29 18:11:55 +01:00
xtensa GPIO tree bulk changes for v3.14 2014-01-21 10:09:12 -08:00
.gitignore
Kconfig stackprotector: Introduce CONFIG_CC_STACKPROTECTOR_STRONG 2013-12-20 09:38:40 +01:00