mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: Xavier Bestel <xavier.bestel@free.fr>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>,
	Linus Torvalds <torvalds@transmeta.com>,
	Patrick Mochel <mochel@osdl.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [RFC] New Driver Model for 2.5
Date: Fri, 26 Oct 2001 01:53:59 +0200	[thread overview]
Message-ID: <20011025235359.12066@smtp.adsl.oleane.com> (raw)
In-Reply-To: <1004046722.9892.120.camel@nomade>
In-Reply-To: <1004046722.9892.120.camel@nomade>

>> One job kernel drivers have is to say "I can't safely sleep at this moment"
>> Even windows/XP beta gets this right.
>
>The other solution (let cdrecord tell I-dunno-how the PM daemon that
>it's doing something "important") is IMHO better: the PM daemon could
>judge if it should honor the suspend request depending on its priority
>(inactivity, power button or low battery) and the running "important"
>jobs.

The cdrecord case is a high level issue, and scsi is a mess ;)

We are not yet at a point where we can be more constructive
than what was already said. Ultimately we need to move a bit
forward with the real implementation and see how some problems
show up. The architecture as it was designed so far is light,
and most of the debate is not around it, it's around how it
should be used by drivers & kernel subsystems ;)

Also, there will always be corner cases where a kernel driver will
be able to override whatever policy was set. Drivers can register
to the PM layer and can return errors. It have to be exceptional,
but I beleive some critical flash algorithm or whatever would
benefit from it.

I would however vote for making that a bit simpler by providing a
kernel-global sleep rw semaphore. The idea here is that drivers, file
systems, or whatever bits of kernel code that, for a given momment,
won't afford beeing put to sleep will take a read lock on it. The
sleep code will take a write lock. The read lockers won't make the
PM code fail. It will just block a bit, waiting for the critical
operations to complete.

I'm thinking about things like jffs2 on embedded. That (nice) flash
file system has a background thread that does garbage collecting
of your flash in order to be able to erase unused parts. It would
benefit greatly embedded boards that implement system sleep if
that thread could make sure sleep won't happen in the middle of
moving blocks, or whatever atomicity it may want for its operations.

A firmware flashing facility in a driver may use that mecanism too.

It's a corner case, it's not meant to be used a lot, but it nice
to have it.

Ben.



  reply	other threads:[~2001-10-25 22:54 UTC|newest]

Thread overview: 120+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 [this message]
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
  -- 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 21:43 Grover, Andrew
2001-10-19 17:01 Kevin Easton
2001-10-19 18:40 ` Patrick Mochel
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
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=20011025235359.12066@smtp.adsl.oleane.com \
    --to=benh@kernel.crashing.org \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mochel@osdl.org \
    --cc=torvalds@transmeta.com \
    --cc=xavier.bestel@free.fr \
    /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

Powered by JetHome