qemu/system
Dmitrii Gavrilov 5dc46b3ff8 system/qdev-monitor: move drain_call_rcu call under if (!dev) in qmp_device_add()
Original goal of addition of drain_call_rcu to qmp_device_add was to cover
the failure case of qdev_device_add. It seems call of drain_call_rcu was
misplaced in 7bed89958b what led to waiting for pending RCU callbacks
under happy path too. What led to overall performance degradation of
qmp_device_add.

In this patch call of drain_call_rcu moved under handling of failure of
qdev_device_add.

Signed-off-by: Dmitrii Gavrilov <ds-gavr@yandex-team.ru>
Message-ID: <20231103105602.90475-1-ds-gavr@yandex-team.ru>
Fixes: 7bed89958b ("device_core: use drain_call_rcu in in qmp_device_add", 2020-10-12)
Cc: qemu-stable@nongnu.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
(cherry picked from commit 012b170173)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
2024-03-10 12:25:05 +03:00
..
arch_init.c
async-teardown.c
balloon.c balloon: Fix a misleading error message 2023-11-17 10:07:52 +01:00
bootdevice.c
cpu-throttle.c
cpu-timers.c
cpus.c system/cpus: Fix CPUState.nr_cores' calculation 2023-11-07 13:08:48 +01:00
datadir.c
device_tree.c
dirtylimit.c system/dirtylimit: Drop the reduplicative check 2023-11-03 07:48:25 +01:00
dma-helpers.c
globals.c
ioport.c
main.c softmmu: pass the main loop status to gdb "Wxx" packet 2023-10-12 12:33:24 +10:00
memory_mapping.c memory: follow Error API guidelines 2023-10-19 23:13:27 +02:00
memory.c system/memory: use ldn_he_p/stn_he_p 2023-12-04 16:21:00 +01:00
meson.build
physmem.c coverity: physmem: use simple assertions instead of modelling 2023-11-24 12:07:47 +01:00
qdev-monitor.c system/qdev-monitor: move drain_call_rcu call under if (!dev) in qmp_device_add() 2024-03-10 12:25:05 +03:00
qemu-seccomp.c
qtest.c system/qtest: Clean up global variable shadowing in qtest_server_init() 2023-10-27 09:39:08 +02:00
rtc.c
runstate-action.c
runstate-hmp-cmds.c
runstate.c softmmu: pass the main loop status to gdb "Wxx" packet 2023-10-12 12:33:24 +10:00
tpm-hmp-cmds.c
tpm.c
trace-events
trace.h
vl.c system/vl: Update description for input grab key 2024-02-22 18:46:06 +03:00
watchpoint.c accel/tcg: Remove CF_LAST_IO 2023-11-14 10:40:54 -08:00