public inbox for linux-pm@vger.kernel.org
 help / color / mirror / Atom feed
From: David Brownell <david-b-yBeKhBN/0LDR7s880joybQ@public.gmane.org>
To: linux-pm-qjLDD68F18O7TbgM5vRIOg@public.gmane.org
Subject: Re: Nested suspends; messages vs. states
Date: Wed, 23 Mar 2005 23:46:25 -0800	[thread overview]
Message-ID: <200503232346.26135.david-b@pacbell.net> (raw)
In-Reply-To: <1111646219.5570.20.camel@gaston>

[-- Attachment #1: Type: text/plain, Size: 3350 bytes --]

On Wednesday 23 March 2005 10:36 pm, Benjamin Herrenschmidt wrote:
> On Wed, 2005-03-23 at 22:31 -0800, David Brownell wrote:
> > On Wednesday 23 March 2005 10:02 pm, Benjamin Herrenschmidt wrote:
> > > 
> > > > That's a different example though:  you've given the host controller
> > > > flexibility.  You have _not_ hogtied it.
> > > > 
> > > > The model we seem to be aiming towards in USB land is a bit different
> > > > than that though.  When autosuspend is the goal, it bubbles up from
> > > > the bottom ... nodes (like HC) don't force children into idle, they
> > > > wait for the children to idle themselves and then take the opportunity
> > > > to snooze themselves.  That's a model with wide applicability...
> > > 
> >...
> 
> Still... it means a usage timer etc... on every device ... I just happen
> to quite like the idea of the host controller "noticing" no URBs were
> used so far :) 

There are probably cases where some reusable logic could kick in.
Maybe not for choice of timeout though. :)

Think of that mouse example though.  It's got an urb posted at all
times.  Polling.  The host controller will not observe the "idle"
nature.  And it wouldn't be able to distinguish mice that can do
remote wakeup (so they're OK to suspend) from those that can't.


> Also, what about devices with no driver attached (nor 
> userland drivers) ?

No driver?  Suspend it always.  (But be ready to resume and
maybe reset the device before probing it...)

Userland driver?  That means the driver is "usbfs".  It'd
make sense to have userspace initiate the suspend then.

  
> > It matters for example with mice on laptops.  I'm told that Intel
> > has measured and found that autosuspending mouse, then root hub
> > lets Centrino enter the C3 state, saving 2 Watts of power.  Which
> > can be rather significant savings...
> 
> It is, though I have no idea what C3 is ...

Yet another CPU power state, but one incompatible with DMAs
that come by every millisecond.  It may be Intel-only for all
I know, meaning only UHCI (and EHCI) will care.


> But suspending root hub 
> definitely stops the hcca updates, so lets the CPU and host bridge rest,
> so it's definitely a good thing. I should measure that on my laptop one
> of these days.

That's part of why I added that idle-suspend to OHCI last year
sometime.  Also, because on some hardware that's the only way
to conserve power short of turning off clocks and dropping the
VBUS power.


> It's especially interesting on those new pmac laptops 
> with internal bluetooth as it's basically preventing auto-suspend of the
> root hub currently (until there is that idle suspend mecanism
> implemented, wether it is at the ohci level or at the bluetooth
> level)... oh and the newest ones also have USB keyboards and
> trackpads ... 

I didn't know that.  Interesting.  Good thing the OHCI driver seems
pretty solid nowadays ... PM aside!  :)

- Dave

 
> > There are other strategies too, like having some external component
> > try to decide things.  Maybe even users.  Every strategy has plus
> > and minus points.  One nice thing about autosuspend is that the
> > user interface is all but nonexistent.  Also, most users are already
> > trained to expect such mechanisms elsewhere.
> 
> Yup.
> 
> -- 
> Benjamin Herrenschmidt <benh-XVmvHMARGAS8U2dJNN8I7kB+6BGkLq7r@public.gmane.org>
> 
> 

[-- Attachment #2: Type: text/plain, Size: 0 bytes --]



  reply	other threads:[~2005-03-24  7:46 UTC|newest]

Thread overview: 72+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-03-21 20:11 Nested suspends; messages vs. states Alan Stern
     [not found] ` <Pine.LNX.4.44L0.0503211436020.1241-100000-3WpdWqXrU/qjv4eRiOYp3g@public.gmane.org>
2005-03-21 20:20   ` Pavel Machek
     [not found]     ` <20050321202016.GI1390-I/5MKhXcvmPrBKCeMvbIDA@public.gmane.org>
2005-03-21 21:14       ` Alan Stern
     [not found]         ` <Pine.LNX.4.44L0.0503211613010.2329-100000-3WpdWqXrU/qjv4eRiOYp3g@public.gmane.org>
2005-03-21 22:26           ` Pavel Machek
     [not found]             ` <20050321222609.GK1390-I/5MKhXcvmPrBKCeMvbIDA@public.gmane.org>
2005-03-22  3:08               ` Alan Stern
     [not found]                 ` <Pine.LNX.4.44L0.0503212140450.28689-100000-pYrvlCTfrz9XsRXLowluHWD2FQJk+8+b@public.gmane.org>
2005-03-22 11:08                   ` Pavel Machek
     [not found]                     ` <20050322110802.GA1751-I/5MKhXcvmPrBKCeMvbIDA@public.gmane.org>
2005-03-22 17:24                       ` Alan Stern
     [not found]                         ` <Pine.LNX.4.44L0.0503221216430.954-100000-3WpdWqXrU/qjv4eRiOYp3g@public.gmane.org>
2005-03-23 23:49                           ` Benjamin Herrenschmidt
2005-03-23 18:32               ` David Brownell
     [not found]                 ` <200503231032.36164.david-b-yBeKhBN/0LDR7s880joybQ@public.gmane.org>
2005-03-23 21:00                   ` Pavel Machek
2005-03-22  4:21   ` Benjamin Herrenschmidt
2005-03-22 17:04     ` Alan Stern
     [not found]       ` <Pine.LNX.4.44L0.0503221143460.954-100000-3WpdWqXrU/qjv4eRiOYp3g@public.gmane.org>
2005-03-22 23:36         ` Benjamin Herrenschmidt
2005-03-23  1:17         ` Patrick Mochel
     [not found]           ` <Pine.LNX.4.50.0503221709080.16154-100000-x8k/2hhmB0w5etPau2IXcQ@public.gmane.org>
2005-03-23 19:02             ` David Brownell
     [not found]               ` <200503231102.27137.david-b-yBeKhBN/0LDR7s880joybQ@public.gmane.org>
2005-03-23 20:36                 ` Nigel Cunningham
2005-03-23 21:08             ` Alan Stern
     [not found]               ` <Pine.LNX.4.44L0.0503231544550.631-100000-3WpdWqXrU/qjv4eRiOYp3g@public.gmane.org>
2005-03-24  2:35                 ` Patrick Mochel
     [not found]                   ` <Pine.LNX.4.50.0503231827310.15119-100000-x8k/2hhmB0w5etPau2IXcQ@public.gmane.org>
2005-03-24 17:03                     ` Alan Stern
     [not found]                       ` <Pine.LNX.4.44L0.0503241149000.1345-100000-3WpdWqXrU/qjv4eRiOYp3g@public.gmane.org>
2005-03-24 17:13                         ` Patrick Mochel
     [not found]                           ` <Pine.LNX.4.50.0503240904570.13683-100000-x8k/2hhmB0w5etPau2IXcQ@public.gmane.org>
2005-03-24 17:46                             ` David Brownell
2005-03-24 17:51                             ` Patrick Mochel
2005-03-24 19:27                             ` Alan Stern
2005-03-23 18:58     ` David Brownell
     [not found]       ` <200503231058.54311.david-b-yBeKhBN/0LDR7s880joybQ@public.gmane.org>
2005-03-23 19:37         ` Jordan Crouse
     [not found]           ` <20050323123725.201d8a67-aftB2sG12IhaqnLngUycEA@public.gmane.org>
2005-03-24  5:16             ` David Brownell
2005-03-23 23:24         ` Benjamin Herrenschmidt
2005-03-24  2:45           ` David Brownell
     [not found]             ` <200503231845.55392.david-b-yBeKhBN/0LDR7s880joybQ@public.gmane.org>
2005-03-24  5:03               ` Benjamin Herrenschmidt
2005-03-24  5:27                 ` David Brownell
     [not found]                   ` <200503232127.19576.david-b-yBeKhBN/0LDR7s880joybQ@public.gmane.org>
2005-03-24  6:02                     ` Benjamin Herrenschmidt
2005-03-24  6:31                       ` David Brownell
     [not found]                         ` <200503232231.00561.david-b-yBeKhBN/0LDR7s880joybQ@public.gmane.org>
2005-03-24  6:36                           ` Benjamin Herrenschmidt
2005-03-24  7:46                             ` David Brownell [this message]
2005-03-23  0:52   ` Patrick Mochel
     [not found]     ` <Pine.LNX.4.50.0503221635130.16154-100000-x8k/2hhmB0w5etPau2IXcQ@public.gmane.org>
2005-03-23  1:21       ` Benjamin Herrenschmidt
2005-03-23  1:46         ` Patrick Mochel
     [not found]           ` <Pine.LNX.4.50.0503221724550.16154-100000-x8k/2hhmB0w5etPau2IXcQ@public.gmane.org>
2005-03-23  3:31             ` Benjamin Herrenschmidt
2005-03-23 18:20               ` Patrick Mochel
     [not found]                 ` <Pine.LNX.4.50.0503231008340.17099-100000-x8k/2hhmB0w5etPau2IXcQ@public.gmane.org>
2005-03-23 21:02                   ` Pavel Machek
     [not found]                     ` <20050323210204.GE30704-I/5MKhXcvmPrBKCeMvbIDA@public.gmane.org>
2005-03-23 21:35                       ` Nigel Cunningham
     [not found]                         ` <1111613750.14853.117.camel-r49W/1Cwd2ff0s6lnCXPX/uOuaPYTxhvJwvTLr3MMZM@public.gmane.org>
2005-03-23 21:54                           ` Pavel Machek
     [not found]                             ` <20050323215416.GK30704-I/5MKhXcvmPrBKCeMvbIDA@public.gmane.org>
2005-03-24  2:40                               ` Patrick Mochel
     [not found]                                 ` <Pine.LNX.4.50.0503231838570.15119-100000-x8k/2hhmB0w5etPau2IXcQ@public.gmane.org>
2005-03-24  3:16                                   ` Nigel Cunningham
     [not found]                                     ` <1111634182.3430.1.camel-r49W/1Cwd2ff0s6lnCXPX/uOuaPYTxhvJwvTLr3MMZM@public.gmane.org>
2005-03-24  8:19                                       ` Patrick Mochel
     [not found]                                         ` <Pine.LNX.4.50.0503240017460.15119-100000-x8k/2hhmB0w5etPau2IXcQ@public.gmane.org>
2005-03-24 10:01                                           ` CPU local things [was Re: Nested suspends; messages vs. states] Pavel Machek
     [not found]                                             ` <20050324100153.GE1354-I/5MKhXcvmPrBKCeMvbIDA@public.gmane.org>
2005-03-24 15:59                                               ` Patrick Mochel
     [not found]                                                 ` <Pine.LNX.4.50.0503240749030.24692-100000-x8k/2hhmB0w5etPau2IXcQ@public.gmane.org>
2005-03-24 17:14                                                   ` Nathan Lynch
2005-03-24 20:59                                                     ` Nigel Cunningham
2005-03-23 23:14                   ` Nested suspends; messages vs. states Benjamin Herrenschmidt
2005-03-24  1:27               ` Patrick Mochel
     [not found]                 ` <Pine.LNX.4.50.0503231724100.15119-100000-x8k/2hhmB0w5etPau2IXcQ@public.gmane.org>
2005-03-24  9:59                   ` Pavel Machek
     [not found]                     ` <20050324095910.GD1354-I/5MKhXcvmPrBKCeMvbIDA@public.gmane.org>
2005-03-24 15:48                       ` Patrick Mochel
     [not found]                         ` <Pine.LNX.4.50.0503240746290.24692-100000-x8k/2hhmB0w5etPau2IXcQ@public.gmane.org>
2005-03-24 16:38                           ` David Brownell
     [not found]                             ` <200503240838.37628.david-b-yBeKhBN/0LDR7s880joybQ@public.gmane.org>
2005-03-24 17:00                               ` Patrick Mochel
     [not found]                                 ` <Pine.LNX.4.50.0503240858200.13683-100000-x8k/2hhmB0w5etPau2IXcQ@public.gmane.org>
2005-03-24 17:33                                   ` David Brownell
     [not found]                                     ` <200503240933.49123.david-b-yBeKhBN/0LDR7s880joybQ@public.gmane.org>
2005-03-24 17:41                                       ` Patrick Mochel
     [not found]                                         ` <Pine.LNX.4.50.0503240937150.13683-100000-x8k/2hhmB0w5etPau2IXcQ@public.gmane.org>
2005-03-24 18:08                                           ` David Brownell
2005-03-24  1:41               ` Patrick Mochel
     [not found]                 ` <Pine.LNX.4.50.0503231727220.15119-100000-x8k/2hhmB0w5etPau2IXcQ@public.gmane.org>
2005-03-24  2:22                   ` Benjamin Herrenschmidt
2005-03-24  2:05               ` Patrick Mochel
     [not found]                 ` <Pine.LNX.4.50.0503231742090.15119-100000-x8k/2hhmB0w5etPau2IXcQ@public.gmane.org>
2005-03-24  2:29                   ` Benjamin Herrenschmidt
2005-03-24  5:02                   ` David Brownell
     [not found]                     ` <200503232102.51132.david-b-yBeKhBN/0LDR7s880joybQ@public.gmane.org>
2005-03-24  5:14                       ` Benjamin Herrenschmidt
2005-03-24  5:31                         ` David Brownell
2005-03-24  8:16                         ` Patrick Mochel
2005-03-23 19:06       ` David Brownell
     [not found]         ` <200503231106.03160.david-b-yBeKhBN/0LDR7s880joybQ@public.gmane.org>
2005-03-23 20:29           ` Nigel Cunningham
     [not found]             ` <1111609769.14853.104.camel-r49W/1Cwd2ff0s6lnCXPX/uOuaPYTxhvJwvTLr3MMZM@public.gmane.org>
2005-03-23 20:55               ` David Brownell
2005-03-23 21:18               ` Alan Stern
2005-03-24  2:13           ` Patrick Mochel
     [not found]             ` <Pine.LNX.4.50.0503231810400.15119-100000-x8k/2hhmB0w5etPau2IXcQ@public.gmane.org>
2005-03-24  2:52               ` David Brownell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200503232346.26135.david-b@pacbell.net \
    --to=david-b-ybekhbn/0ldr7s880joybq@public.gmane.org \
    --cc=linux-pm-qjLDD68F18O7TbgM5vRIOg@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox