ionic: rearrange ionic_qcq
authorShannon Nelson <shannon.nelson@amd.com>
Wed, 6 Mar 2024 23:29:55 +0000 (15:29 -0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 8 Mar 2024 11:54:34 +0000 (11:54 +0000)
Rearange a few fields for better cache use and to put the
flags field up into the first cacheline rather than the last.

    struct ionic_qcq
Before: /* size: 2176, cachelines: 34, members: 23 */
After:  /* size: 2112, cachelines: 33, members: 23 */

Reviewed-by: Brett Creeley <brett.creeley@amd.com>
Signed-off-by: Shannon Nelson <shannon.nelson@amd.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/pensando/ionic/ionic_lif.h

index b4f8692a3ead09d8aa8b2ad41be34d2e94b42f71..08f4266fe2aa48173f45bfe95ec1b9d0deb8f360 100644 (file)
@@ -71,25 +71,25 @@ struct ionic_qcq {
        void *q_base;
        dma_addr_t q_base_pa;
        u32 q_size;
+       u32 cq_size;
        void *cq_base;
        dma_addr_t cq_base_pa;
-       u32 cq_size;
        void *sg_base;
        dma_addr_t sg_base_pa;
        u32 sg_size;
+       unsigned int flags;
        void __iomem *cmb_q_base;
        phys_addr_t cmb_q_base_pa;
        u32 cmb_q_size;
        u32 cmb_pgid;
        u32 cmb_order;
        struct dim dim;
+       struct timer_list napi_deadline;
        struct ionic_queue q;
        struct ionic_cq cq;
-       struct ionic_intr_info intr;
-       struct timer_list napi_deadline;
        struct napi_struct napi;
-       unsigned int flags;
        struct ionic_qcq *napi_qcq;
+       struct ionic_intr_info intr;
        struct dentry *dentry;
 };