[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 12/31] hw/audio/sb16: skip automatic zero-init of large array
From: |
Daniel P . Berrangé |
Subject: |
[PATCH 12/31] hw/audio/sb16: skip automatic zero-init of large array |
Date: |
Tue, 10 Jun 2025 13:36:50 +0100 |
The 'write_audio' 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/sb16.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/audio/sb16.c b/hw/audio/sb16.c
index 19fd3b9020..bac64118fe 100644
--- a/hw/audio/sb16.c
+++ b/hw/audio/sb16.c
@@ -1181,7 +1181,7 @@ static int write_audio (SB16State *s, int nchan, int
dma_pos,
IsaDma *isa_dma = nchan == s->dma ? s->isa_dma : s->isa_hdma;
IsaDmaClass *k = ISADMA_GET_CLASS(isa_dma);
int temp, net;
- uint8_t tmpbuf[4096];
+ QEMU_UNINITIALIZED uint8_t tmpbuf[4096];
temp = len;
net = 0;
--
2.49.0
- [PATCH 01/31] include/qemu/compiler: add QEMU_UNINITIALIZED attribute macro, (continued)
- [PATCH 01/31] include/qemu/compiler: add QEMU_UNINITIALIZED attribute macro, Daniel P . Berrangé, 2025/06/10
- [PATCH 02/31] hw/virtio/virtio: avoid cost of -ftrivial-auto-var-init in hot path, Daniel P . Berrangé, 2025/06/10
- [PATCH 03/31] block: skip automatic zero-init of large array in ioq_submit, 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 04/31] chardev/char-fd: 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 06/31] chardev/char-socket: skip automatic zero-init of large array, 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 08/31] hw/audio/cs4231a: skip automatic zero-init of large arrays, 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 12/31] hw/audio/sb16: skip automatic zero-init of large array,
Daniel P . Berrangé <=
- [PATCH 15/31] hw/dma/xlnx_csu_dma: 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 19/31] hw/net/rtl8139: skip automatic zero-init of large array, Daniel P . Berrangé, 2025/06/10
- [PATCH 17/31] hw/hyperv/syndbg: skip automatic zero-init of large array, Daniel P . Berrangé, 2025/06/10
- [PATCH 20/31] hw/net/tulip: 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é, 2025/06/10
- [PATCH 23/31] hw/nvme/ctrl: skip automatic zero-init of large arrays, 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