aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel P. Berrangé <berrange@redhat.com>2025-06-10 13:36:41 +0100
committerStefan Hajnoczi <stefanha@redhat.com>2025-06-12 13:39:08 -0400
commit83750c1da807c973b0b11d977d61df7e41122d03 (patch)
tree24d728fbefb5300c6d9f3081aac9e8eff0a7a90d
parentba2868ce091cd4abe4be6de4b7e44b3be303b352 (diff)
downloadqemu-83750c1da807c973b0b11d977d61df7e41122d03.zip
qemu-83750c1da807c973b0b11d977d61df7e41122d03.tar.gz
qemu-83750c1da807c973b0b11d977d61df7e41122d03.tar.bz2
block: skip automatic zero-init of large array in ioq_submit
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>
-rw-r--r--block/linux-aio.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/block/linux-aio.c b/block/linux-aio.c
index 407369f..c200e7a 100644
--- a/block/linux-aio.c
+++ b/block/linux-aio.c
@@ -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 {