]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
ionic: rearrange ionic_queue for better layout
authorShannon Nelson <shannon.nelson@amd.com>
Wed, 6 Mar 2024 23:29:56 +0000 (15:29 -0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 8 Mar 2024 11:54:34 +0000 (11:54 +0000)
A simple change to the struct ionic_queue layout removes some
unnecessary padding and saves us a cacheline in the struct
ionic_qcq layout.

    struct ionic_queue {
Before: /* size: 256, cachelines: 4, members: 29 */
After:  /* size: 192, cachelines: 3, members: 29 */

    struct ionic_qcq {
Before: /* size: 2112, cachelines: 33, members: 23 */
After:  /* size: 2048, cachelines: 32, 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_dev.h

index 2a386e75571e335d4047be778e0816b567ed28f0..f30eee4a5a80e4bbd15a844da71b06660d4b6b05 100644 (file)
@@ -239,10 +239,10 @@ struct ionic_queue {
        unsigned int num_descs;
        unsigned int max_sg_elems;
        u64 features;
-       u64 drop;
        unsigned int type;
        unsigned int hw_index;
        unsigned int hw_type;
+       bool xdp_flush;
        union {
                void *base;
                struct ionic_txq_desc *txq;
@@ -262,10 +262,10 @@ struct ionic_queue {
        };
        struct xdp_rxq_info *xdp_rxq_info;
        struct ionic_queue *partner;
-       bool xdp_flush;
        dma_addr_t base_pa;
        dma_addr_t cmb_base_pa;
        dma_addr_t sg_base_pa;
+       u64 drop;
        unsigned int desc_size;
        unsigned int sg_desc_size;
        unsigned int pid;