diff options
author | Jesse Brandeburg <jesse.brandeburg@intel.com> | 2006-10-24 17:46:01 -0400 |
---|---|---|
committer | Auke Kok <juke-jan.h.kok@intel.com> | 2006-10-24 17:46:01 -0400 |
commit | e64d7d02090e475cfd7efbc830146d0c6dd579bc (patch) | |
tree | 2b015175ac065a034257a02c9c9793e5fce6f129 /drivers/net/e1000/e1000_main.c | |
parent | 225a5dbd68f5271b7425f2f783ae64a1f6863b51 (diff) |
e1000: FIX: Disable Packet Split for non jumbo frames
Allocations using alloc_page are taking too long for normal MTU, so
use LPE only for jumbo frames.
Signed-off-bu: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Diffstat (limited to 'drivers/net/e1000/e1000_main.c')
-rw-r--r-- | drivers/net/e1000/e1000_main.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c index fb83082c4f75..7362e1240178 100644 --- a/drivers/net/e1000/e1000_main.c +++ b/drivers/net/e1000/e1000_main.c | |||
@@ -1808,9 +1808,11 @@ e1000_setup_rctl(struct e1000_adapter *adapter) | |||
1808 | * followed by the page buffers. Therefore, skb->data is | 1808 | * followed by the page buffers. Therefore, skb->data is |
1809 | * sized to hold the largest protocol header. | 1809 | * sized to hold the largest protocol header. |
1810 | */ | 1810 | */ |
1811 | /* allocations using alloc_page take too long for regular MTU | ||
1812 | * so only enable packet split for jumbo frames */ | ||
1811 | pages = PAGE_USE_COUNT(adapter->netdev->mtu); | 1813 | pages = PAGE_USE_COUNT(adapter->netdev->mtu); |
1812 | if ((adapter->hw.mac_type > e1000_82547_rev_2) && (pages <= 3) && | 1814 | if ((adapter->hw.mac_type >= e1000_82571) && (pages <= 3) && |
1813 | PAGE_SIZE <= 16384) | 1815 | PAGE_SIZE <= 16384 && (rctl & E1000_RCTL_LPE)) |
1814 | adapter->rx_ps_pages = pages; | 1816 | adapter->rx_ps_pages = pages; |
1815 | else | 1817 | else |
1816 | adapter->rx_ps_pages = 0; | 1818 | adapter->rx_ps_pages = 0; |