[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 12/18] kvm: Move irqchip event processing out of inn
From: |
Jan Kiszka |
Subject: |
[Qemu-devel] [PATCH 12/18] kvm: Move irqchip event processing out of inner loop |
Date: |
Mon, 10 Jan 2011 09:32:05 +0100 |
From: Jan Kiszka <address@hidden>
Align with qemu-kvm and prepare for IO exit fix: There is no need to run
kvm_arch_process_irqchip_events in the inner VCPU loop. Any state change
this service processes will first cause an exit from kvm_cpu_exec
anyway. And we will have to reenter the kernel on IO exits
unconditionally, something that the current logic prevents.
Signed-off-by: Jan Kiszka <address@hidden>
---
kvm-all.c | 11 ++++++-----
1 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/kvm-all.c b/kvm-all.c
index a8e9f2c..f3c8375 100644
--- a/kvm-all.c
+++ b/kvm-all.c
@@ -824,6 +824,12 @@ int kvm_cpu_exec(CPUState *env)
DPRINTF("kvm_cpu_exec()\n");
+ if (kvm_arch_process_irqchip_events(env)) {
+ env->exit_request = 0;
+ env->exception_index = EXCP_HLT;
+ return 0;
+ }
+
do {
#ifndef CONFIG_IOTHREAD
if (env->exit_request) {
@@ -833,11 +839,6 @@ int kvm_cpu_exec(CPUState *env)
}
#endif
- if (kvm_arch_process_irqchip_events(env)) {
- ret = 0;
- break;
- }
-
if (env->kvm_vcpu_dirty) {
kvm_arch_put_registers(env, KVM_PUT_RUNTIME_STATE);
env->kvm_vcpu_dirty = 0;
--
1.7.1
- [Qemu-devel] [PATCH 17/18] kvm: x86: Prepare VCPU loop for in-kernel irqchip, (continued)
- [Qemu-devel] [PATCH 17/18] kvm: x86: Prepare VCPU loop for in-kernel irqchip, Jan Kiszka, 2011/01/10
- [Qemu-devel] [PATCH 02/18] kvm: Drop redundant kvm_enabled from kvm_cpu_thread_fn, Jan Kiszka, 2011/01/10
- [Qemu-devel] [PATCH 01/18] Revert "kvm: Drop return value of kvm_cpu_exec", Jan Kiszka, 2011/01/10
- [Qemu-devel] [PATCH 05/18] kvm: Set up signal mask also for !CONFIG_IOTHREAD, Jan Kiszka, 2011/01/10
- [Qemu-devel] [PATCH 11/18] Introduce VCPU self-signaling service, Jan Kiszka, 2011/01/10
- [Qemu-devel] [PATCH 18/18] kvm: Drop return values from kvm_arch_pre/post_run, Jan Kiszka, 2011/01/10
- [Qemu-devel] [PATCH 16/18] kvm: Separate TCG from KVM cpu execution, Jan Kiszka, 2011/01/10
- [Qemu-devel] [PATCH 14/18] kvm: Remove static return code of kvm_handle_io, Jan Kiszka, 2011/01/10
- [Qemu-devel] [PATCH 12/18] kvm: Move irqchip event processing out of inner loop,
Jan Kiszka <=
- [Qemu-devel] [PATCH 07/18] kvm: Add MCE signal support for !CONFIG_IOTHREAD, Jan Kiszka, 2011/01/10
[Qemu-devel] Re: [PATCH 00/18] [uq/master] MCE & IO exit fixes, prepare for VCPU loop reuse, Jan Kiszka, 2011/01/10