qemu-e2k/scripts
Stefan Hajnoczi c12887e1b0 block-coroutine-wrapper: use qemu_get_current_aio_context()
Use qemu_get_current_aio_context() in mixed wrappers and coroutine
wrappers so that code runs in the caller's AioContext instead of moving
to the BlockDriverState's AioContext. This change is necessary for the
multi-queue block layer where any thread can call into the block layer.

Most wrappers are IO_CODE where it's safe to use the current AioContext
nowadays. BlockDrivers and the core block layer use their own locks and
no longer depend on the AioContext lock for thread-safety.

The bdrv_create() wrapper invokes GLOBAL_STATE code. Using the current
AioContext is safe because this code is only called with the BQL held
from the main loop thread.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-ID: <20230912231037.826804-6-stefanha@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2023-12-21 22:49:28 +01:00
..
ci
coccinelle
codeconverter
coverage
coverity-scan scripts: adjust url to Coverity tools 2023-11-24 16:21:55 +01:00
kvm
modules
oss-fuzz
performance
qapi qapi: Fix QAPISchemaEntity.__repr__() 2023-11-13 10:36:51 +01:00
qemu-guest-agent
qemugdb
qmp
simplebench
tracetool tracetool: avoid invalid escape in Python string 2023-11-09 15:03:02 +08:00
analyse-9p-simpletrace.py
analyse-locks-simpletrace.py
analyze-inclusions
analyze-migration.py tests/qtest/migration-test: Fix analyze-migration.py for s390x 2023-12-20 10:29:23 +01:00
archive-source.sh
block-coroutine-wrapper.py block-coroutine-wrapper: use qemu_get_current_aio_context() 2023-12-21 22:49:28 +01:00
check_sparse.py
checkpatch.pl
clean-header-guards.pl
clean-includes
cleanup-trace-events.pl
cocci-macro-file.h
cpu-x86-uarch-abi.py
decodetree.py
device-crash-test
disas-objdump.pl
dump-guest-memory.py
entitlement.sh
extract-vsssdk-headers
feature_to_c.py gdbstub: Add num_regs member to GDBFeature 2023-11-08 15:15:23 +00:00
fix-multiline-comments.sh
gensyscalls.sh
get_maintainer.pl
git-submodule.sh
git.orderfile
hxtool
kernel-doc
make-config-poison.sh
make-release
meson-buildoptions.py
meson-buildoptions.sh
meson.build
minikconf.py
modinfo-collect.py
modinfo-generate.py
mtest2make.py
nsis.py
probe-gdb-support.py
python_qmp_updater.py
qapi-gen.py
qemu-binfmt-conf.sh
qemu-gdb.py
qemu-stamp.py
qemu-trace-stap
qemu-version.sh
qom-cast-macro-clean-cocci-gen.py
refresh-pxe-roms.sh
render_block_graph.py
replay-dump.py
shaderinclude.py
signrom.py
simpletrace.py
symlink-install-tree.py
tracetool.py
u2f-setup-gen.py
undefsym.py
update-linux-headers.sh
update-mips-syscall-args.sh
update-syscalltbl.sh
userfaultfd-wrlat.py
vmstate-static-checker.py
xen-detect.c
xml-preprocess-test.py
xml-preprocess.py