Re: [RFC PATCH 1/1] usb: misc: usbtest: add bulk queue test

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

 



On Sun, Sep 06, 2015 at 02:49:45PM -0400, Alan Stern wrote:
> On Sun, 6 Sep 2015, Peter Chen wrote:
> 
> > On Wed, Sep 02, 2015 at 10:23:39AM -0400, Alan Stern wrote:
> > > On Wed, 2 Sep 2015, Peter Chen wrote:
> > > 
> > > > The bulk queue tests are used to show 'best performance' for bulk
> > > > transfer, we are often asked this question by users.
> > > > 
> > > > It's result should be very close to IC simulation, in order
> > > > to get that, the device side should also need to prepare enough
> > > > queue.
> > > > 
> > > > We have got the 'best performance' (IN: ~41MB, OUT: ~39MB) at i.mx platform
> > > > (USB2, ARM Cortex A9) with below command:
> > > > 
> > > > Host side:
> > > > modprobe usbtest
> > > > ./testusb -a -t 27 -g 64 -s 16384
> > > > ./testusb -a -t 28 -g 64 -s 16384
> > > > Gadget side:
> > > > modprobe g_zero loopdefault=1 qlen=64 buflen=16384
> > > > 
> > > > Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx>
> > > > ---
> > > > 
> > > > I am not sure if it is good to reuse iso structure, so I take
> > > > it as RFC. If reuse is accepted, I will rename the iso
> > > > structures to common one.
> > > > 
> > > >  drivers/usb/misc/usbtest.c | 88 ++++++++++++++++++++++++++++++++++++----------
> > > >  1 file changed, 69 insertions(+), 19 deletions(-)
> > > > 
> > > > diff --git a/drivers/usb/misc/usbtest.c b/drivers/usb/misc/usbtest.c
> > > > index ad6dd4a..f1faeb9 100644
> > > > --- a/drivers/usb/misc/usbtest.c
> > > > +++ b/drivers/usb/misc/usbtest.c
> > > > @@ -17,6 +17,7 @@
> > > >  static int override_alt = -1;
> > > >  module_param_named(alt, override_alt, int, 0644);
> > > >  MODULE_PARM_DESC(alt, ">= 0 to override altsetting selection");
> > > > +static void iso_callback(struct urb *urb);
> > > >  
> > > >  /*-------------------------------------------------------------------------*/
> > > >  
> > > > @@ -239,7 +240,8 @@ static struct urb *usbtest_alloc_urb(
> > > >  	unsigned long		bytes,
> > > >  	unsigned		transfer_flags,
> > > >  	unsigned		offset,
> > > > -	u8			bInterval)
> > > > +	u8			bInterval,
> > > > +	bool			queue_callback)
> > > 
> > > Should this be named "is_iso" instead?  It would be be more clear.
> > > 
> > 
> > ISO transfer uses different function iso_alloc_urb to allocate urb,
> > the reason we need one more parameter at usbtest_alloc_urb is we
> > use different callback for simple polling bulk transfer and
> > interrupt-triggered bulk transfer.
> 
> Sorry, I'm a little slow today.  I can understand that you want to use
> different callback routines for the different tests, but I don't
> understand why you want to use iso_callback for a bulk test.  Do you
> plan to rename the callback as well as the structure?

Yes

> 
> Would it make more sense for the extra argument here to be a pointer to 
> the callback function, instead of a flag?

Make sense, thanks.

-- 

Best Regards,
Peter Chen
--
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