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-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html