diff options
author | Alexander Duyck <alexander.h.duyck@intel.com> | 2013-02-02 00:07:11 -0500 |
---|---|---|
committer | Jeff Kirsher <jeffrey.t.kirsher@intel.com> | 2013-02-15 04:11:29 -0500 |
commit | 74e238eada573540f82530f8ae4f3343c023d774 (patch) | |
tree | 69086119adb9bea30dd8e866aded4e0190521332 /drivers/net/ethernet/intel/igb/igb.h | |
parent | 9754e293491e3a4e6c1ac020d25140b1ed3d9cd2 (diff) |
igb: Support using build_skb in the case that jumbo frames are disabled
This change makes it so that we can enable the use of build_skb for cases
where jumbo frames are disabled. The advantage to this is that we do not
have to perform a memcpy to populate the header and as a result we see a
significant performance improvement.
Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Diffstat (limited to 'drivers/net/ethernet/intel/igb/igb.h')
-rw-r--r-- | drivers/net/ethernet/intel/igb/igb.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/net/ethernet/intel/igb/igb.h b/drivers/net/ethernet/intel/igb/igb.h index 4b78053592ba..afdb8bbcf6ce 100644 --- a/drivers/net/ethernet/intel/igb/igb.h +++ b/drivers/net/ethernet/intel/igb/igb.h | |||
@@ -275,10 +275,18 @@ struct igb_q_vector { | |||
275 | enum e1000_ring_flags_t { | 275 | enum e1000_ring_flags_t { |
276 | IGB_RING_FLAG_RX_SCTP_CSUM, | 276 | IGB_RING_FLAG_RX_SCTP_CSUM, |
277 | IGB_RING_FLAG_RX_LB_VLAN_BSWAP, | 277 | IGB_RING_FLAG_RX_LB_VLAN_BSWAP, |
278 | IGB_RING_FLAG_RX_BUILD_SKB_ENABLED, | ||
278 | IGB_RING_FLAG_TX_CTX_IDX, | 279 | IGB_RING_FLAG_TX_CTX_IDX, |
279 | IGB_RING_FLAG_TX_DETECT_HANG | 280 | IGB_RING_FLAG_TX_DETECT_HANG |
280 | }; | 281 | }; |
281 | 282 | ||
283 | #define ring_uses_build_skb(ring) \ | ||
284 | test_bit(IGB_RING_FLAG_RX_BUILD_SKB_ENABLED, &(ring)->flags) | ||
285 | #define set_ring_build_skb_enabled(ring) \ | ||
286 | set_bit(IGB_RING_FLAG_RX_BUILD_SKB_ENABLED, &(ring)->flags) | ||
287 | #define clear_ring_build_skb_enabled(ring) \ | ||
288 | clear_bit(IGB_RING_FLAG_RX_BUILD_SKB_ENABLED, &(ring)->flags) | ||
289 | |||
282 | #define IGB_TXD_DCMD (E1000_ADVTXD_DCMD_EOP | E1000_ADVTXD_DCMD_RS) | 290 | #define IGB_TXD_DCMD (E1000_ADVTXD_DCMD_EOP | E1000_ADVTXD_DCMD_RS) |
283 | 291 | ||
284 | #define IGB_RX_DESC(R, i) \ | 292 | #define IGB_RX_DESC(R, i) \ |