mirror of
https://github.com/qemu/qemu.git
synced 2025-08-15 13:47:03 +00:00
chardev/char-socket: skip automatic zero-init of large array
The 'tcp_chr_read' method has a 4k byte array used for copying data between the socket 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 off the network socket. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Message-id: 20250610123709.835102-7-berrange@redhat.com Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
This commit is contained in:
parent
45bb7fb21c
commit
9a23075cef
@ -497,7 +497,7 @@ static gboolean tcp_chr_read(QIOChannel *chan, GIOCondition cond, void *opaque)
|
|||||||
{
|
{
|
||||||
Chardev *chr = CHARDEV(opaque);
|
Chardev *chr = CHARDEV(opaque);
|
||||||
SocketChardev *s = SOCKET_CHARDEV(opaque);
|
SocketChardev *s = SOCKET_CHARDEV(opaque);
|
||||||
uint8_t buf[CHR_READ_BUF_LEN];
|
QEMU_UNINITIALIZED uint8_t buf[CHR_READ_BUF_LEN];
|
||||||
int len, size;
|
int len, size;
|
||||||
|
|
||||||
if ((s->state != TCP_CHARDEV_STATE_CONNECTED) ||
|
if ((s->state != TCP_CHARDEV_STATE_CONNECTED) ||
|
||||||
|
Loading…
Reference in New Issue
Block a user