On Tue, May 22, 2012 at 08:56:18AM -0700, Greg KH wrote: > On Tue, May 22, 2012 at 02:55:45PM +0530, Mayank Rana wrote: > > On 5/21/2012 9:34 PM, Greg KH wrote: > > >> > > >>Initial 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? > > Yes. All USB requests are queued with UDC and there is no more USB > > request available. Network is still having more data to transfer > > here > > and from u_ether, netif TX Queue is stopped to not to push more data. > > If the USB bus is full, then how can you get better throughput? USB has > hardware limitations, if USB 2.0 is the gating factor, then use USB 3.0 > hardware, that is why it was created :) I guess the limitting factor here is the size of the requests. u_ether sk_buffs are 1536 bytes in size. That'll be 1 interrupt at every ~ 250ms. Then you need to reprogram DMA, process packet, recycle usb_request and so on. Maybe you can combine multiple sk_buffs with skb_append_datato_frags() or something like that ? I don't know the socket layer good enough to know how to do it properly... -- balbi
Attachment:
signature.asc
Description: Digital signature