Re: [PATCH 0/3] Adjust isochronous scheduling in ehci-hcd

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

 



On Tue, 3 Sep 2013, Greg KH wrote:

> On Tue, Sep 03, 2013 at 01:58:23PM -0400, Alan Stern wrote:
> > Greg:
> > 
> > This series of three patches modifies the isochronous scheduling
> > routine in ehci-hcd, adding changes that we need for proper operation
> > with tasklets (with a new inline routine needed in usbcore).
> > 
> > The problem is that we have to maintain the existing API guarantee that
> > URBs submitted in a completion handler will keep an isochronous stream
> > alive, maintaining synchronization with the device.  Until recently
> > this wasn't an issue; URBs submitted by a completion handler would be
> > processed while the giveback operation was in progress, so the endpoint
> > queue would never appear to be empty.
> > 
> > But now completion handlers run in a separate tasklet context.  The
> > giveback operation will end before the completion handler runs and
> > submits any URBs.  Therefore we need a way to tell whether a particular
> > URB submission was made by a completion handler, and we need to handle
> > the case where the endpoint queue does empty out temporarily.
> > 
> > That's what these patches do.  The first one adds a mechanism to 
> > usbcore for determining whether an endpoint's completion handler is 
> > running.  The other two modify ehci-hcd to do the right thing when the 
> > queue gets an underrun.
> > 
> > These changes are intended to avoid bad side effects in the USB audio
> > driver when interrupt latency causes a delay in the isochronous stream.  
> > Since the tasklet changes have already been accepted, I think these
> > patches will also need to go to Linus before the current merge window
> > closes.
> 
> It's really late in the merge window cycle (i.e. it's already started)
> to be taking patches that mess with the EHCI scheduling code.
> 
> I'd rather just revert the tasklet changes if they are causing the
> problem here, and then hold off for all of this until 3.13, would that
> be ok?

That's understandable.

It's not necessary to revert all the tasklet changes.  The only one 
that matters is commit 428aac8a8105 (USB: EHCI: support running URB 
giveback in tasklet context).  Without that one, the tasklet mechanism 
will be present but not used.

It's also okay to keep Ming Lei's other changes to ehci-hcd; they are
compatible with operation either with or without tasklets.

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