public inbox for linux-pm@vger.kernel.org
 help / color / mirror / Atom feed
* Re: [linux-pm] [PATCH v2] Add suspend/resume for HPET
@ 2007-04-02 14:16 Alan Stern
  0 siblings, 0 replies; 67+ messages in thread
From: Alan Stern @ 2007-04-02 14:16 UTC (permalink / raw)
  To: David Brownell
  Cc: Maxim Levitsky, Ingo Molnar, Linus Torvalds, Greg KH,
	Thomas Gleixner, Kernel development list, Linux-pm mailing list

On Saturday March 31, 2007, David Brownell wrote:

> I'm about ready to test the appended patch... a "move one device" call
> might be safest at this point in the release cycle though.
> 
> - Dave
> 
> ========================	SNIP!
> Change how the PM list is constructed, so that devices are added right
> after their parents (when they have one) rather than at the end of the
> list.  This preserves sequencing guarantees, but enables sequencing of
> suspend/resume operations by more important characteristics than "when
> device happened to enumerate" ... e.g. clocksources and clockevents
> at a clearly defined point during suspend and resume.
> 
> This patch has a potential downside for devices that have multiple
> power dependencies and which "just happened to work" before.

Dave:

Would you mind retracting this patch?  It will interfere with some work
I've been doing in USB, work that relies on exactly the sort of multiple 
power dependency you mention.

The problem is this: When a low- or full-speed USB device is resumed 
following a power loss (this is part of the "persistent USB" patch), it's 
necessary for the corresponding EHCI root hub to be resumed first so that 
the port's OWNER bit can be set properly.

It works fine as long as devices are resumed in order of registration,
because a low- or full-speed USB device can't be registered before the
high-speed root hub.  (If it was, it would be disconnected when the
high-speed root hub initialized and took control of the port.)  So this
isn't a "just happened to work" situation; it really is a critical
ordering dependency.

The clock source problem can be solved in other ways.  For instance, right 
now things are set up so that clock sources are registered at various 
random times and the clockevents code adapts to use the best available 
device, right?.  So simply arrange for a clock source to "depart" as it is 
suspended; then clockevents can fall back to using other lower-precision 
sources.  As long as devices suspend in reverse order of discovery, the 
system should always function properly.

Alan Stern

^ permalink raw reply	[flat|nested] 67+ messages in thread

end of thread, other threads:[~2007-04-02 14:16 UTC | newest]

Thread overview: 67+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <Pine.LNX.4.64.0703160925270.26106@woody.linux-foundation.org>
2007-03-18 18:49 ` [3/6] 2.6.21-rc4: known regressions Adrian Bunk
2007-03-18 19:38   ` Marcus Better
2007-03-26  1:25   ` Jeff Chua
2007-03-26  4:05     ` Adrian Bunk
2007-03-26  5:37       ` Jeff Chua
2007-03-26 16:26         ` Thomas Gleixner
2007-03-26 17:46           ` Jeff Chua
2007-03-28  7:04             ` Thomas Gleixner
2007-03-28 13:43               ` Maxim
2007-03-28 14:41                 ` Ingo Molnar
2007-03-28 15:01                   ` Maxim
2007-03-28 16:38                     ` Linus Torvalds
2007-03-28 19:38                       ` David Brownell
2007-03-28 20:19                         ` [linux-pm] " Maxim
2007-03-28 20:59                           ` David Brownell
2007-03-28 21:27                             ` Maxim
2007-03-29 22:33                               ` David Brownell
     [not found]                               ` <200703291533.38002.david-b@pacbell.net>
2007-03-29 23:29                                 ` Maxim Levitsky
2007-03-30  0:09                                   ` David Brownell
     [not found]                                   ` <200703291709.17085.david-b@pacbell.net>
2007-03-30  0:48                                     ` Maxim Levitsky
2007-03-28 20:42                         ` Linus Torvalds
2007-03-28 21:17                           ` [linux-pm] " David Brownell
2007-03-28 22:26                           ` Maxim
2007-03-29  4:41                       ` [ PATCH] Add suspend/resume for HPET was: " Maxim
2007-03-29  5:08                         ` Linus Torvalds
2007-03-29  5:47                           ` Maxim
2007-03-29 13:20                             ` Sergei Shtylyov
2007-03-29 13:31                               ` Maxim
2007-03-29 13:46                                 ` [PATCH v2] Add suspend/resume for HPET Maxim Levitsky
2007-03-29 16:53                                   ` Linus Torvalds
2007-03-29 17:28                                     ` Maxim Levitsky
2007-03-29 17:51                                     ` Ingo Molnar
2007-03-29 20:46                                       ` Andi Kleen
2007-03-29 18:11                                   ` Jeff Chua
2007-03-31 15:51                                   ` Thomas Gleixner
2007-03-31 16:01                                     ` Jeff Chua
2007-03-31 16:09                                       ` Thomas Gleixner
2007-03-31 16:09                                     ` Linus Torvalds
2007-03-31 16:33                                       ` Thomas Gleixner
2007-03-31 16:41                                         ` Greg KH
2007-03-31 16:53                                         ` Linus Torvalds
2007-03-31 17:02                                           ` Ingo Molnar
2007-03-31 18:18                                             ` David Brownell
     [not found]                                             ` <200703311118.55132.david-b@pacbell.net>
2007-03-31 19:32                                               ` David Brownell
     [not found]                                               ` <200703311232.57505.david-b@pacbell.net>
2007-04-01  3:13                                                 ` Jeff Chua
2007-04-01  4:13                                                   ` David Brownell
2007-03-31 17:08                                           ` Greg KH
2007-03-31 17:55                                           ` [linux-pm] " David Brownell
2007-03-31 16:56                                     ` Maxim Levitsky
2007-03-31 17:09                                       ` Linus Torvalds
2007-03-31 17:17                                         ` Ingo Molnar
2007-03-31 17:58                                           ` Daniel Walker
2007-03-29 16:35                             ` [ PATCH] Add suspend/resume for HPET was: Re: [3/6] 2.6.21-rc4: known regressions Linus Torvalds
2007-03-29 16:51                               ` Maxim Levitsky
2007-03-29 17:22                                 ` Linus Torvalds
2007-03-29 17:47                                   ` [patch, v2] add suspend/resume for HPET Ingo Molnar
2007-03-28 18:04                 ` [3/6] 2.6.21-rc4: known regressions Michael S. Tsirkin
2007-03-28 18:32                   ` Ingo Molnar
2007-03-28 18:35                   ` Randy Dunlap
2007-03-29 14:24                   ` Jeff Chua
2007-03-18 18:49 ` [4/6] " Adrian Bunk
2007-03-23 18:50 ` [3/5] 2.6.21-rc4: known regressions (v2) Adrian Bunk
2007-03-23 19:07   ` Maxim
2007-03-23 20:53   ` Rafael J. Wysocki
     [not found] ` <200703261200.25587.marcus@better.se>
     [not found]   ` <20070326143433.GC16477@stusta.de>
     [not found]     ` <200703261942.52126.marcus@better.se>
2007-03-26 18:48       ` Adrian Bunk
2007-03-27  9:42         ` Marcus Better
2007-04-02 14:16 [linux-pm] [PATCH v2] Add suspend/resume for HPET Alan Stern

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox