Re: About Data Aggregation with RNDIS and u_ether Driver

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

 



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


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

  Powered by Linux