Re: Policy for default wakeup-enable setting

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

 



On Fri, 16 Sep 2011, Greg KH wrote:

> On Fri, Sep 16, 2011 at 11:55:15AM -0400, Alan Stern wrote:
> > On Fri, 16 Sep 2011, Greg KH wrote:
> > 
> > > > Following the kernel's policy, USB host controllers currently are
> > > > disabled for remote wakeup by default. This really isn't what we should
> > > > do.  If the user wants a USB device to wake the system then he has to
> > > > "echo enabled >/sys/.../power/wakeup" for both the device and its
> > > > controller.  There's no reason to require that second step -- we lose
> > > > nothing by enabling wakeups on the controller by default.
> > > > 
> > > > What do people think about this change in the policy?
> > > 
> > > It makes sense to change this by default, but what does that mean for
> > > existing users?  Will their systems suddenly wakeup when previously they
> > > didn't?
> > 
> > As far as I can tell, the only USB devices currently enabled for remote
> > wakeup by default are keyboards and root hubs.  My proposed patch would
> > disable root hubs and enable host controllers.
> > 
> > As a result, the only change people should see is that (unless they or
> > their distributions deliberately alter the settings) pressing a key
> > on a USB keyboard will wake up a sleeping system whereas before it
> > would not.
> > 
> > It's hard to say whether this is good or bad.  I don't normally use a
> > USB keyboard, and my systems _do_ wake up when I press a key, which I
> > regard as desirable.  The proposed change would make USB keyboards
> > behave the same as my PS/2 and laptop keyboards.  Other people might
> > not feel the same way about it, though.
> 
> I feel that is the way it should be as well, so this is good.
> 
> > As for other subsystems, I can't say much.  Changing the policy doesn't
> > have any immediate effect, of course -- people still have to change
> > the code.  But I think it makes sense.  Even for something simple like
> > PCI bridges; we obviously want bridges to forward PME# signals to the 
> > CPU.
> 
> Agreed.

There is one drawback to the new arrangement.  Many desktop and laptop
systems have a lot more USB host controllers than ever get used.  (My
dsektop computer has 8 controllers, and I don't think there has ever
been more than 3 USB devices plugged in at any time.)  The unused root
hubs naturally get put into runtime suspend -- and of course, they are
enabled for remote wakeup so that they will respond when a device is
plugged in.

With the proposed changes, root hubs will disabled for wakeup during
system sleep.  That means when the system is going into suspend, the
root hubs will have to be woken up from runtime suspend in order to
disable remote wakeup, and then put back into suspend.  This will slow
the suspend process down a little (not too much if async suspend is
being used, because the various root hubs can be handled in parallel).

It's unfortunate, but I don't see any reasonable way around it.

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