Re: EG20T USB Gadget Performance

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

 



On Mon, 13 Jan 2014, Alan Ott wrote:

> > By the way, isn't it true that f_sourcesink uses only one request for
> > each bulk endpoint?  That would naturally lead to a delay each time the
> > request completes and has to be resubmitted.
> 
> That's what the comment at the top of the file says, but it doesn't 
> appear to be true. See source_sink_start_ep(). It seems to start by 
> queueing up 8 transactions.  I've adjusted this number up with no effect 
> (currently at 64).

I don't follow your reasoning.  The comment at the top of the file 
says:

	This just sinks bulk packets OUT to the peripheral...

which is true, and also

	... this doesn't queue more than one request at a time...

which is also true for the bulk endpoints (although not for the
isochronous endpoints).  At high speed, one request = 8 transactions
unless you specify a value for the buflen module parameter other than
4096.

> Maybe there's something else I'm missing.

At the end of the loop in source_sink_start_ep():

		if (!is_iso)
			break;

You could try removing those two lines and see what happens.  (I'm not 
sure why those lines are there to begin with...)

> > If the driver used two requests instead, the pipeline would be much
> > less likely to empty out.
> 
> Yes, I absolutely agree, the queue must be kept full, but in this case I 
> think it is.

No, it isn't.

Alan Stern

--
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




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

  Powered by Linux