Original Xbox Emulator for Windows, macOS, and Linux (Active Development)
Go to file
Stefan Hajnoczi dcd042282d block: add bdrv_set_aio_context()
Up until now all BlockDriverState instances have used the QEMU main loop
for fd handlers, timers, and BHs.  This is not scalable on SMP guests
and hosts so we need to move to a model with multiple event loops on
different host CPUs.

bdrv_set_aio_context() assigns the AioContext event loop to use for a
particular BlockDriverState.  It first detaches the entire
BlockDriverState graph from the current AioContext and then attaches to
the new AioContext.

This function will be used by virtio-blk data-plane to assign a
BlockDriverState to its IOThread AioContext.  Make
bdrv_aio_set_context() public since data-plane should not include
block_int.h.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2014-06-04 09:56:11 +02:00
audio audio: replace fprintf(stderr, ...) with error_report() in audio 2014-05-26 10:41:21 +04:00
backends build: convert some obj-specific CFLAGS to use new foo.o-cflags syntax 2014-05-08 15:27:49 +02:00
block vmdk: Fix local_err in vmdk_create 2014-05-30 14:26:54 +02:00
bsd-user Revert "bsd-user: replace fprintf(stderr, ...) with error_report()" 2014-06-02 13:26:59 +01:00
default-configs s390x: split flic into kvm and non-kvm parts 2014-05-20 13:05:57 +02:00
disas disas/libvixl: Update to libvixl 1.4 2014-05-13 16:09:35 +01:00
docs docs: Define refcount_bits value 2014-05-28 14:28:46 +02:00
dtc@bc895d6d09
fpu
fsdev
gdb-xml
hw VFIO patches: realtek NIC quirk + SPAPR IOMMU AddressSpace support 2014-06-03 14:37:43 +01:00
include block: add bdrv_set_aio_context() 2014-06-04 09:56:11 +02:00
libcacard libcacard: remove useless initializers 2014-05-26 10:41:22 +04:00
linux-headers linux-headers: update 2014-05-20 13:05:58 +02:00
linux-user target-i386: the x86 CPL is stored in CS.selector - auto update hflags accordingly. 2014-05-13 13:12:40 +02:00
net monitor: Add set_link arguments completion. 2014-05-15 15:16:02 -04:00
pc-bios seabios: update to 1.7.5 final 2014-06-02 16:49:00 +02:00
pixman@97336fad32
po
qapi qapi: Avoid output visitor crashing if it encounters a NULL value 2014-05-28 17:36:04 +02:00
qga qga: Drop superfluous error_is_set() 2014-05-09 09:11:31 -04:00
qobject qdict: Add qdict_join() 2014-05-19 11:36:48 +02:00
qom
roms seabios: update to 1.7.5 final 2014-06-02 16:49:00 +02:00
scripts qapi: zero-initialize all QMP command parameters 2014-05-21 09:25:31 -04:00
slirp
stubs
sysconfigs/target
target-alpha tcg: Invert the inclusion of helper.h 2014-05-28 09:33:54 -07:00
target-arm tcg: Invert the inclusion of helper.h 2014-05-28 09:33:54 -07:00
target-cris tcg: Invert the inclusion of helper.h 2014-05-28 09:33:54 -07:00
target-i386 tcg: Invert the inclusion of helper.h 2014-05-28 09:33:54 -07:00
target-lm32 tcg: Invert the inclusion of helper.h 2014-05-28 09:33:54 -07:00
target-m68k tcg: Invert the inclusion of helper.h 2014-05-28 09:33:54 -07:00
target-microblaze tcg: Invert the inclusion of helper.h 2014-05-28 09:33:54 -07:00
target-mips tcg: Invert the inclusion of helper.h 2014-05-28 09:33:54 -07:00
target-moxie tcg: Invert the inclusion of helper.h 2014-05-28 09:33:54 -07:00
target-openrisc tcg: Invert the inclusion of helper.h 2014-05-28 09:33:54 -07:00
target-ppc tcg: Invert the inclusion of helper.h 2014-05-28 09:33:54 -07:00
target-s390x tcg: Invert the inclusion of helper.h 2014-05-28 09:33:54 -07:00
target-sh4 tcg: Invert the inclusion of helper.h 2014-05-28 09:33:54 -07:00
target-sparc tcg: Invert the inclusion of helper.h 2014-05-28 09:33:54 -07:00
target-unicore32 tcg: Invert the inclusion of helper.h 2014-05-28 09:33:54 -07:00
target-xtensa tcg: Invert the inclusion of helper.h 2014-05-28 09:33:54 -07:00
tcg tcg/optimize: Remember garbage high bits for 32-bit ops 2014-05-28 09:33:56 -07:00
tests usb: improve ehci/uhci test 2014-06-02 16:28:59 +02:00
trace trace: [tracetool] Minimize the amount of per-backend code 2014-05-07 19:07:18 +02:00
ui sdl2: add support for text consoles 2014-06-02 16:10:12 +01:00
util purge error_is_set() 2014-05-22 18:14:01 +01:00
.exrc
.gitignore configure: Put tempfiles in a subdir of the build directory 2014-05-24 00:34:38 +04:00
.gitmodules
.mailmap
.travis.yml
aio-posix.c
aio-win32.c
arch_init.c arch_init: replace fprintf(stderr, ...) with error_report() 2014-05-24 00:10:42 +04:00
async.c aio: fix qemu_bh_schedule() bh->ctx race condition 2014-06-04 09:56:06 +02:00
balloon.c
block-migration.c block: Replace in_use with operation blocker 2014-05-28 14:28:46 +02:00
block.c block: add bdrv_set_aio_context() 2014-06-04 09:56:11 +02:00
blockdev-nbd.c nbd: Close socket on negotiation failure. 2014-05-24 00:07:29 +04:00
blockdev.c blockdev: Plug memory leak in drive_init() 2014-05-30 14:26:54 +02:00
blockjob.c block: Move op_blocker check from block_job_create to its caller 2014-05-28 14:28:46 +02:00
bt-host.c
bt-vhci.c
Changelog
CODING_STYLE
configure trivial patches for 2014-05-26 2014-05-27 22:45:03 +01:00
COPYING
COPYING.LIB
coroutine-gthread.c do not call g_thread_init() for glib >= 2.31 2014-05-07 21:00:43 +04:00
coroutine-sigaltstack.c
coroutine-ucontext.c
coroutine-win32.c
cpu-exec.c cpu: make CPU_INTERRUPT_RESET available on all targets 2014-05-13 13:21:51 +02:00
cpus.c savevm: Remove all the unneeded version_minimum_id_old (rest) 2014-05-14 15:24:51 +02:00
cputlb.c
device_tree.c
device-hotplug.c machine: Remove QEMUMachine indirection from MachineClass 2014-05-05 19:08:49 +02:00
disas.c
dma-helpers.c dma-helpers: avoid calling dma_bdrv_unmap() twice 2014-05-24 00:28:43 +04:00
dump.c dump: Drop pointless error_is_set(), DumpState member errp 2014-05-09 09:11:32 -04:00
exec.c savevm: Remove all the unneeded version_minimum_id_old (rest) 2014-05-14 15:24:51 +02:00
gdbstub.c
HACKING
hmp-commands.hx monitor: Add netdev_del id argument completion. 2014-05-15 15:16:02 -04:00
hmp.c Block patches 2014-05-20 11:57:52 +01:00
hmp.h monitor: Add netdev_del id argument completion. 2014-05-15 15:16:02 -04:00
iohandler.c iohandler.c: Properly initialize sigaction struct 2014-05-24 00:07:29 +04:00
ioport.c
iothread.c
kvm-all.c s390x/virtio-ccw: wire up irq routing and irqfds 2014-05-20 13:05:58 +02:00
kvm-stub.c s390x/virtio-ccw: wire up irq routing and irqfds 2014-05-20 13:05:58 +02:00
LICENSE
main-loop.c
MAINTAINERS MAINTAINERS: update Calxeda Highbank maintainer and status 2014-05-27 17:09:49 +01:00
Makefile Merge remote-tracking branch 'remotes/bonzini/configure' into staging 2014-05-13 11:30:07 +01:00
Makefile.objs libcacard: remove libcacard-specific CFLAGS and LIBS from global vars 2014-05-09 22:59:40 +02:00
Makefile.target Makefile.target: use $(INSTALL_PROG) for installing, not $(INSTALL) 2014-05-08 15:09:04 +02:00
memory_mapping.c
memory.c memory: Sanity check that no listeners remain on a destroyed AddressSpace 2014-05-30 12:59:00 -06:00
migration-exec.c
migration-fd.c
migration-rdma.c
migration-tcp.c Coverity: Fix failure path for qemu_accept in migration 2014-05-05 22:15:03 +02:00
migration-unix.c Coverity: Fix failure path for qemu_accept in migration 2014-05-05 22:15:03 +02:00
migration.c migration: show average throughput when migration finishes 2014-05-14 15:24:52 +02:00
module-common.c
monitor.c monitor: Add netdev_del id argument completion. 2014-05-15 15:16:02 -04:00
nbd.c nbd: Miscellaneous typo fixes. 2014-05-24 00:07:29 +04:00
os-posix.c
os-win32.c
page_cache.c
qapi-schema.json Merge remote-tracking branch 'remotes/qmp-unstable/queue/qmp' into staging 2014-05-22 19:04:49 +01:00
qdev-monitor.c qdev: Implement named GPIOs 2014-05-28 17:36:21 +02:00
qdict-test-data.txt
qemu-bridge-helper.c
qemu-char.c char: Explain qmp_chardev_add()'s unusual error handling 2014-05-21 11:57:58 +02:00
qemu-coroutine-io.c
qemu-coroutine-lock.c
qemu-coroutine-sleep.c
qemu-coroutine.c
qemu-doc.texi
qemu-file.c Make qemu_peek_buffer loop until it gets it's data 2014-05-05 22:15:03 +02:00
qemu-img-cmds.hx
qemu-img.c qemu-img: Report error even with --oformat=json 2014-06-02 13:58:40 +02:00
qemu-img.texi
qemu-io-cmds.c
qemu-io.c qemu-io: Don't print NULL when open without non-option arg fails 2014-05-30 14:26:54 +02:00
qemu-log.c
qemu-nbd.c qemu-nbd: Don't use qerror_report() 2014-05-28 14:28:46 +02:00
qemu-nbd.texi nbd: Miscellaneous typo fixes. 2014-05-24 00:07:29 +04:00
qemu-options-wrapper.h
qemu-options.h
qemu-options.hx target-lm32: add semihosting support 2014-05-24 19:42:29 +02:00
qemu-seccomp.c
qemu-tech.texi
qemu-timer.c vl.c: remove init_clocks call from main 2014-05-09 20:57:32 +02:00
qemu.nsi
qemu.sasl
qmp-commands.hx Merge remote-tracking branch 'remotes/qmp-unstable/queue/qmp' into staging 2014-05-22 19:04:49 +01:00
qmp.c qmp: Don't use error_is_set() to suppress additional errors 2014-05-09 09:11:32 -04:00
qtest.c qdev: Implement named GPIOs 2014-05-28 17:36:21 +02:00
README
rules.mak build: simplify and fix fix-obj-vars 2014-05-09 22:59:40 +02:00
savevm.c
spice-qemu-char.c
tcg-runtime.c tcg: Push tcg-runtime routines into exec/helper-* 2014-05-28 09:33:54 -07:00
tci.c
thread-pool.c aio: Fix use-after-free in cancellation path 2014-05-28 14:28:46 +02:00
thunk.c
tpm.c
trace-events qtest: improve ehci/uhci test 2014-06-02 17:07:21 +01:00
translate-all.c tcg-mips: Constrain the code_gen_buffer to be within one 256mb segment 2014-05-24 08:45:00 -07:00
translate-all.h
user-exec.c
VERSION
version.rc
vl.c machine: Make -machine opts properties of MachineState 2014-05-28 17:36:13 +02:00
vmstate.c savevm: Ignore minimum_version_id_old if there is no load_state_old 2014-05-05 22:15:03 +02:00
xbzrle.c
xen-common-stub.c xen: factor out common functions 2014-05-07 16:16:43 +00:00
xen-common.c xen: factor out common functions 2014-05-07 16:16:43 +00:00
xen-hvm-stub.c xen: factor out common functions 2014-05-07 16:16:43 +00:00
xen-hvm.c pass an inclusive address range to xc_domain_pin_memory_cacheattr 2014-05-07 16:17:57 +00:00
xen-mapcache.c

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

- QEMU team