Original Xbox Emulator for Windows, macOS, and Linux (Active Development)
Go to file
thomas knych 94ccff1338 KVM: Retry KVM_CREATE_VM on EINTR
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 on this path:

kvm_dev_ioctl_create_vm -> kvm_create_vm -> kvm_init_mmu_notifier -> mmu_notifier_register ->  do_mmu_notifier_register -> mm_take_all_locks

which checks if any signals have been raised while it was attaining locks
and returns EINTR.  Retrying the system call greatly improves reliability.

Cc: qemu-stable@nongnu.org
Signed-off-by: thomas knych <thomaswk@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2014-01-15 12:58:41 +01:00
audio audio: adjust pulse to 100Hz wakeup rate 2013-12-09 09:19:26 +01:00
backends rng-egd: offset the point when repeatedly read from the buffer 2013-11-21 17:39:17 +01:00
block qcow2: use start_of_cluster() and offset_into_cluster() everywhere 2013-12-06 16:53:50 +01:00
bsd-user *-user: Improve documentation for lock_user function 2013-09-20 20:09:24 +04:00
default-configs hw/timer: Introduce ARM A9 Global Timer. 2013-12-10 13:24:51 +00:00
disas disas/ppc.c: Fix little endian disassembly 2013-09-02 10:06:41 +02:00
docs docs/memory.txt: Clarify and expand priority/overlap documentation 2013-11-05 19:59:24 -08:00
dtc@bc895d6d09
fpu softfloat: Add minNum() and maxNum() functions to softfloat. 2013-12-10 13:28:50 +00:00
fsdev fsdev: Fix potential memory leak 2013-07-09 13:38:56 -05:00
gdb-xml target-arm: Add AArch64 gdbstub support 2013-09-10 19:11:28 +01:00
hw roms: Flush icache when writing roms to guest memory 2013-12-13 13:38:50 +01:00
include roms: Flush icache when writing roms to guest memory 2013-12-13 13:38:50 +01:00
libcacard libcacard: Fix compilation for older versions of glib (bug #1258168) 2013-12-09 12:19:05 +02:00
linux-headers linux-headers: Update from v3.13-rc3 2013-12-06 11:16:09 -07:00
linux-user Merge remote-tracking branch 'rth/auxv-2' into staging 2013-12-06 12:57:21 -08:00
net net: Update netdev peer on link change 2013-12-09 13:33:20 +01:00
pc-bios roms: update vgabios binaries 2013-12-06 08:55:42 +01:00
pixman@97336fad32
po po: Update all *.po files 2013-08-07 12:48:00 -05:00
qapi qapi: fix memleak by adding implict struct functions in dealloc visitor 2013-11-05 19:58:38 -08:00
qga qga: Fix two format strings for MinGW 2013-11-25 20:35:28 -08:00
qobject Block patches for 2.0 (flushing block-next) 2013-12-06 12:59:58 -08:00
qom qom: Fix memory leak in object_property_set_link() 2013-11-19 10:58:21 +01:00
roms roms: enable seabios cross builds 2013-12-06 08:55:42 +01:00
scripts Adjust qapi-visit for python-2.4.3 2013-11-11 10:02:21 -05:00
slirp misc: Spelling and grammar fixes in comments 2013-10-26 13:06:45 +04:00
stubs Merge remote-tracking branch 'kiszka/queues/slirp' into staging 2013-09-17 10:01:24 -05:00
sysconfigs/target
target-alpha misc: Replace 'struct QEMUTimer' by 'QEMUTimer' 2013-12-02 21:03:39 +04:00
target-arm target-arm: fix TTBCR write masking 2013-12-10 13:28:50 +00:00
target-cris target-cris: Use new qemu_ld/st opcodes 2013-12-08 09:36:02 +01:00
target-i386 kvm: x86: Separately write feature control MSR on reset 2013-12-18 10:13:18 +01:00
target-lm32 target: Include softmmu_exec.h where forgotten 2013-09-02 09:08:30 -07:00
target-m68k Merge remote-tracking branch 'rth/tcg-pull' into staging 2013-10-11 09:36:52 -07:00
target-microblaze microblaze: At swx, check that the reserved word is unmodified 2013-10-24 22:32:56 +02:00
target-mips target-mips: Use macro ARRAY_SIZE where possible 2013-12-09 16:44:04 +01:00
target-moxie cpu: Drop cpu_model_str from CPU_COMMON 2013-10-07 11:48:47 +02:00
target-openrisc misc: Replace 'struct QEMUTimer' by 'QEMUTimer' 2013-12-02 21:03:39 +04:00
target-ppc spapr: Use DeviceClass::fw_name for device tree CPU node 2013-10-25 23:25:48 +02:00
target-s390x exec: Fix prototype of phys_mem_set_alloc and related functions 2013-10-14 08:50:34 -07:00
target-sh4 target-sh4: move features flag after CPU_COMMON 2013-12-09 16:41:23 +01:00
target-sparc misc: Replace 'struct QEMUTimer' by 'QEMUTimer' 2013-12-02 21:03:39 +04:00
target-unicore32 Merge remote-tracking branch 'rth/tcg-pull' into staging 2013-10-11 09:36:52 -07:00
target-xtensa target-xtensa: add missing DEBUG section to dc233c config 2013-11-08 09:26:07 +04:00
tcg tcg: Use bitmaps for free temporaries 2013-12-10 09:23:45 -08:00
tests qemu-iotests: filter QEMU monitor \r\n 2013-12-06 16:53:51 +01:00
trace
ui Don't crash on keyboard input with no handler 2013-12-02 21:09:04 +04:00
util Block patches for 2.0 (flushing block-next) 2013-12-06 12:59:58 -08:00
.exrc
.gitignore .gitignore: Ignore config.status 2013-12-02 21:02:57 +04:00
.gitmodules Use qemu-project.org domain name 2013-10-11 09:34:56 -07:00
.mailmap Update mailmap 2013-09-05 09:40:31 -05:00
.travis.yml .travis.yml: basic compile and check recipes 2013-11-13 15:48:38 +04:00
aio-posix.c aio: make aio_poll(ctx, true) block with no fds 2013-12-06 16:53:51 +01:00
aio-win32.c aio: make aio_poll(ctx, true) block with no fds 2013-12-06 16:53:51 +01:00
arch_init.c migration: drop MADVISE_DONT_NEED for incoming zero pages 2013-11-19 17:23:57 +01:00
async.c aio / timers: aio_ctx_prepare sets timeout from AioContext timers 2013-08-22 19:10:28 +02:00
balloon.c
block-migration.c block: per caller dirty bitmap 2013-11-29 13:40:33 +01:00
block.c block: clean up bdrv_drain_all() throttling comments 2013-12-06 16:53:51 +01:00
blockdev-nbd.c nbd: use BlockDriverState refcnt 2013-09-06 15:25:08 +02:00
blockdev.c block/drive-mirror: Reuse backing HD for sync=none 2013-11-27 07:53:32 -08:00
blockjob.c qapi: make use of new BlockJobType 2013-10-11 10:52:54 +02:00
bt-host.c
bt-vhci.c
Changelog Use qemu-project.org domain name 2013-10-11 09:34:56 -07:00
CODING_STYLE
configure net: Adding netmap network backend 2013-12-09 13:33:19 +01:00
COPYING
COPYING.LIB
coroutine-gthread.c
coroutine-sigaltstack.c
coroutine-ucontext.c
coroutine-win32.c
cpu-exec.c cpu-exec: Also reload CPUClass *cc after longjmp return in cpu_exec() 2013-10-07 11:46:58 +02:00
cpus.c timers: fix stop/cont with -icount 2013-11-06 21:47:05 -08:00
cputlb.c cputlb: Remove dead function tlb_update_dirty() 2013-10-07 11:48:03 +02:00
device_tree.c device_tree.c: Terminate the empty reservemap in create_device_tree() 2013-12-10 13:28:30 +00:00
device-hotplug.c
disas.c disas: Implement fallback to dump object code as hex 2013-08-24 07:26:45 +02:00
dma-helpers.c aio / timers: Untangle include files 2013-08-22 19:10:27 +02:00
dump.c dump-guest-memory: Check for the correct return value 2013-10-25 23:25:48 +02:00
exec.c mempath prefault: fix off-by-one error 2013-12-30 19:05:11 -02:00
gdbstub.c vl: allow "cont" from panicked state 2013-11-04 15:39:41 +02:00
HACKING HACKING: Document vaddr type usage 2013-07-23 02:41:31 +02:00
hmp-commands.hx net: Adding netmap network backend 2013-12-09 13:33:19 +01:00
hmp.c hmp: drop bogus "[not inserted]" 2013-10-17 10:10:14 +02:00
hmp.h hmp: add interface hmp_snapshot_delete_blkdev_internal 2013-09-12 10:12:47 +02:00
iohandler.c
ioport.c portio: Allow to mark portio lists as coalesced MMIO flushing 2013-10-17 17:24:15 +02:00
kvm-all.c KVM: Retry KVM_CREATE_VM on EINTR 2014-01-15 12:58:41 +01:00
kvm-stub.c kvm irqfd: support direct msimessage to irq translation 2013-09-20 12:37:52 +02:00
LICENSE LICENSE: clarify 2013-08-12 09:15:12 -05:00
main-loop.c slirp: set mainloop timeout with more precise value 2013-09-17 12:26:05 +02:00
MAINTAINERS MAINTAINERS: Add netmap maintainers 2013-12-09 13:33:20 +01:00
Makefile sun4m: Add FCode ROM for TCX framebuffer 2013-11-21 17:38:52 +01:00
Makefile.objs qemu-ga: Add Windows VSS provider and requester as DLL 2013-09-09 14:17:57 -05:00
Makefile.target default-configs/: CONFIG_GDBSTUB_XML removed 2013-10-16 18:21:01 +02:00
memory_mapping.c cpu: Use QTAILQ for CPU list 2013-09-03 12:25:55 +02:00
memory.c pci, pc, acpi fixes, enhancements 2013-10-31 16:58:32 +01:00
migration-exec.c aio / timers: Untangle include files 2013-08-22 19:10:27 +02:00
migration-fd.c aio / timers: Untangle include files 2013-08-22 19:10:27 +02:00
migration-rdma.c rdma: constify ram_chunk_{index, start, end} 2013-09-24 13:22:50 +02:00
migration-tcp.c aio / timers: Untangle include files 2013-08-22 19:10:27 +02:00
migration-unix.c aio / timers: Untangle include files 2013-08-22 19:10:27 +02:00
migration.c migration: Fix compiler warning ('caps' may be used uninitialized) 2013-10-05 14:02:29 +04:00
monitor.c Merge remote-tracking branch 'agraf/ppc-for-upstream' into staging 2013-10-31 17:01:12 +01:00
nbd.c nbd: use BlockDriverState refcnt 2013-09-06 15:25:08 +02:00
os-posix.c
os-win32.c
page_cache.c remove some double-includes 2013-05-18 16:35:12 +04:00
qapi-schema.json net: Adding netmap network backend 2013-12-09 13:33:19 +01:00
qdev-monitor.c qdev-monitor: Inline qdev_init() for device_add 2013-11-05 18:06:51 +01:00
qdict-test-data.txt
qemu-bridge-helper.c
qemu-char.c Merge remote-tracking branch 'amit/char-remove-watch-on-unplug' into staging 2013-10-10 13:16:02 -07:00
qemu-coroutine-io.c aio / timers: Untangle include files 2013-08-22 19:10:27 +02:00
qemu-coroutine-lock.c coroutine: remove qemu_co_queue_wait_insert_head 2013-12-02 17:11:49 +01:00
qemu-coroutine-sleep.c coroutine: add co_aio_sleep_ns() to allow sleep in block drivers 2013-10-30 12:22:09 +01:00
qemu-coroutine.c coroutine: add ./configure --disable-coroutine-pool 2013-09-12 10:12:48 +02:00
qemu-doc.texi doc: we use seabios, not bochs bios 2013-06-28 22:10:34 +04:00
qemu-img-cmds.hx qemu-img: add -l for snapshot in convert 2013-12-04 15:19:00 +01:00
qemu-img.c qemu-img: decrease progress update interval on convert 2013-12-06 16:53:50 +01:00
qemu-img.texi qemu-img: add -l for snapshot in convert 2013-12-04 15:19:00 +01:00
qemu-io-cmds.c blkdebug: add "remove_break" command 2013-11-29 13:40:37 +01:00
qemu-io.c qemu-io: Let "open" pass options to block driver 2013-10-11 16:50:02 +02:00
qemu-log.c
qemu-nbd.c qemu-nbd: add doc for option -f 2013-12-04 15:19:00 +01:00
qemu-nbd.texi qemu-nbd: add doc for option -f 2013-12-04 15:19:00 +01:00
qemu-options-wrapper.h
qemu-options.h
qemu-options.hx net: Adding netmap network backend 2013-12-09 13:33:19 +01:00
qemu-seccomp.c seccomp: add kill() to the syscall whitelist 2013-12-03 10:21:32 -02:00
qemu-tech.texi
qemu-timer.c timer: add timer_mod_anticipate and timer_mod_anticipate_ns 2013-10-17 17:31:00 +02:00
qemu.nsi nsis: Improved support for parallel installation of 32 and 64 bit code 2013-11-07 07:02:44 +01:00
qemu.sasl Fix command example in qemu.sasl 2013-07-19 12:52:03 +04:00
qmp-commands.hx blockdev: 'blockdev-add' QMP command 2013-10-11 16:50:01 +02:00
qmp.c
qtest.c qtest: Fix FMT_timeval vs time_t 2013-09-02 09:08:29 -07:00
readline.c monitor: avoid use of global *cur_mon in readline_completion() 2013-08-30 07:41:14 -04:00
README Use qemu-project.org domain name 2013-10-11 09:34:56 -07:00
rules.mak rules.mak: New string testing functions 2013-10-16 18:21:00 +02:00
savevm.c The calculation of bytes_xfer in qemu_put_buffer() is wrong 2013-11-20 12:16:04 +01:00
spice-qemu-char.c qemu-char: don't issue CHR_EVENT_OPEN in a BH 2013-06-10 11:38:37 -05:00
tcg-runtime.c
tci.c misc: Use new rotate functions 2013-09-25 21:23:05 +02:00
thread-pool.c aio / timers: Untangle include files 2013-08-22 19:10:27 +02:00
thunk.c
tpm.c tpm.c: Don't try to put -1 in a variable of type TpmModel 2013-07-29 10:37:10 -05:00
trace-events Merge remote-tracking branch 'stefanha/block' into staging 2013-12-07 07:35:31 -08:00
translate-all.c exec: Delete is_tcg_gen_code and GETRA_EXT 2013-10-10 11:44:25 -07:00
translate-all.h
user-exec.c linux-user: fix segmentation fault passing with h2g(x) != x 2013-07-23 17:28:28 +03:00
VERSION Open 2.0 development tree 2013-11-27 14:02:45 -08:00
version.rc Use qemu-project.org domain name 2013-10-11 09:34:56 -07:00
vl.c Merge remote-tracking branch 'qemu-kvm/uq/master' into staging 2013-12-07 07:35:25 -08:00
xbzrle.c
xen-all.c xen: fix two errors when debug is enabled 2013-12-01 18:25:48 +00:00
xen-mapcache.c
xen-stub.c pc: Initializing ram_memory under Xen. 2013-09-09 16:22:19 +00:00

Read the documentation in qemu-doc.html or on http://wiki.qemu-project.org

- QEMU team