Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752573AbbKYV0N (ORCPT ); Wed, 25 Nov 2015 16:26:13 -0500 Received: from mail-lf0-f43.google.com ([209.85.215.43]:34637 "EHLO mail-lf0-f43.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751703AbbKYV0K (ORCPT ); Wed, 25 Nov 2015 16:26:10 -0500 Subject: Re: [PATCH 3/3] Minor improvement for smsc95xx netusb driver performance. To: Ameen , teve.glendinning@shawell.net References: <1448478956-5646-1-git-send-email-AmeenAli023@gmail.com> Cc: linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org From: Sergei Shtylyov Organization: Cogent Embedded Message-ID: <5656276E.70903@cogentembedded.com> Date: Thu, 26 Nov 2015 00:26:06 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: <1448478956-5646-1-git-send-email-AmeenAli023@gmail.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1518 Lines: 50 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 > --- > 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/