• Ivan Vecera's avatar
    be2net: move txcp field in be_tx_obj to eliminate holes in the struct · 646d2c10
    Ivan Vecera authored
    Before patch:
    struct be_tx_obj {
            u32                        db_offset;            /*     0     4 */
    
            /* XXX 4 bytes hole, try to pack */
    
            struct be_queue_info       q;                    /*     8    56 */
            /* --- cacheline 1 boundary (64 bytes) --- */
            struct be_queue_info       cq;                   /*    64    56 */
            struct be_tx_compl_info    txcp;                 /*   120     4 */
    
            /* XXX 4 bytes hole, try to pack */
    
            /* --- cacheline 2 boundary (128 bytes) --- */
            struct sk_buff *           sent_skb_list[2048];  /*   128 16384 */
            ...
    }:
    
    After patch:
    struct be_tx_obj {
            u32                        db_offset;            /*     0     4 */
            struct be_tx_compl_info    txcp;                 /*     4     4 */
            struct be_queue_info       q;                    /*     8    56 */
            /* --- cacheline 1 boundary (64 bytes) --- */
            struct be_queue_info       cq;                   /*    64    56 */
            struct sk_buff *           sent_skb_list[2048];  /*   120 16384 */
            ...
    };
    Signed-off-by: default avatarIvan Vecera <cera@cera.cz>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    646d2c10
be.h 27 KB