diff options
author | Daniel P. Berrangé <berrange@redhat.com> | 2025-06-10 13:37:02 +0100 |
---|---|---|
committer | Stefan Hajnoczi <stefanha@redhat.com> | 2025-06-12 13:40:16 -0400 |
commit | 3438eabaf4f8ae58b6c47f1727938d1d7dac4823 (patch) | |
tree | 3cd54d6ea9f0f653d37c111195381b92a8c0f48b | |
parent | 7eeb1d3acc175813ad3d5e824f26123e0992093a (diff) | |
download | qemu-3438eabaf4f8ae58b6c47f1727938d1d7dac4823.zip qemu-3438eabaf4f8ae58b6c47f1727938d1d7dac4823.tar.gz qemu-3438eabaf4f8ae58b6c47f1727938d1d7dac4823.tar.bz2 |
hw/ppc/pnv_occ: skip automatic zero-init of large struct
The 'occ_model_tick' method has a 12k struct used for copying
data between guest and host. Skip the automatic zero-init of this
struct to eliminate the performance overhead in the I/O hot path.
The 'dynamic_data' buffer will be fully initialized when reading
data from the guest.
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
Message-id: 20250610123709.835102-25-berrange@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
-rw-r--r-- | hw/ppc/pnv_occ.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/hw/ppc/pnv_occ.c b/hw/ppc/pnv_occ.c index fa6f31c..24b789c 100644 --- a/hw/ppc/pnv_occ.c +++ b/hw/ppc/pnv_occ.c @@ -789,7 +789,7 @@ static bool occ_opal_process_command(PnvOCC *occ, static bool occ_model_tick(PnvOCC *occ) { - struct occ_dynamic_data dynamic_data; + QEMU_UNINITIALIZED struct occ_dynamic_data dynamic_data; if (!occ_read_dynamic_data(occ, &dynamic_data, NULL)) { /* Can't move OCC state field to safe because we can't map it! */ |