qemu/tests
Emanuele Giuseppe Esposito 6f592e5aca job.c: enable job lock/unlock and remove Aiocontext locks
Change the job_{lock/unlock} and macros to use job_mutex.

Now that they are not nop anymore, remove the aiocontext
to avoid deadlocks.

Therefore:
- when possible, remove completely the aiocontext lock/unlock pair
- if it is used by some other function too, reduce the locking
  section as much as possible, leaving the job API outside.
- change AIO_WAIT_WHILE in AIO_WAIT_WHILE_UNLOCKED, since we
  are not using the aiocontext lock anymore

The only functions that still need the aiocontext lock are:
- the JobDriver callbacks, already documented in job.h
- job_cancel_sync() in replication.c is called with aio_context_lock
  taken, but now job is using AIO_WAIT_WHILE_UNLOCKED so we need to
  release the lock.

Reduce the locking section to only cover the callback invocation
and document the functions that take the AioContext lock,
to avoid taking it twice.

Also remove real_job_{lock/unlock}, as they are replaced by the
public functions.

Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Message-Id: <20220926093214.506243-19-eesposit@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2022-10-07 12:11:41 +02:00
..
avocado target/s390x: support PRNO_TRNG instruction 2022-09-26 17:23:11 +02:00
bench test/crypto: Add test suite for crypto akcipher 2022-05-26 11:41:54 +01:00
data qga: Replace 'blacklist' command line and config file options by 'block-rpcs' 2022-09-20 12:37:00 +02:00
decode
docker configure: store container engine in config-host.mak 2022-10-06 11:53:40 +01:00
fp meson: remove dead assignments 2022-09-01 07:42:37 +02:00
guest-debug tests/guest-debug: better handle gdb crashes 2022-04-20 16:04:20 +01:00
image-fuzzer
include
keys
lcitool tests/docker: move alpine from edge to tagged release 2022-10-06 11:53:40 +01:00
migration tests: Use g_mkdir_with_parents() 2022-08-25 15:24:09 +02:00
multiboot
perf/block/qcow2
plugin tests/plugins: add instruction matching to libinsn.so 2022-02-09 12:08:42 +00:00
qapi-schema meson: remove dead assignments 2022-09-01 07:42:37 +02:00
qemu-iotests iotests/backing-file-invalidation: Add new test 2022-09-30 18:43:44 +02:00
qtest tests/qtest: bump up QOS_PATH_MAX_ELEMENT_SIZE 2022-10-06 11:53:40 +01:00
rocker
tcg tests/tcg: move compiler tests to Makefiles 2022-10-06 11:53:40 +01:00
tsan
uefi-test-tools
unit job.c: enable job lock/unlock and remove Aiocontext locks 2022-10-07 12:11:41 +02:00
vm Testing and CI changes: 2022-09-21 13:10:51 -04:00
vmstate-static-checker-data
check-block.sh tests/qemu-iotests: Move the bash and sanitizer checks to meson.build 2022-04-20 09:46:54 +02:00
dbus-vmstate-daemon.sh
Makefile.include configure: move tests/tcg/Makefile.prereqs to root build directory 2022-10-06 11:53:40 +01:00
meson.build meson: create have_vhost_* variables 2022-05-07 07:46:58 +02:00
requirements.txt tests: install "qemu" namespace package into venv 2022-06-06 09:26:54 +02:00
test-qht-par.c
vhost-user-bridge.c tests: vhost-user-bridge: Avoid using hardcoded /tmp 2022-09-27 20:51:20 +02:00