qemu/hw
Paolo Bonzini 24b36e9813 block: add max_hw_transfer to BlockLimits
For block host devices, I/O can happen through either the kernel file
descriptor I/O system calls (preadv/pwritev, io_submit, io_uring)
or the SCSI passthrough ioctl SG_IO.

In the latter case, the size of each transfer can be limited by the
HBA, while for file descriptor I/O the kernel is able to split and
merge I/O in smaller pieces as needed.  Applying the HBA limits to
file descriptor I/O results in more system calls and suboptimal
performance, so this patch splits the max_transfer limit in two:
max_transfer remains valid and is used in general, while max_hw_transfer
is limited to the maximum hardware size.  max_hw_transfer can then be
included by the scsi-generic driver in the block limits page, to ensure
that the stricter hardware limit is used.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2021-06-25 10:54:13 +02:00
..
9pfs docs: fix references to docs/devel/tracing.rst 2021-06-02 06:51:09 +02:00
acpi hw/acpi: Provide function acpi_ghes_present() 2021-06-21 16:49:37 +01:00
adc docs: fix references to docs/devel/tracing.rst 2021-06-02 06:51:09 +02:00
alpha docs: fix references to docs/devel/tracing.rst 2021-06-02 06:51:09 +02:00
arm target-arm queue: 2021-06-16 17:02:30 +01:00
audio hw/audio/sb16: Avoid assertion by restricting I/O sampling rate range 2021-06-17 11:55:23 +02:00
avr hw/avr/atmega.c: use the avr51 cpu for atmega1280 2021-05-13 19:11:42 +02:00
block docs: fix references to docs/devel/tracing.rst 2021-06-02 06:51:09 +02:00
char docs: fix references to docs/devel/tracing.rst 2021-06-02 06:51:09 +02:00
core hmp: Print "reserve" property of memory backends with "info memdev" 2021-06-15 20:27:38 +02:00
cpu cpu/core: Fix "help" of CPU core device types 2021-04-09 16:05:16 -04:00
cris Do not include exec/address-spaces.h if it's not really necessary 2021-05-02 17:24:51 +02:00
display virtio-gpu: move scanout_id sanity check 2021-06-15 07:16:56 +02:00
dma docs: fix references to docs/devel/tracing.rst 2021-06-02 06:51:09 +02:00
gpio misc: Correct relative include path 2021-06-05 21:10:42 +02:00
hppa docs: fix references to docs/devel/tracing.rst 2021-06-02 06:51:09 +02:00
hyperv qdev: Move softmmu properties to qdev-properties-system.h 2020-12-18 15:20:17 -05:00
i2c docs: fix references to docs/devel/tracing.rst 2021-06-02 06:51:09 +02:00
i386 i386: Add ratelimit for bus locks acquired in guest 2021-06-17 14:11:06 -04:00
ide docs: fix references to docs/devel/tracing.rst 2021-06-02 06:51:09 +02:00
input docs: fix references to docs/devel/tracing.rst 2021-06-02 06:51:09 +02:00
intc hw/intc/armv7m_nvic: Remove stale comment 2021-06-15 16:18:48 +01:00
ipack Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
ipmi hw: Do not include qemu/log.h if it is not necessary 2021-05-02 17:24:50 +02:00
isa docs: fix references to docs/devel/tracing.rst 2021-06-02 06:51:09 +02:00
m68k softmmu/memory: Pass ram_flags to memory_region_init_ram_shared_nomigrate() 2021-06-15 20:27:38 +02:00
mem docs: fix references to docs/devel/tracing.rst 2021-06-02 06:51:09 +02:00
microblaze Do not include sysemu/sysemu.h if it's not really necessary 2021-05-02 17:24:50 +02:00
mips target/mips: Fold jazz behaviour into mips_cpu_do_transaction_failed 2021-05-26 15:33:59 -07:00
misc softmmu/memory: Pass ram_flags to qemu_ram_alloc_from_fd() 2021-06-15 20:27:38 +02:00
net -----BEGIN PGP SIGNATURE----- 2021-06-04 13:38:49 +01:00
nios2 Do not include cpu.h if it's not really necessary 2021-05-02 17:24:51 +02:00
nubus hw: Do not include hw/sysbus.h if it is not necessary 2021-05-02 17:24:50 +02:00
nvme hw/nvme: move nvme emulation out of hw/block 2021-05-17 09:19:00 +02:00
nvram docs: fix references to docs/devel/tracing.rst 2021-06-02 06:51:09 +02:00
openrisc Do not include exec/address-spaces.h if it's not really necessary 2021-05-02 17:24:51 +02:00
pci docs: fix references to docs/devel/tracing.rst 2021-06-02 06:51:09 +02:00
pci-bridge Kconfig: Compile PXB for ARM_VIRT 2021-01-17 06:42:54 -05:00
pci-host docs: fix references to docs/devel/tracing.rst 2021-06-02 06:51:09 +02:00
pcmcia hw/pcmcia: Do not register PCMCIA type if not required 2021-05-02 17:24:50 +02:00
ppc ppc/pef.c: initialize cgs->ready in kvmppc_svm_init() 2021-06-03 18:10:31 +10:00
rdma docs: fix references to docs/devel/tracing.rst 2021-06-02 06:51:09 +02:00
remote multi-process: Initialize variables declared with g_auto* 2021-05-21 15:43:57 +01:00
riscv hw/riscv: microchip_pfsoc: Support direct kernel boot 2021-06-08 09:59:42 +10:00
rtc docs: fix references to docs/devel/tracing.rst 2021-06-02 06:51:09 +02:00
rx hw/rx/rx-gdbsim: Do not accept invalid memory size 2021-05-03 10:07:41 +02:00
s390x s390x/css: Add passthrough IRB 2021-06-21 08:48:21 +02:00
scsi block: add max_hw_transfer to BlockLimits 2021-06-25 10:54:13 +02:00
sd docs: fix references to docs/devel/tracing.rst 2021-06-02 06:51:09 +02:00
sh4 Do not include exec/address-spaces.h if it's not really necessary 2021-05-02 17:24:51 +02:00
smbios hw/smbios: support for type 41 (onboard devices extended information) 2021-05-14 10:26:18 -04:00
sparc docs: fix references to docs/devel/tracing.rst 2021-06-02 06:51:09 +02:00
sparc64 docs: fix references to docs/devel/tracing.rst 2021-06-02 06:51:09 +02:00
ssi Trivial patches pull request 20210503 2021-05-05 13:52:00 +01:00
timer docs: fix references to docs/devel/tracing.rst 2021-06-02 06:51:09 +02:00
tpm docs: fix references to docs/specs/tpm.rst 2021-06-02 06:51:09 +02:00
tricore hw/tricore: Add testdevice for tests in tests/tcg/ 2021-05-18 09:36:21 +01:00
usb configure, meson: convert libusbredir detection to meson 2021-06-25 10:54:12 +02:00
vfio s390x/css: Add passthrough IRB 2021-06-21 08:48:21 +02:00
virtio vhost-vdpa: don't initialize backend_features 2021-06-11 10:30:13 +08:00
watchdog docs: fix references to docs/devel/tracing.rst 2021-06-02 06:51:09 +02:00
xen docs: fix references to docs/devel/tracing.rst 2021-06-02 06:51:09 +02:00
xenpv meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
xtensa Do not include exec/address-spaces.h if it's not really necessary 2021-05-02 17:24:51 +02:00
Kconfig hw/nvme: move nvme emulation out of hw/block 2021-05-17 09:19:00 +02:00
meson.build hw/nvme: move nvme emulation out of hw/block 2021-05-17 09:19:00 +02:00