@@ -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;
@@ -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)
Move a few active struct fields to the front of the struct for a little better cache use and performance. Signed-off-by: Shannon Nelson <snelson@pensando.io> --- .../net/ethernet/pensando/ionic/ionic_dev.h | 18 +++++++++--------- .../net/ethernet/pensando/ionic/ionic_lif.h | 14 +++++++------- 2 files changed, 16 insertions(+), 16 deletions(-)