e1000: Simple optimizations in e1000_xmit_frame
Subsystems (2)
PATCH 1/2 e1000: Simple optimizations in e1000_xmit_frame
From: Krishna Kumar <[email protected]>
Some simple optimizations in e1000_xmit_frame.
Signed-off-by Krishna Kumar <[email protected]>
---
drivers/net/e1000/e1000_main.c | 9 ++++----- 1 files changed, 4 insertions(+), 5 deletions(-)
drivers/net/e1000/e1000_main.c +4 -5
@@ -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 max_txd_pwr =E1000_MAX_TXD_PWR ;unsigned int tx_flags =0 ; -unsigned int len = skb->len; +unsigned int len = skb->len - skb->data_len;unsigned long flags; -unsigned int nr_frags =0 ; -unsigned int mss =0 ; +unsigned int nr_frags; +unsigned int mss;int count =0 ;int tso;unsigned int f; - len -= skb->data_len;/* This goes back to the question of how to logically map a tx queue * 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 * frags into skb->data */ 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) {unsigned int pull_size;case e1000_82544:
PATCH 2/2 e1000e: Simple optimizations in e1000_xmit_frame
After an e1000 patch from Krishna Kumar <[email protected]>.
Signed-off-by Auke Kok <[email protected]>
---
drivers/net/e1000e/netdev.c | 9 ++++----- 1 files changed, 4 insertions(+), 5 deletions(-)
drivers/net/e1000e/netdev.c +4 -5
@@ -3424,14 +3424,13 @@ static int e1000_xmit_frame(struct sk_buff *skb, struct net_device *netdev)unsigned int max_per_txd =E1000_MAX_PER_TXD ;unsigned int max_txd_pwr =E1000_MAX_TXD_PWR ;unsigned int tx_flags =0 ; -unsigned int len = skb->len; +unsigned int len = skb->len - skb->data_len;unsigned long irq_flags; -unsigned int nr_frags =0 ; -unsigned int mss =0 ; +unsigned int nr_frags; +unsigned int mss;int count =0 ;int tso;unsigned int f; - len -= skb->data_len;if (test_bit (__E1000_DOWN, &adapter->state)) {dev_kfree_skb_any (skb);
@@ -3459,7 +3458,7 @@ static int e1000_xmit_frame(struct sk_buff *skb, struct net_device *netdev)* points to just header, pull a few bytes of payload from * frags into skb->data */ 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)) {unsigned int pull_size; pull_size =min ((unsigned int )4 , skb->data_len);
Quoted 9 lines · Auke Kok
From: Krishna Kumar <[email protected]>
Some simple optimizations in
e1000_xmit_frame.Signed-off-by Krishna Kumar <[email protected]>---
drivers/net/e1000/e1000_main.c | 9 ++++----- 1 files changed, 4 insertions(+), 5 deletions(-)
applied 1-2