Re: usb_hcd_poll_rh_status (rh_timer_func) timer

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

 



On Fri, 25 Sep 2009, Mikael Pettersson wrote:

> Alan Stern writes:
>  > On Thu, 24 Sep 2009, Mikael Pettersson wrote:
>  > 
>  > > I'm trying to tune a tickless 2.6.31 kernel for an ARM box
>  > > (arch/arm/mach-iop32x/n2100.c). Looking at /proc/timer_stats
>  > > I see that
>  > > 
>  > > usb_hcd_poll_rh_status (rh_timer_func)
>  > > 
>  > > is now the #1 cause of timeouts, which prevents the tickless
>  > > kernel from extending the periods between timer interrupts.
>  > > 
>  > > The machine has VIA EHCI and UHCI controllers. The polling timer
>  > > appears if UHCI_HCD is enabled; enabling only EHCI_HCD does not
>  > > case the timer to appear.
>  > 
>  > What USB devices are on the UHCI buses?
> 
> There are no devices on the UHCI buses.
> 
>  > > Is a polling timer really necessary? If it is, why? UHCI bug or
>  > > kernel limitation/shortcut?
>  > 
>  > It is necessary if the the bus is not suspended.  This is a UHCI design 
>  > limitation, not a bug and not a kernel limitation.
>  > 
>  > Even if the bus is suspended, the timer sometimes is necessary.  This 
>  > is because of bugs in some UHCI implementations and bugs in some 
>  > motherboard designs.  However these bugs are specific to Intel and 
>  > Genesys Logic controllers and Asus motherboards, so they shouldn't 
>  > affect you.
> 
> So an empty bus should be suspended, and thus not need the timer?

It should be.  Unless you have turned off the "wakeup" attribute under 
/sys/bus/usb/devices/usbN/power.

If you want to get more information about what's happening, build a 
kernel with CONFIG_USB_DEBUG enabled and see what shows up in the dmesg 
log.

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