]> git.ipfire.org Git - thirdparty/qemu.git/commitdiff
block: skip automatic zero-init of large array in ioq_submit
authorDaniel P. Berrangé <berrange@redhat.com>
Tue, 10 Jun 2025 12:36:41 +0000 (13:36 +0100)
committerStefan Hajnoczi <stefanha@redhat.com>
Thu, 12 Jun 2025 17:39:08 +0000 (13:39 -0400)
The 'ioq_submit' method has a struct array that is 8k in size.
Skip the automatic zero-init of this array to eliminate the
performance overhead in the I/O hot path.

The 'iocbs' array will selectively initialized when processing
the I/O data.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-id: 20250610123709.835102-4-berrange@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
block/linux-aio.c

index 407369f5c95cc7ad0de2a65ea2c436851bfbb948..c200e7ad20f70851b2f16140f19f6009faba99b4 100644 (file)
@@ -291,7 +291,7 @@ static void ioq_submit(LinuxAioState *s)
 {
     int ret, len;
     struct qemu_laiocb *aiocb;
-    struct iocb *iocbs[MAX_EVENTS];
+    QEMU_UNINITIALIZED struct iocb *iocbs[MAX_EVENTS];
     QSIMPLEQ_HEAD(, qemu_laiocb) completed;
 
     do {