From: Jonathan Lundell <jlundell@pobox.com>
To: Patrick Mochel <mochelp@infinity.powertie.org>
Cc: linux-kernel@vger.kernel.org
Subject: Re: [RFC] New Driver Model for 2.5
Date: Thu, 18 Oct 2001 11:28:06 -0700 [thread overview]
Message-ID: <p05100309b7f4cd5976f7@[10.128.7.49]> (raw)
In-Reply-To: <Pine.LNX.4.21.0110181034050.16868-100000@marty.infinity.powertie.org>
In-Reply-To: <Pine.LNX.4.21.0110181034050.16868-100000@marty.infinity.powertie.org>
At 10:38 AM -0700 10/18/01, Patrick Mochel wrote:
>On Thu, 18 Oct 2001, Jonathan Lundell wrote:
>
>> At 11:08 AM -0500 10/18/01, Taral wrote:
>> >On Wed, Oct 17, 2001 at 04:52:29PM -0700, Patrick Mochel wrote:
>> >> When a suspend transition is triggered, the device tree is
>>walked first to
>> >> save the state of all the devices in the system. Once this is
>>complete, the
>> >> saved state, now residing in memory, can be written to some non-volatile
>> >> location, like a disk partition or network location.
> > >>...
> > What happens to state changes between the first and second traversal
>> of the device tree?
>
>State changes of what?
>
>After the first walk (save_state), you essentially have a snapshot of the
>system in memory which can be written to disk, memory, etc.
>
>Once that is done, you disable interrupts and walk the tree again to power
>off devices.
The "state of all the devices in the system". Presumably, while you
walk the tree the first time (to save state) interrupts are enabled,
and devices are active. Operations (including interrupts) on the
device can, presumably, change the state of the device after its
state has been saved.
To take a crude example, suppose you save the state of an Ethernet
NIC, then change its MAC address, and then suspend the device. The
saved state now has the wrong MAC address.
In this particular case, of course, the driver can keep a soft copy
of the current MAC address and and restore from that, but that means
making special cases of special things.
Look at it another way. Why not save the state at the beginning of
time (say when the device is first initialized) instead of walking
the tree at suspend time? Presumably because there's some difference
between the state then, and the state at suspend time. How did that
difference happen, and why couldn't it happen after the save-state
tree-walk but before the actual device suspend?
--
/Jonathan Lundell.
next prev parent reply other threads:[~2001-10-18 18:28 UTC|newest]
Thread overview: 120+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-10-17 23:52 Patrick Mochel
2001-10-18 6:23 ` Jeff Garzik
2001-10-18 12:13 ` Benjamin Herrenschmidt
2001-10-18 16:19 ` Patrick Mochel
2001-10-18 17:38 ` Tim Jansen
2001-10-18 22:06 ` Benjamin Herrenschmidt
2001-10-19 17:09 ` Kai Henningsen
2001-10-18 22:10 ` Kai Henningsen
2001-10-19 18:26 ` Patrick Mochel
2001-10-19 19:02 ` Tim Jansen
2001-10-19 19:21 ` Mike Fedyk
2001-10-19 20:07 ` Tim Jansen
2001-10-19 20:24 ` Mike Fedyk
2001-10-19 22:25 ` Tim Jansen
2001-10-20 13:47 ` Kai Henningsen
2001-10-20 1:41 ` john slee
2001-10-20 13:52 ` Kai Henningsen
2001-10-22 11:02 ` Padraig Brady
2001-10-27 11:01 ` Kai Henningsen
2001-10-19 7:57 ` Henning P. Schmiedehausen
2001-10-19 8:09 ` Jeff Garzik
2001-10-19 8:31 ` Keith Owens
2001-10-19 8:43 ` Jeff Garzik
2001-10-19 18:50 ` Tim Jansen
2001-10-19 15:21 ` Taral
2001-10-19 23:30 ` Benjamin Herrenschmidt
2001-10-19 23:54 ` Benjamin Herrenschmidt
2001-10-18 15:17 ` Patrick Mochel
2001-10-18 16:08 ` Taral
2001-10-18 16:52 ` Jonathan Lundell
2001-10-18 17:38 ` Patrick Mochel
2001-10-18 17:41 ` Patrick Mochel
2001-10-18 18:28 ` Jonathan Lundell [this message]
2001-10-18 19:49 ` Patrick Mochel
2001-10-18 20:40 ` Jeff Garzik
2001-10-18 21:32 ` John Alvord
2001-10-18 22:23 ` Benjamin Herrenschmidt
2001-10-18 22:26 ` Jeff Garzik
2001-10-18 22:18 ` Benjamin Herrenschmidt
2001-10-18 23:30 ` Patrick Mochel
2001-10-18 23:44 ` Benjamin Herrenschmidt
2001-10-18 23:52 ` Jeff Garzik
2001-10-19 17:12 ` Jonathan Lundell
2001-10-18 17:05 ` Jonathan Corbet
2001-10-18 17:33 ` Patrick Mochel
2001-10-19 17:01 Kevin Easton
2001-10-19 18:40 ` Patrick Mochel
2001-10-19 21:43 Grover, Andrew
2001-10-19 23:33 Benjamin Herrenschmidt
2001-10-20 0:09 ` Linus Torvalds
2001-10-20 9:28 ` Benjamin Herrenschmidt
2001-10-21 17:09 ` Pavel Machek
2001-10-23 0:19 ` Patrick Mochel
2001-10-23 0:31 ` Alan Cox
2001-10-23 0:29 ` Patrick Mochel
2001-10-23 7:53 ` Alan Cox
2001-10-23 15:10 ` Jonathan Lundell
2001-10-23 15:49 ` Alan Cox
2001-10-23 20:22 ` Benjamin Herrenschmidt
2001-10-23 20:54 ` Alan Cox
2001-10-24 0:26 ` Benjamin Herrenschmidt
2001-10-24 9:57 ` Alan Cox
2001-10-24 10:34 ` Benjamin Herrenschmidt
2001-10-24 10:54 ` Alan Cox
2001-10-24 13:04 ` Benjamin Herrenschmidt
2001-10-24 13:25 ` Alan Cox
2001-10-24 16:19 ` Linus Torvalds
2001-10-24 16:36 ` Michael H. Warfield
2001-10-24 16:45 ` Linus Torvalds
2001-10-24 22:48 ` Alan Cox
2001-10-24 16:15 ` Linus Torvalds
2001-10-24 16:46 ` Xavier Bestel
2001-10-24 16:54 ` Patrick Mochel
2001-10-24 16:55 ` Linus Torvalds
2001-10-24 22:45 ` Alan Cox
2001-10-24 17:33 ` Benjamin Herrenschmidt
2001-10-24 22:41 ` Alan Cox
2001-10-24 22:41 ` Linus Torvalds
2001-10-25 7:58 ` Benjamin Herrenschmidt
2001-10-25 12:22 ` Alan Cox
2001-10-25 14:57 ` Benjamin Herrenschmidt
2001-10-25 8:03 ` Benjamin Herrenschmidt
2001-10-25 8:09 ` Benjamin Herrenschmidt
2001-10-25 12:20 ` Alan Cox
2001-10-25 21:47 ` Pavel Machek
2001-10-24 22:50 ` Alan Cox
2001-10-25 4:14 ` Linus Torvalds
2001-10-25 12:42 ` Alan Cox
2001-10-25 21:52 ` Xavier Bestel
2001-10-25 23:53 ` Benjamin Herrenschmidt
2001-10-25 23:53 ` Alan Cox
2001-10-26 11:35 ` Helge Hafting
2001-10-26 12:38 ` Alan Cox
2001-10-25 8:27 ` Rob Turk
2001-10-25 10:01 ` Benjamin Herrenschmidt
2001-10-25 10:02 ` Helge Hafting
2001-10-25 14:20 ` Victor Yodaiken
2001-10-25 14:44 ` Jeff Garzik
2001-10-25 14:45 ` Jeff Garzik
2001-10-25 15:22 ` Rob Turk
2001-10-25 15:44 ` Jonathan Lundell
2001-10-25 16:26 ` David Lang
2001-10-25 21:59 ` Pavel Machek
2001-10-25 21:32 ` Rob Turk
2001-10-24 17:01 ` Mike Anderson
2001-10-25 9:02 ` Eric W. Biederman
2001-10-25 9:29 ` Linus Torvalds
2001-10-25 9:47 ` Benjamin Herrenschmidt
2001-10-25 10:11 ` Eric W. Biederman
2001-10-25 10:59 ` Linus Torvalds
2001-10-24 15:18 ` Jonathan Lundell
2001-10-24 15:41 ` Linus Torvalds
2001-10-24 15:59 ` Alan Cox
2001-10-24 15:56 ` Linus Torvalds
2001-10-23 9:44 ` Pavel Machek
2001-10-23 11:03 ` Benjamin Herrenschmidt
2001-10-23 11:49 ` Benjamin Herrenschmidt
2001-10-23 10:54 ` Benjamin Herrenschmidt
2001-10-24 17:56 Grover, Andrew
2001-10-24 18:45 ` Benjamin Herrenschmidt
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='p05100309b7f4cd5976f7@[10.128.7.49]' \
--to=jlundell@pobox.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mochelp@infinity.powertie.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
all inboxes | Powered by JetHome®