[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <HK2PR06MB35071489A05CEBF9C5FADD1C86E60@HK2PR06MB3507.apcprd06.prod.outlook.com>
Date: Fri, 13 Nov 2020 08:37:09 +0000
From: Carl Yin(殷张成) <carl.yin@...ctel.com>
To: Kristian Evensen <kristian.evensen@...il.com>,
Daniele Palmas <dnlplm@...il.com>
CC: Bjørn Mork <bjorn@...k.no>,
Paul Gildea <paul.gildea@...il.com>,
"David S . Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>,
Network Development <netdev@...r.kernel.org>,
linux-usb <linux-usb@...r.kernel.org>
Subject: 答复: [PATCH net-next 1/1] net: usb: qmi_wwan: add default rx_urb_size
Hi Kristian,
For openwrt device, the ' Performance bottleneck ' usually is NAT, not usbnet.
As I remember: MT7621 have dual core, and support Hardware acceleration of 'NAT'.
It seems r8152 is a pure Ethernet card, does it can use the ' Hardware acceleration '
And do you use 'mpstat -P ALL 2' to monitor each core's loading?
Generally USB interrupt occurs at cpu0, and the 'NAT' is also on cpu0.
You can try to use "echo 2 > /sys/class/net/wwan0/ /queues/rx-0/rps_cpus " to move NAT to cpu1.
X55 max support 31KB, there are benefit from 16KB -> 31KB.
Maybe your X55's FW version is old, only generates 16KB data.
And URB size is 32KB, but X55 only output 16KB, so maybe there are not enough number of URBs?
On November 13, 2020 3:37, Kristian Evensen wrote:
> Hi Daniele,
>
> On Thu, Nov 12, 2020 at 7:29 PM Daniele Palmas <dnlplm@...il.com> wrote:
> > thanks for testing. Still thinking it could be better to differentiate
> > between raw-ip and qmap, but not yet able to find the time to perform
> > some tests on my own.
>
> I agree that separating between qmap and non-qmap would be nice.
> However, with my modules I have not noticed any issues when using 32KB as the
> URB size. Still, the results show that there is no gain in increasing the aggregation
> size from 16 to 32KB. Capturing traffic from the modem reveals that the
> hardware still only generates 16KB URBs (even in high-speed networks). I also
> see that for example the
> r8152 driver uses a static URB size of 16384.
>
> > Is the dongle driver based on usbnet? Besides the aggregated datagram
> > size, did you also try different datagram max numbers?
>
> The dongle driver is not based on usbnet, it is r8152. I tried to increase the
> maximum datagrams from 32 to 64 (as well as some other values), but it had no
> effect on the perfrormance.
>
> > The only advice I can give you is to check if other drivers are
> > performing better, e.g. did you try the MBIM composition? not sure it
> > will make much difference, since it's based on usbnet, but could be
> > worth trying.
>
> I tried to use MBIM, but the performance was the same as with QMI. I will take a
> look at r8152 and experiment with implementing some of the differences in
> usbnet/qmi_wwan. I see for example that r8152 uses NAPI, which while not a
> perfect fit for USB could be worth a try.
> Based on some discussions I found on the mailing list from 2011, implementing
> NAPI in usbnet could be worthwhile.
>
> Thanks for the reply!
>
> BR,
> Kristian
Powered by blists - more mailing lists