qemu/hw/scsi
Daniel P. Berrangé ca0559e235 hw/scsi/megasas: skip automatic zero-init of large arrays
The 'megasas_dcmd_pd_get_list' and 'megasas_dcmd_get_properties'
methods have 4k structs used for copying data from the device.
Skip the automatic zero-init of this array to eliminate the
performance overhead in the I/O hot path.

The 'info' structs are manually initialized with memset(). The
compiler ought to be intelligent enough to turn the memset()
into a static initialization operation, and thus not duplicate
the automatic zero-init. Replacing memset() with '{}' makes it
unambiguous that the arrays are statically initialized.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
Message-id: 20250610123709.835102-29-berrange@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2025-06-12 13:40:16 -04:00
..
emulation.c
esp-pci.c qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
esp.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
Kconfig hw/scsi: Introduce VHOST_SCSI_COMMON symbol in Kconfig 2023-06-23 02:54:44 -04:00
lsi53c895a.c hw/scsi/lsi53c895a: skip automatic zero-init of large array 2025-06-12 13:40:16 -04:00
megasas.c hw/scsi/megasas: skip automatic zero-init of large arrays 2025-06-12 13:40:16 -04:00
meson.build hw/virtio: Build various target-agnostic objects just once 2023-06-23 02:54:44 -04:00
mfi.h hw/other: spelling fixes 2023-09-21 11:31:16 +03:00
mpi.h
mptconfig.c nomaintainer: Fix Lesser GPL version number 2020-11-15 17:04:40 +01:00
mptendian.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
mptsas.c qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
mptsas.h include/hw/pci: Split pci_device.h off pci.h 2023-01-08 01:54:22 -05:00
scsi-bus.c system/runstate: add VM state change cb with return value 2025-05-14 05:39:14 -04:00
scsi-disk.c scsi-disk: Advertise FUA support by default 2025-05-21 18:52:17 +02:00
scsi-generic.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
spapr_vscsi.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
srp.h
trace-events hw/scsi/lsi53c895a: add timer to scripts processing 2024-03-08 15:51:21 +01:00
trace.h
vhost-scsi-common.c vhost-user: return failure if backend crash when live migration 2025-05-14 05:39:15 -04:00
vhost-scsi.c vhost-scsi: support VIRTIO_SCSI_F_HOTPLUG 2025-05-14 05:39:15 -04:00
vhost-user-scsi.c vhost-user: return failure if backend crash when live migration 2025-05-14 05:39:15 -04:00
viosrp.h Updated the FSF address to <https://www.gnu.org/licenses/> 2023-02-27 09:15:39 +01:00
virtio-scsi-dataplane.c virtio-scsi: only expose cmd vqs via iothread-vq-mapping 2025-03-13 17:57:23 +01:00
virtio-scsi.c qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
vmw_pvscsi.c hw/scsi/vmw_pvscsi: Convert DeviceRealize -> InstanceInit 2025-05-30 09:52:08 +02:00
vmw_pvscsi.h