Commit 0c1d175b authored by Shannon Nelson's avatar Shannon Nelson Committed by David S. Miller
Browse files

ionic: struct reorder for faster access



Move a few active struct fields to the front of the struct
for a little better cache use and performance.

Signed-off-by: default avatarShannon Nelson <snelson@pensando.io>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 63cd9083
Loading
Loading
Loading
Loading
+9 −9
Original line number Diff line number Diff line
@@ -199,16 +199,17 @@ struct ionic_desc_info {

struct ionic_queue {
	struct device *dev;
	u64 dbell_count;
	u64 drop;
	u64 stop;
	u64 wake;
	struct ionic_lif *lif;
	struct ionic_desc_info *info;
	struct ionic_dev *idev;
	u16 head_idx;
	u16 tail_idx;
	unsigned int index;
	unsigned int num_descs;
	u64 dbell_count;
	u64 stop;
	u64 wake;
	u64 drop;
	struct ionic_dev *idev;
	unsigned int type;
	unsigned int hw_index;
	unsigned int hw_type;
@@ -226,7 +227,6 @@ struct ionic_queue {
	};
	dma_addr_t base_pa;
	dma_addr_t sg_base_pa;
	unsigned int num_descs;
	unsigned int desc_size;
	unsigned int sg_desc_size;
	unsigned int pid;
@@ -246,8 +246,6 @@ struct ionic_intr_info {
};

struct ionic_cq {
	void *base;
	dma_addr_t base_pa;
	struct ionic_lif *lif;
	struct ionic_cq_info *info;
	struct ionic_queue *bound_q;
@@ -255,8 +253,10 @@ struct ionic_cq {
	u16 tail_idx;
	bool done_color;
	unsigned int num_descs;
	u64 compl_count;
	unsigned int desc_size;
	u64 compl_count;
	void *base;
	dma_addr_t base_pa;
};

struct ionic;
+7 −7
Original line number Diff line number Diff line
@@ -16,32 +16,32 @@
#define IONIC_TX_BUDGET_DEFAULT		256

struct ionic_tx_stats {
	u64 dma_map_err;
	u64 pkts;
	u64 bytes;
	u64 clean;
	u64 linearize;
	u64 csum_none;
	u64 csum;
	u64 crc32_csum;
	u64 tso;
	u64 tso_bytes;
	u64 frags;
	u64 vlan_inserted;
	u64 clean;
	u64 linearize;
	u64 crc32_csum;
	u64 sg_cntr[IONIC_MAX_NUM_SG_CNTR];
	u64 dma_map_err;
};

struct ionic_rx_stats {
	u64 dma_map_err;
	u64 alloc_err;
	u64 pkts;
	u64 bytes;
	u64 csum_none;
	u64 csum_complete;
	u64 csum_error;
	u64 buffers_posted;
	u64 dropped;
	u64 vlan_stripped;
	u64 csum_error;
	u64 dma_map_err;
	u64 alloc_err;
};

#define IONIC_QCQ_F_INITED		BIT(0)