[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 17/22] ppc: Avoid decrementer related kvm exits
From: |
Alexander Graf |
Subject: |
[Qemu-devel] [PATCH 17/22] ppc: Avoid decrementer related kvm exits |
Date: |
Sun, 30 Oct 2011 21:23:08 +0100 |
From: David Gibson <address@hidden>
In __cpu_ppc_store_decr(), we set up a regular timer used to trigger
decrementer interrupts. This is necessary to implement the decrementer
properly under TCG, but is unnecessary under KVM (true for both Book3S-PR
and Book3S-HV KVM variants), because the kernel handles generating and
delivering decrementer exceptions.
Under kvm, in fact, the timer causes expensive and unnecessary exits from
kvm to qemu. This patch, therefore, disables setting the timer when kvm
is in use.
Signed-off-by: Anton Blanchard <address@hidden>
Signed-off-by: David Gibson <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>
---
hw/ppc.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/hw/ppc.c b/hw/ppc.c
index 25b59dd..d29af0b 100644
--- a/hw/ppc.c
+++ b/hw/ppc.c
@@ -662,6 +662,12 @@ static void __cpu_ppc_store_decr (CPUState *env, uint64_t
*nextp,
LOG_TB("%s: %08" PRIx32 " => %08" PRIx32 "\n", __func__,
decr, value);
+
+ if (kvm_enabled()) {
+ /* KVM handles decrementer exceptions, we don't need our own timer */
+ return;
+ }
+
now = qemu_get_clock_ns(vm_clock);
next = now + muldiv64(value, get_ticks_per_sec(), tb_env->decr_freq);
if (is_excp) {
--
1.6.0.2
- [Qemu-devel] [PATCH 01/22] ppc/e500_pci: Fix code style, (continued)
- [Qemu-devel] [PATCH 01/22] ppc/e500_pci: Fix code style, Alexander Graf, 2011/10/30
- [Qemu-devel] [PATCH 03/22] pseries: Support SMT systems for KVM Book3S-HV, Alexander Graf, 2011/10/30
- [Qemu-devel] [PATCH 04/22] pseries: Allow KVM Book3S-HV on PPC970 CPUS, Alexander Graf, 2011/10/30
- [Qemu-devel] [PATCH 05/22] pseries: Use Book3S-HV TCE acceleration capabilities, Alexander Graf, 2011/10/30
- [Qemu-devel] [PATCH 06/22] pseries: Update SLOF firmware image, Alexander Graf, 2011/10/30
- [Qemu-devel] [PATCH 13/22] ppc: Add cpu defs for POWER7 revisions 2.1 and 2.3, Alexander Graf, 2011/10/30
- [Qemu-devel] [PATCH 09/22] pseries: Add device tree properties for VMX/VSX and DFP under kvm, Alexander Graf, 2011/10/30
- [Qemu-devel] [PATCH 15/22] PPC: Bump qemu-system-ppc to 64-bit physical address space, Alexander Graf, 2011/10/30
- [Qemu-devel] [PATCH 07/22] Set an invalid-bits mask for each SPE instructions, Alexander Graf, 2011/10/30
- [Qemu-devel] [PATCH 18/22] PPC: Fail configure when libfdt is not available, Alexander Graf, 2011/10/30
- [Qemu-devel] [PATCH 17/22] ppc: Avoid decrementer related kvm exits,
Alexander Graf <=
- [Qemu-devel] [PATCH 11/22] ppc: Remove broken partial PVR matching, Alexander Graf, 2011/10/30
- [Qemu-devel] [PATCH 21/22] KVM: PPC: Override host vmx/vsx/dfp only when information known, Alexander Graf, 2011/10/30
- [Qemu-devel] [PATCH 14/22] pseries: Under kvm use guest cpu = host cpu by default, Alexander Graf, 2011/10/30
- [Qemu-devel] [PATCH 08/22] ppc: Generalize the kvmppc_get_clockfreq() function, Alexander Graf, 2011/10/30
- [Qemu-devel] [PATCH 22/22] pseries: Allow writes to KVM accelerated TCE table, Alexander Graf, 2011/10/30
- [Qemu-devel] [PATCH 12/22] ppc: First cut implementation of -cpu host, Alexander Graf, 2011/10/30
- [Qemu-devel] [PATCH 19/22] pseries: Correct vmx/dfp handling in both KVM and TCG cases, Alexander Graf, 2011/10/30
- [Qemu-devel] [PATCH 20/22] ppc: Fix up usermode only builds, Alexander Graf, 2011/10/30
- [Qemu-devel] [PATCH 16/22] PPC: Disable non-440 CPUs for ppcemb target, Alexander Graf, 2011/10/30
- [Qemu-devel] [PATCH 10/22] pseries: Update SLOF firmware image, Alexander Graf, 2011/10/30