Re: [PATCH 3/3] Minor improvement for smsc95xx netusb driver performance.

From: Sergei Shtylyov
Date: Wed Nov 25 2015 - 16:26:17 EST


Hello.

On 11/25/2015 10:15 PM, Ameen wrote:

Reduce number of memcpy's by 1-2 improve transmit performance by 2-4%.
or reduce cpu usage on a comparable value.

CPU.

Signed-off-by: Ameen Ali <AmeenAli023@xxxxxxxxx>
---
drivers/net/usb/smsc95xx.c | 30 ++++++++++++++++--------------
1 file changed, 16 insertions(+), 14 deletions(-)

diff --git a/drivers/net/usb/smsc95xx.c b/drivers/net/usb/smsc95xx.c
index 66b3ab9..022d2f63 100644
--- a/drivers/net/usb/smsc95xx.c
+++ b/drivers/net/usb/smsc95xx.c
@@ -1830,7 +1830,9 @@ static struct sk_buff *smsc95xx_tx_fixup(struct usbnet *dev,
{
bool csum = skb->ip_summed == CHECKSUM_PARTIAL;
int overhead = csum ? SMSC95XX_TX_OVERHEAD_CSUM : SMSC95XX_TX_OVERHEAD;
- u32 tx_cmd_a, tx_cmd_b;
+ struct tx_commands_t {
+ u32 cmd_a, cmd_b, csum_preamble;
+ }tx_cmds;

Need space after }.


/* We do not advertise SG, so skbs should be already linearized */
BUG_ON(skb_shinfo(skb)->nr_frags);
@@ -1855,26 +1857,26 @@ static struct sk_buff *smsc95xx_tx_fixup(struct usbnet *dev,
[...]

- skb_push(skb, 4);
- tx_cmd_b = (u32)(skb->len - 4);
+ tx_cmds.cmd_a = (u32)(skb->len) | TX_CMD_A_FIRST_SEG_ |

Parens around 'skb->len' not needed.

[...]

MBR, Sergei

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/