Thread (14 messages) 14 messages, 6 authors, 2013-08-09

Re: [PATCH v3 4/4] USBNET: ax88179_178a: enable tso if usb host supports sg dma

From: Ming Lei <hidden>
Date: 2013-08-06 15:07:20

On Tue, Aug 6, 2013 at 8:22 PM, Eric Dumazet [off-list ref] wrote:
On Tue, 2013-08-06 at 08:52 +0800, Ming Lei wrote:
quoted
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.
Nice ;)
quoted
             AX_RXCOE_TCPV6 | AX_RXCOE_UDPV6;
@@ -1310,6 +1318,10 @@ static int ax88179_reset(struct usbnet *dev)

      dev->net->hw_features |= NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM |
                               NETIF_F_RXCSUM;
+     if (dev->can_dma_sg) {
+             dev->net->features |= NETIF_F_SG | NETIF_F_TSO;
+             dev->net->hw_features |= NETIF_F_SG | NETIF_F_TSO;
+     }
My concern with setting TSO on reset() is the following :

Admin can disable TSO with

ethtool -K ethX tso off


Then, one hour later, or one month later, a reset happens, and this code
magically re-enables TSO
The reset only happens during open(), and TSO can't be re-enabled magically,
unless the interface is re-opened by Admin.
So, I really think this part should be removed from your patch.
OK, will remove it.


Thanks,
--
Ming Lei
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help