[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 13/31] hw/audio/via-ac97: skip automatic zero-init of large array
From: |
Daniel P . Berrangé |
Subject: |
[PATCH 13/31] hw/audio/via-ac97: skip automatic zero-init of large array |
Date: |
Tue, 10 Jun 2025 13:36:51 +0100 |
The 'out_cb' method has a 4k byte array used for copying data
between the audio backend and device. Skip the automatic zero-init
of this array to eliminate the performance overhead in the I/O hot
path.
The 'tmpbuf' array will be fully initialized when reading data from
device memory.
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
---
hw/audio/via-ac97.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/audio/via-ac97.c b/hw/audio/via-ac97.c
index 1e0a5c7398..d5231e1cf2 100644
--- a/hw/audio/via-ac97.c
+++ b/hw/audio/via-ac97.c
@@ -175,7 +175,7 @@ static void out_cb(void *opaque, int avail)
ViaAC97SGDChannel *c = &s->aur;
int temp, to_copy, copied;
bool stop = false;
- uint8_t tmpbuf[4096];
+ QEMU_UNINITIALIZED uint8_t tmpbuf[4096];
if (c->stat & STAT_PAUSED) {
return;
--
2.49.0
- [PATCH 03/31] block: skip automatic zero-init of large array in ioq_submit, (continued)
- [PATCH 03/31] block: skip automatic zero-init of large array in ioq_submit, Daniel P . Berrangé, 2025/06/10
- [PATCH 04/31] chardev/char-fd: skip automatic zero-init of large array, Daniel P . Berrangé, 2025/06/10
- [PATCH 05/31] chardev/char-pty: skip automatic zero-init of large array, Daniel P . Berrangé, 2025/06/10
- [PATCH 06/31] chardev/char-socket: skip automatic zero-init of large array, Daniel P . Berrangé, 2025/06/10
- [PATCH 07/31] hw/audio/ac97: skip automatic zero-init of large arrays, Daniel P . Berrangé, 2025/06/10
- [PATCH 08/31] hw/audio/cs4231a: skip automatic zero-init of large arrays, Daniel P . Berrangé, 2025/06/10
- [PATCH 09/31] hw/audio/es1370: skip automatic zero-init of large array, Daniel P . Berrangé, 2025/06/10
- [PATCH 10/31] hw/audio/gus: skip automatic zero-init of large array, Daniel P . Berrangé, 2025/06/10
- [PATCH 11/31] hw/audio/gus: skip automatic zero-init of large array, Daniel P . Berrangé, 2025/06/10
- [PATCH 13/31] hw/audio/via-ac97: skip automatic zero-init of large array,
Daniel P . Berrangé <=
- [PATCH 17/31] hw/hyperv/syndbg: skip automatic zero-init of large array, Daniel P . Berrangé, 2025/06/10
- [PATCH 19/31] hw/net/rtl8139: skip automatic zero-init of large array, Daniel P . Berrangé, 2025/06/10
- [PATCH 18/31] hw/misc/aspeed_hace: skip automatic zero-init of large array, Daniel P . Berrangé, 2025/06/10
- [PATCH 21/31] hw/net/virtio-net: skip automatic zero-init of large arrays, Daniel P . Berrangé, 2025/06/10
- [PATCH 15/31] hw/dma/xlnx_csu_dma: skip automatic zero-init of large array, Daniel P . Berrangé, 2025/06/10
- [PATCH 14/31] hw/char/sclpconsole-lm: skip automatic zero-init of large array, Daniel P . Berrangé, 2025/06/10
- [PATCH 27/31] hw/scsi/lsi53c895a: skip automatic zero-init of large array, Daniel P . Berrangé, 2025/06/10
- [PATCH 25/31] hw/ppc/spapr_tpm_proxy: skip automatic zero-init of large arrays, Daniel P . Berrangé, 2025/06/10
- [PATCH 29/31] hw/ufs/lu: skip automatic zero-init of large array, Daniel P . Berrangé, 2025/06/10