qemu/hw/block
Greg Kurz d0267da614 virtio-blk: Configure all host notifiers in a single MR transaction
This allows the virtio-blk-pci device to batch the setup of all its
host notifiers. This significantly improves boot time of VMs with a
high number of vCPUs, e.g. from 3m26.186s down to 0m58.023s for a
pseries machine with 384 vCPUs.

Note that memory_region_transaction_commit() must be called before
virtio_bus_cleanup_host_notifier() because the latter might close
ioeventfds that the transaction still assumes to be around when it
commits.

Signed-off-by: Greg Kurz <groug@kaod.org>
Message-Id: <20210407143501.244343-3-groug@kaod.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2021-05-14 10:26:18 -04:00
..
dataplane virtio-blk: Configure all host notifiers in a single MR transaction 2021-05-14 10:26:18 -04:00
block.c block: make BlockConf size props 32bit and accept size suffixes 2020-06-17 14:53:40 +02:00
cdrom.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
ecc.c Include hw/hw.h exactly where needed 2019-08-16 13:31:52 +02:00
fdc.c hw/block/fdc: Fix 'fallback' property on sysbus floppy disk controllers 2021-04-09 18:00:29 +02:00
hd-geometry.c block: Remove blk_pread_unthrottled() 2019-08-16 10:25:16 +02:00
Kconfig hw/block: Introduce TC58128 eeprom Kconfig entry 2021-03-06 16:18:42 +01:00
m25p80.c hw/block: m25p80: Support fast read for SST flashes 2021-03-22 21:54:40 -04:00
meson.build hw/block/nvme: end-to-end data protection 2021-03-18 12:34:51 +01:00
nand.c block: Separate blk_is_writable() and blk_supports_write_perm() 2021-01-27 20:45:20 +01:00
nvme-dif.c hw/block/nvme: add missing copyright headers 2021-04-07 10:48:32 +02:00
nvme-dif.h hw/block/nvme: add missing copyright headers 2021-04-07 10:48:32 +02:00
nvme-ns.c hw/block/nvme: fix handling of private namespaces 2021-04-07 10:48:31 +02:00
nvme-ns.h hw/block/nvme: fix handling of private namespaces 2021-04-07 10:48:31 +02:00
nvme-subsys.c hw/block/nvme: fix handling of private namespaces 2021-04-07 10:48:31 +02:00
nvme-subsys.h hw/block/nvme: fix out-of-bounds read in nvme_subsys_ctrl 2021-04-07 10:48:33 +02:00
nvme.c hw/block/nvme: fix invalid msix exclusive uninit 2021-04-26 14:55:50 +01:00
nvme.h hw/block/nvme: fix handling of private namespaces 2021-04-07 10:48:31 +02:00
onenand.c block: Separate blk_is_writable() and blk_supports_write_perm() 2021-01-27 20:45:20 +01:00
pflash_cfi01.c hw/block/pflash_cfi: Replace DPRINTF with trace events 2021-03-18 11:16:31 +01:00
pflash_cfi02.c hw/block/pflash_cfi: Replace DPRINTF with trace events 2021-03-18 11:16:31 +01:00
swim.c block: Separate blk_is_writable() and blk_supports_write_perm() 2021-01-27 20:45:20 +01:00
tc58128.c hw/sh4: Add missing license 2021-03-06 16:18:42 +01:00
trace-events hw/block/nvme: fix handling of private namespaces 2021-04-07 10:48:31 +02:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
vhost-user-blk.c vhost-user-blk: add immediate cleanup on shutdown 2021-04-01 11:39:12 -04:00
virtio-blk.c virtio-blk: Constify VirtIOFeature feature_sizes[] 2021-05-14 08:12:09 -04:00
xen_blkif.h xen: Import other xen/io/*.h 2019-06-24 10:42:30 +01:00
xen-block.c xen-block: Fix removal of backend instance via xenstore 2021-03-23 11:18:20 +00:00