• B
    pcnet: avoid structure holes spotted by pahole · fe87aa83
    Blue Swirl 提交于
    Edited report from pahole on amd64 host:
    struct PCNetState_st {
    ...
    	uint16_t                   bcr[32];              /*   340    64 */
    
    	/* XXX 4 bytes hole, try to pack */
    ...
    	int                        tx_busy;              /*  4520     4 */
    
    	/* XXX 4 bytes hole, try to pack */
    
    	qemu_irq                   irq;                  /*  4528     8 */
    	void                       (*phys_mem_read)(void *, target_phys_addr_t, uint8_t *, int, int); /*  4536     8 */
    	/* --- cacheline 71 boundary (4544 bytes) --- */
    	void                       (*phys_mem_write)(void *, target_phys_addr_t, uint8_t *, int, int); /*  4544     8 */
    	void *                     dma_opaque;           /*  4552     8 */
    	int                        looptest;             /*  4560     4 */
    
    	/* size: 4568, cachelines: 72 */
    	/* sum members: 4556, holes: 2, sum holes: 8 */
    	/* padding: 4 */
    	/* last cacheline: 24 bytes */
    };	/* definitions: 2 */
    
    Fix by rearranging the structure to avoid padding.
    Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
    fe87aa83
pcnet.h 1.4 KB