Re: About Data Aggregation with RNDIS and u_ether Driver
|[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
On 5/21/2012 9:34 PM, Greg KH wrote:
Yes. All USB requests are queued with UDC and there is no more USB request available. Network is still having more data to transfer hereInitial analysis seems that Network Interface is more faster than USB is able to transfer data with RNDIS USB Function.So the USB bus is totally full, yet the network is empty at times? Or are there gaps on the USB traffic also?
and from u_ether, netif TX Queue is stopped to not to push more data.
Possible Approaches: 1. Increasing the qmult ( Queue length multiplier at high speed ) which would allow not to call netif_stop_queue frequently than less number of USB Requests. But still netif_stop_queue would call once limited number of USB requests are exhausted. 2. Using Multi packet approach at RNDIS protocol level ( combining multiple, 2 or more SKBs into one SKB ) of RNDIS Packet ( RNDIS Header + Received Ethernet Data ). Issue could be overhead involved here to create one SKB packet out of multiple SKBs with added RNDIS Header for each of the packet. 3. Is there any other possible approach to fine this network interface and USB RNDIS Function ?Are you using multiple urbs to keep the pipe full to the USB device? That's a requirement if you want to get proper throughput.
I could get multi packets combine into one to transfer in one USB transfer. but it involves few memcpy which may not be good to go with it. Thanks. _-_Mayank Rana_-_ -- Sent by a consultant of the Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum. -- 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
[Linux Media] [Video for Linux] [Linux Input] [Linux Audio Users] [Photo] [Yosemite News] [Yosemite Photos] [Free Online Dating] [Linux Kernel] [Linux SCSI] [Old Linux USB Devel Archive] [More Archives]