1

ionic: rearrange ionic_queue for better layout

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>
This commit is contained in:
Shannon Nelson 2024-03-06 15:29:56 -08:00 committed by David S. Miller
parent 453538c52f
commit 4554341dd0

View 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;