USBNET: ax88179_178a: enable tso if usb host supports sg dma
authorMing Lei <ming.lei@canonical.com>
Thu, 8 Aug 2013 13:48:25 +0000 (21:48 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 12 Aug 2013 19:09:51 +0000 (12:09 -0700)
commit3804fad45411b48233b48003e33a78f290d227c8
tree65ab2947e744b36ed2c8f357b7fde992b9c54d16
parent638c5115a794981441246fa8fa5d95c1875af5ba
USBNET: ax88179_178a: enable tso if usb host supports sg dma

This patch enables 'can_dma_sg' flag for ax88179_178a device
if the attached host controller supports building packet from
discontinuous buffers(DMA SG is possible), so TSO can be enabled
and skb fragment buffers can be passed to usb stack via urb->sg
directly.

With the patch, system CPU utilization decreased ~50% and throughput
increased by ~10% when doing iperf client test on one ARM A15 dual
core board.

Cc: Ben Hutchings <bhutchings@solarflare.com>
Cc: Grant Grundler <grundler@google.com>
Cc: Oliver Neukum <oneukum@suse.de>
Cc: Alan Stern <stern@rowland.harvard.edu>
Cc: Freddy Xin <freddy@asix.com.tw>
Signed-off-by: Ming Lei <ming.lei@canonical.com>
Acked-by: Eric Dumazet <edumazet@gmail.com>
Acked-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/usb/ax88179_178a.c