qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 04/11] sun4m_iommu: avoid structure holes spotted by


From: Blue Swirl
Subject: [Qemu-devel] [PATCH 04/11] sun4m_iommu: avoid structure holes spotted by pahole
Date: Sun, 7 Aug 2011 20:58:53 +0000

Report from pahole on amd64 host:
struct IOMMUState {
        SysBusDevice               busdev;               /*     0  5648 */
        /* --- cacheline 88 boundary (5632 bytes) was 16 bytes ago --- */
        uint32_t                   regs[4096];           /*  5648 16384 */
        /* --- cacheline 344 boundary (22016 bytes) was 16 bytes ago --- */
        target_phys_addr_t         iostart;              /* 22032     8 */
        uint32_t                   version;              /* 22040     4 */

        /* XXX 4 bytes hole, try to pack */

        qemu_irq                   irq;                  /* 22048     8 */

        /* size: 22056, cachelines: 345 */
        /* sum members: 22052, holes: 1, sum holes: 4 */
        /* last cacheline: 40 bytes */
};      /* definitions: 1 */

Fix by rearranging the structure to avoid padding.

Signed-off-by: Blue Swirl <address@hidden>
---
 hw/sun4m_iommu.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/hw/sun4m_iommu.c b/hw/sun4m_iommu.c
index 7f5dad5..6eeadfa 100644
--- a/hw/sun4m_iommu.c
+++ b/hw/sun4m_iommu.c
@@ -130,8 +130,8 @@ typedef struct IOMMUState {
     SysBusDevice busdev;
     uint32_t regs[IOMMU_NREGS];
     target_phys_addr_t iostart;
-    uint32_t version;
     qemu_irq irq;
+    uint32_t version;
 } IOMMUState;

 static uint32_t iommu_mem_readl(void *opaque, target_phys_addr_t addr)
-- 
1.6.2.4

Attachment: 0004-sun4m_iommu-avoid-structure-holes-spotted-by-pahole.patch
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]