Commit 30f9fc94 authored by Rasesh Mody's avatar Rasesh Mody Committed by David S. Miller

bna: Rx Page Based Allocation

Change Details:
        Enhanced support for GRO. Page-base allocation method for Rx buffers is
used in GRO. Skb allocation has been removed in Rx path to use always warm-cache
skbs provided by napi_get_frags.
Signed-off-by: default avatarRasesh Mody <rmody@brocade.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent d3f92aec
This diff is collapsed.
...@@ -233,10 +233,29 @@ struct bnad_rx_vector { ...@@ -233,10 +233,29 @@ struct bnad_rx_vector {
}; };
struct bnad_rx_unmap { struct bnad_rx_unmap {
struct page *page;
u32 page_offset;
struct sk_buff *skb; struct sk_buff *skb;
struct bnad_rx_vector vector; struct bnad_rx_vector vector;
}; };
enum bnad_rxbuf_type {
BNAD_RXBUF_NONE = 0,
BNAD_RXBUF_SKB = 1,
BNAD_RXBUF_PAGE = 2,
BNAD_RXBUF_MULTI = 3
};
#define BNAD_RXBUF_IS_PAGE(_type) ((_type) == BNAD_RXBUF_PAGE)
struct bnad_rx_unmap_q {
int reuse_pi;
int alloc_order;
u32 map_size;
enum bnad_rxbuf_type type;
struct bnad_rx_unmap unmap[0];
};
/* Bit mask values for bnad->cfg_flags */ /* Bit mask values for bnad->cfg_flags */
#define BNAD_CF_DIM_ENABLED 0x01 /* DIM */ #define BNAD_CF_DIM_ENABLED 0x01 /* DIM */
#define BNAD_CF_PROMISC 0x02 #define BNAD_CF_PROMISC 0x02
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment