Re: [PATCH RFT] usb: chipidea: host: disable io watchdog

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

 



Am Dienstag, den 26.04.2016, 09:58 +0800 schrieb Peter Chen:
> On Mon, Apr 25, 2016 at 12:55:42PM +0200, Lucas Stach wrote:
> > The Chipidea EHCI core seems to behave sanely and doesn't need
> > the IO watchdog. This kills off 10 non-deferrable wakeup events
> > per second when the controller is otherwise idle.
> > 
> 
> What does this 10 wakeup events? From what I see, it is 10 hrtimer
> event, does they affect a lot?

As they are non-deferrable they limit the time the CPU can stay in deep
idle modes to 100ms. On an otherwise idle system those 10 wakeups/s
represent as much as 50% of the overall system timer wakeups.

On i.MX6, where the cores don't normally flush their caches in deep idle
this doesn't matter that much, but as this driver is used on lots of
systems I would like to get rid of the unnecessary timer now, before it
spreads even more.

> 
> > Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx>
> > ---
> > I've only tested this on i.MX6 for now and would like to ask people
> > on CC to test on their platforms as they also use the chipidea core.
> > ---
> >  drivers/usb/chipidea/host.c | 3 +++
> >  1 file changed, 3 insertions(+)
> > 
> > diff --git a/drivers/usb/chipidea/host.c b/drivers/usb/chipidea/host.c
> > index 053bac9d983c..96ae69502c86 100644
> > --- a/drivers/usb/chipidea/host.c
> > +++ b/drivers/usb/chipidea/host.c
> > @@ -81,12 +81,15 @@ static int ehci_ci_reset(struct usb_hcd *hcd)
> >  {
> >  	struct device *dev = hcd->self.controller;
> >  	struct ci_hdrc *ci = dev_get_drvdata(dev);
> > +	struct ehci_hcd *ehci = hcd_to_ehci(hcd);
> >  	int ret;
> >  
> >  	ret = ehci_setup(hcd);
> >  	if (ret)
> >  		return ret;
> >  
> > +	ehci->need_io_watchdog = 0;
> > +
> >  	ci_platform_configure(ci);
> >  
> >  	return ret;
> 


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