public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Kevin Easton <s3159795@student.anu.edu.au>
To: linux-kernel@vger.kernel.org
Cc: mochel@osdl.org
Subject: Re: [RFC] New Driver Model for 2.5
Date: Sat, 20 Oct 2001 03:01:38 +1000	[thread overview]
Message-ID: <20011020030138.A22096@beernut.flames.org.au> (raw)

Hi,

Am I correct in thinking that the current "state of play" after these recent
discussions is a 3 step suspend process, following an algorithm similar to:

    if (suspend_prepare(device_list) == failed) {
        suspend_cancel(device_list);
        return failed;
    }

    if (suspend_save_state(device_list) == failed) {
        suspend_cancel(device_list);
        return failed;
    }

    write_out_state();
    suspend_now(device_list);

Where these operations on the drivers are defined as:

suspend_prepare:
    Allocate any memory needed for saving of state, suspending & resuming
    device.  LAST CHANCE TO ALLOCATE MEMORY.

suspend_save_state:
    Stop accepting requests.
    Save state of device.

suspend_now:
    Turn off device.

suspend_cancel:
    Free any memory that may have been allocated for saving of state.
    Resume normal operation.

...and write_out_state() somehow stores the saved (in memory) state of the
devices to nonvolatile storage.

If this is approximately the right idea, then how will write_out_state work if
the device(s) that this operation uses aren't accepting requests anymore 
(because they've done suspend_save_state)?  Is it that "Stop accepting 
requests" is actually "Stop accepting requests that will cause a change in the
device state"?  In that case, devices that can have the state written out to 
them will be limited to those where the act of writing it out will never cause
such a request, right?

    - Kevin.


             reply	other threads:[~2001-10-19 17:02 UTC|newest]

Thread overview: 120+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-10-19 17:01 Kevin Easton [this message]
2001-10-19 18:40 ` [RFC] New Driver Model for 2.5 Patrick Mochel
  -- strict thread matches above, loose matches on Subject: below --
2001-10-24 17:56 Grover, Andrew
2001-10-24 18:45 ` Benjamin Herrenschmidt
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-19 21:43 Grover, Andrew
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
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
     [not found]         ` <3BCF3941.D4B79FE1@mandrakesoft.com>
2001-10-19 17:12           ` Jonathan Lundell
2001-10-18 17:05 ` Jonathan Corbet
2001-10-18 17:33   ` Patrick Mochel

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=20011020030138.A22096@beernut.flames.org.au \
    --to=s3159795@student.anu.edu.au \
    --cc=Pine.LNX.4.33.0110181601250.9099-100000@osdlab.pdx.osdl.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mochel@osdl.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