From 43e80b89b65cbc62b5e0fde09b47c9fc572a8b11 Mon Sep 17 00:00:00 2001 From: Michael Chan Date: Thu, 19 Jun 2008 16:41:08 -0700 Subject: bnx2: Optimize fast-path tx and rx work. Add hw_tx_cons_ptr and hw_rx_cons_ptr to speed up the retreival of the tx and rx consumer index, since the MSI-X and default status blocks have different structures. Combine status_blk and status_blk_msix into a union. We'll only use one type of status block for each vector. Separate the code to detect more rx and tx work from the code to detect link related work. Signed-off-by: Michael Chan Signed-off-by: Benjamin Li Signed-off-by: David S. Miller --- drivers/net/bnx2.h | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'drivers/net/bnx2.h') diff --git a/drivers/net/bnx2.h b/drivers/net/bnx2.h index 1c5ce80..362bef6 100644 --- a/drivers/net/bnx2.h +++ b/drivers/net/bnx2.h @@ -6609,8 +6609,12 @@ struct bnx2_rx_ring_info { struct bnx2_napi { struct napi_struct napi ____cacheline_aligned; struct bnx2 *bp; - struct status_block *status_blk; - struct status_block_msix *status_blk_msix; + union { + struct status_block *msi; + struct status_block_msix *msix; + } status_blk; + u16 *hw_tx_cons_ptr; + u16 *hw_rx_cons_ptr; u32 last_status_idx; u32 int_num; @@ -6759,7 +6763,6 @@ struct bnx2 { u32 stats_ticks; - struct status_block *status_blk; dma_addr_t status_blk_mapping; struct statistics_block *stats_blk; -- cgit v1.1