RE: ehci scan_periodic loop time

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

 



Please use Reply-to-All so that your email gets sent to the mailing 
list as well as to me.

On Fri, 25 Mar 2011, bradhuang wrote:

> Dears, 
> 
> Let me explain more detail.
> We got the issue in our Embedded System that also running usbip daemon. 
> When we plug webcam for long time iso data testing, we got system reset and
> usbip daemon disconnect issue.
> The time for watchdog reset of mine is about 10seconds.
> And when we add code:
> 1. disable watchdog before execute scan_periodic() in ehci_work function, 
> 2. enable watchdog after execute scan_periodic() in ehci_work function.
> Then the watchdog reset issue can not be found again. But usbip daemon will
> be disconnected in testing. 
> It means scan_periodic() take long time for ehci irq. Such that system can
> not service for other irq (e.g. network driver).
> After trace the code flow of iso data, most iso data are going to case
> Q_TYPE_ITD, and in itd_complete() will check wheather execute ehci_urb_done
> or not.
> Why you patch for case Q_TYPE_QH not for case Q_TYPE_ITD?

Because the Q_TYPE_QH case in scan_periodic() calls qh_completions() 
when it doesn't need to.  The Q_TYPE_ITD case doesn't make the same 
mistake.

> Do you have idea for itd case?

No.  Therefore you need to do more testing.

> Also, after measure the cycle number for several function, 
> We found:
> for loops in scan_periodic() will take most cpu cycles, 
> we will check in depth for "for loops" in scan_periodic().

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