41 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| From 55243edf42ee87bce9f36ca251f3ab9cda1563e4 Mon Sep 17 00:00:00 2001
 | |
| From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>
 | |
| Date: Tue, 10 Jun 2025 13:37:05 +0100
 | |
| Subject: [PATCH] hw/scsi/lsi53c895a: skip automatic zero-init of large array
 | |
| MIME-Version: 1.0
 | |
| Content-Type: text/plain; charset=UTF-8
 | |
| Content-Transfer-Encoding: 8bit
 | |
| 
 | |
| The 'lsi_memcpy' method has a 4k byte array used for copying data
 | |
| to/from the 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 data is copied.
 | |
| 
 | |
| 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-28-berrange@redhat.com
 | |
| Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
 | |
| ---
 | |
|  hw/scsi/lsi53c895a.c | 2 +-
 | |
|  1 file changed, 1 insertion(+), 1 deletion(-)
 | |
| 
 | |
| diff --git a/hw/scsi/lsi53c895a.c b/hw/scsi/lsi53c895a.c
 | |
| index f4f2ef321e..9ea4aa0a85 100644
 | |
| --- a/hw/scsi/lsi53c895a.c
 | |
| +++ b/hw/scsi/lsi53c895a.c
 | |
| @@ -1112,7 +1112,7 @@ bad:
 | |
|  static void lsi_memcpy(LSIState *s, uint32_t dest, uint32_t src, int count)
 | |
|  {
 | |
|      int n;
 | |
| -    uint8_t buf[LSI_BUF_SIZE];
 | |
| +    QEMU_UNINITIALIZED uint8_t buf[LSI_BUF_SIZE];
 | |
|  
 | |
|      trace_lsi_memcpy(dest, src, count);
 | |
|      while (count) {
 | |
| -- 
 | |
| 2.47.3
 | |
| 
 |