[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 11/31] hw/audio/gus: skip automatic zero-init of large array
From: |
Stefan Hajnoczi |
Subject: |
[PULL 11/31] hw/audio/gus: skip automatic zero-init of large array |
Date: |
Wed, 11 Jun 2025 14:25:13 -0400 |
From: Daniel P. Berrangé <berrange@redhat.com>
The 'mv88w8618_audio_callback' 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 'buf' array will be fully initialized when reading data from
device memory.
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-id: 20250610123709.835102-12-berrange@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
hw/audio/marvell_88w8618.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/audio/marvell_88w8618.c b/hw/audio/marvell_88w8618.c
index 6d3ebbb0c8..c5c79d083a 100644
--- a/hw/audio/marvell_88w8618.c
+++ b/hw/audio/marvell_88w8618.c
@@ -66,7 +66,7 @@ static void mv88w8618_audio_callback(void *opaque, int
free_out, int free_in)
{
mv88w8618_audio_state *s = opaque;
int16_t *codec_buffer;
- int8_t buf[4096];
+ QEMU_UNINITIALIZED int8_t buf[4096];
int8_t *mem_buffer;
int pos, block_size;
--
2.49.0
- [PULL 02/31] hw/virtio/virtio: avoid cost of -ftrivial-auto-var-init in hot path, (continued)
- [PULL 02/31] hw/virtio/virtio: avoid cost of -ftrivial-auto-var-init in hot path, Stefan Hajnoczi, 2025/06/11
- [PULL 04/31] chardev/char-fd: skip automatic zero-init of large array, Stefan Hajnoczi, 2025/06/11
- [PULL 01/31] include/qemu/compiler: add QEMU_UNINITIALIZED attribute macro, Stefan Hajnoczi, 2025/06/11
- [PULL 08/31] hw/audio/cs4231a: skip automatic zero-init of large arrays, Stefan Hajnoczi, 2025/06/11
- [PULL 05/31] chardev/char-pty: skip automatic zero-init of large array, Stefan Hajnoczi, 2025/06/11
- [PULL 07/31] hw/audio/ac97: skip automatic zero-init of large arrays, Stefan Hajnoczi, 2025/06/11
- [PULL 03/31] block: skip automatic zero-init of large array in ioq_submit, Stefan Hajnoczi, 2025/06/11
- [PULL 06/31] chardev/char-socket: skip automatic zero-init of large array, Stefan Hajnoczi, 2025/06/11
- [PULL 09/31] hw/audio/es1370: skip automatic zero-init of large array, Stefan Hajnoczi, 2025/06/11
- [PULL 10/31] hw/audio/gus: skip automatic zero-init of large array, Stefan Hajnoczi, 2025/06/11
- [PULL 11/31] hw/audio/gus: skip automatic zero-init of large array,
Stefan Hajnoczi <=
- [PULL 12/31] hw/audio/sb16: skip automatic zero-init of large array, Stefan Hajnoczi, 2025/06/11
- [PULL 17/31] hw/hyperv/syndbg: skip automatic zero-init of large array, Stefan Hajnoczi, 2025/06/11
- [PULL 15/31] hw/dma/xlnx_csu_dma: skip automatic zero-init of large array, Stefan Hajnoczi, 2025/06/11
- [PULL 13/31] hw/audio/via-ac97: skip automatic zero-init of large array, Stefan Hajnoczi, 2025/06/11
- [PULL 14/31] hw/char/sclpconsole-lm: skip automatic zero-init of large array, Stefan Hajnoczi, 2025/06/11
- [PULL 18/31] hw/misc/aspeed_hace: skip automatic zero-init of large array, Stefan Hajnoczi, 2025/06/11
- [PULL 16/31] hw/display/vmware_vga: skip automatic zero-init of large struct, Stefan Hajnoczi, 2025/06/11
- [PULL 19/31] hw/net/rtl8139: skip automatic zero-init of large array, Stefan Hajnoczi, 2025/06/11
- [PULL 20/31] hw/net/tulip: skip automatic zero-init of large array, Stefan Hajnoczi, 2025/06/11
- [PULL 21/31] hw/net/virtio-net: skip automatic zero-init of large arrays, Stefan Hajnoczi, 2025/06/11