summaryrefslogtreecommitdiff
path: root/drivers/net/ethernet/intel/e1000/e1000.h
diff options
context:
space:
mode:
authorFlorian Westphal <fw@strlen.de>2014-09-03 17:34:36 +0400
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>2014-09-12 13:16:46 +0400
commit13809609610ae2ab4a7730982c3e067d8edb5a67 (patch)
treeadef2268213008277f3f1875ef4ee9df96a639a6 /drivers/net/ethernet/intel/e1000/e1000.h
parent580f321d8498f1c7f83f2765601c84105a21e423 (diff)
downloadlinux-13809609610ae2ab4a7730982c3e067d8edb5a67.tar.xz
e1000: convert to build_skb
Instead of preallocating Rx skbs, allocate them right before sending inbound packet up the stack. e1000-kvm, mtu1500, netperf TCP_STREAM: Size Size Size Time Throughput bytes bytes bytes secs. 10^6bits/sec old: 87380 16384 16384 60.00 4532.40 new: 87380 16384 16384 60.00 4599.05 Signed-off-by: Florian Westphal <fw@strlen.de> 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/e1000/e1000.h')
-rw-r--r--drivers/net/ethernet/intel/e1000/e1000.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/net/ethernet/intel/e1000/e1000.h b/drivers/net/ethernet/intel/e1000/e1000.h
index 4c2a1021aea3..69707108d23c 100644
--- a/drivers/net/ethernet/intel/e1000/e1000.h
+++ b/drivers/net/ethernet/intel/e1000/e1000.h
@@ -160,9 +160,11 @@ struct e1000_tx_buffer {
};
struct e1000_rx_buffer {
- struct sk_buff *skb;
+ union {
+ struct page *page; /* jumbo: alloc_page */
+ u8 *data; /* else, netdev_alloc_frag */
+ } rxbuf;
dma_addr_t dma;
- struct page *page;
};
struct e1000_tx_ring {