[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 1/1] KVM: Retry KVM_CREATE_VM on EINTR or EAGAIN
From: |
thomas knych |
Subject: |
[Qemu-devel] [PATCH 1/1] KVM: Retry KVM_CREATE_VM on EINTR or EAGAIN |
Date: |
Thu, 9 Jan 2014 13:14:23 -0800 |
Upstreaming this change from Android
(https://android-review.googlesource.com/54211).
On heavily loaded machines with many VM instances we see KVM_CREATE_VM
failing with EINTR/EAGAIN retrying the system call greatly improves
reliability.
Signed-off-by: thomas knych <address@hidden>
---
kvm-all.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/kvm-all.c b/kvm-all.c
index 3937754..29787ae 100644
--- a/kvm-all.c
+++ b/kvm-all.c
@@ -1442,8 +1442,14 @@ int kvm_init(void)
nc++;
}
- s->vmfd = kvm_ioctl(s, KVM_CREATE_VM, 0);
+ do {
+ s->vmfd = kvm_ioctl(s, KVM_CREATE_VM, 0);
+ } while (s->vmfd < 0 && (-EINTR == s->vmfd || -EAGAIN == s->vmfd));
+
if (s->vmfd < 0) {
+ fprintf(stderr, "ioctl(KVM_CREATE_VM) failed: %d %s\n", -s->vmfd,
+ strerror(-s->vmfd));
+
#ifdef TARGET_S390X
fprintf(stderr, "Please add the 'switch_amode' kernel parameter to "
"your host kernel command line\n");
--
1.8.5.1
- [Qemu-devel] [PATCH 0/1] KVM: Retry KVM_CREATE_VM on EINTR or EAGAIN, thomas knych, 2014/01/09
- [Qemu-devel] [PATCH 1/1] KVM: Retry KVM_CREATE_VM on EINTR or EAGAIN,
thomas knych <=
- Re: [Qemu-devel] [PATCH 1/1] KVM: Retry KVM_CREATE_VM on EINTR or EAGAIN, Paolo Bonzini, 2014/01/10
- Re: [Qemu-devel] [PATCH 1/1] KVM: Retry KVM_CREATE_VM on EINTR or EAGAIN, Tom Knych, 2014/01/10
- Re: [Qemu-devel] [PATCH 1/1] KVM: Retry KVM_CREATE_VM on EINTR or EAGAIN, Paolo Bonzini, 2014/01/13
- Re: [Qemu-devel] [PATCH 1/1] KVM: Retry KVM_CREATE_VM on EINTR or EAGAIN, Andrea Arcangeli, 2014/01/14
- Re: [Qemu-devel] [PATCH 1/1] KVM: Retry KVM_CREATE_VM on EINTR or EAGAIN, Tom Knych, 2014/01/14
- Re: [Qemu-devel] [PATCH 1/1] KVM: Retry KVM_CREATE_VM on EINTR or EAGAIN, Paolo Bonzini, 2014/01/15