Re: DWC3 + ECM: performance regression

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

Jean-Jacques Hiblot <jjhiblot@xxxxxx> writes:
> Hi Felipe,
>
> I noticed a performance regression with commit 
> fd9afd3cbe404998d732be6cc798f749597c5114 "usb: gadget: u_ether: remove 
> interrupt throttling".
>
> I read the discussion leading to this commit and I agree that the 
> interrupt throttling may not have been done perfectly and could lead to 
> stalls.
>
> However with my setup the performances drop is significant: from 550-600 
> MBits/s to 350-400 MBits/s when the patch is applied
>
> Here is a brief description of this setup:
>
> - tested mostly with a 4.4 version because the driver is not so stable 
> with 4.9 (I'll send the details in a separate email).
>
> - TI DRA7x platform with a DWC3 USB controller.
>
> - g_ether loaded with parameter qmult=20
>
> - Super-speed mode only
>
> - Performance test done with iperf. cmdline is "iperf -c 10.0.0.1 -t10 
> -i1" (single threaded and unidirectionnal)
>
>
> I fixed this in my setup by introducing a new flag 'no_urge' that serves 
> kind of the same purpose as 'no_interrupt' but instead of meaning "no 
> need for completion" it's more like "completion required in a finite 
> amount of time but not immediately". This flag is always set when 
> pushing a TX usb request.
> In the DWC3, the IOC interrupt is disabled for all packets with this 
> flag set and the LST interrupt is enabled.

if you set LST then you'll get an interrupt anyway. There's no
difference between setting IOC without LST or LST without IOC.

> It seems to works fine. I checked that all packets were given back to 
> the stack in short amount of time and the CPU is not put to knees by the 
> number of interrupts. The performance is steady at around 600MBit/s.
>
> I wanted to have your opinion on this approach before I try to port it 
> to 4.9.

sorry, doesn't sound very good. Let's get v4.9 behaving for you then we
can look at other ways to improve throughput. Keep in mind, though, that
by default MTU is rather low for the networking gadgets.

-- 
balbi

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux