e1000: Simple optimizations in e1000_xmit_frame

Some simple optimizations in e1000_xmit_frame.

Signed-off-by: Krishna Kumar <krkumar2@in.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
This commit is contained in:
Krishna Kumar 2007-10-05 14:15:16 -07:00 committed by David S. Miller
parent e2f036da2f
commit 6d1e3aa7bd
1 changed files with 4 additions and 5 deletions

View File

@ -3261,14 +3261,13 @@ e1000_xmit_frame(struct sk_buff *skb, struct net_device *netdev)
unsigned int first, max_per_txd = E1000_MAX_DATA_PER_TXD; unsigned int first, max_per_txd = E1000_MAX_DATA_PER_TXD;
unsigned int max_txd_pwr = E1000_MAX_TXD_PWR; unsigned int max_txd_pwr = E1000_MAX_TXD_PWR;
unsigned int tx_flags = 0; unsigned int tx_flags = 0;
unsigned int len = skb->len; unsigned int len = skb->len - skb->data_len;
unsigned long flags; unsigned long flags;
unsigned int nr_frags = 0; unsigned int nr_frags;
unsigned int mss = 0; unsigned int mss;
int count = 0; int count = 0;
int tso; int tso;
unsigned int f; unsigned int f;
len -= skb->data_len;
/* This goes back to the question of how to logically map a tx queue /* This goes back to the question of how to logically map a tx queue
* to a flow. Right now, performance is impacted slightly negatively * to a flow. Right now, performance is impacted slightly negatively
@ -3302,7 +3301,7 @@ e1000_xmit_frame(struct sk_buff *skb, struct net_device *netdev)
* points to just header, pull a few bytes of payload from * points to just header, pull a few bytes of payload from
* frags into skb->data */ * frags into skb->data */
hdr_len = skb_transport_offset(skb) + tcp_hdrlen(skb); hdr_len = skb_transport_offset(skb) + tcp_hdrlen(skb);
if (skb->data_len && (hdr_len == (skb->len - skb->data_len))) { if (skb->data_len && hdr_len == len) {
switch (adapter->hw.mac_type) { switch (adapter->hw.mac_type) {
unsigned int pull_size; unsigned int pull_size;
case e1000_82544: case e1000_82544: