linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: Benjamin Herrenschmidt <bh40@calva.net>
To: Gabriel Paubert <paubert@iram.es>,
	<linuxppc-dev@lists.linuxppc.org>,
	<debian-powerpc@lists.debian.org>
Subject: Re: apmd and other archs
Date: Fri, 24 Nov 2000 18:31:05 +0100	[thread overview]
Message-ID: <19341019110249.29808@192.168.1.2> (raw)
In-Reply-To: <Pine.HPX.4.10.10011241719070.14737-100000@gra-ux1.iram.es>


>Ok, I don't see very much the point of saving fractions of watt on a
>desktop but...

It can be more than fraction of watts when you put it all together, especially
in deep sleep. And multiply that by the number of machines out there...

Also, the Cube is sensitive to heat problems, having some power
management (and CPU temp control, but that's another issue) helps.

>Returning errors to user mode looks like a bad idea, it should be
>absolutely transparent to applications.

Well, that depends. I prefer blocking them, definitely, but that may not
always be possible.
Some things can just not be handled this way. We cannot, for example,
afford to schedule (or even printk) after the video driver have put the
chip to sleep. That's why we have these ordering rules x86 lacks, so that
we can sleep this driver very late in the sleep process, and wake it up
first. In the case of SMP boxes, we would have needed to put the other
CPUs to sleep before that point.

>I'm lost. Can't power management be done by the idle task ? There is one
>per CPU but it can't handle signala AFAIR. After all power management
>seems better handled by a task which never does I/O and whose only purpose
>is to sleep...

That could be done this way too. Are there any guarantees that the idle
task will run at all, however, if a process is using all the available
CPU time ? If we need all processors to stop scheduling userland code and
wait in a sleep loop (not doze nor nap in this case), we need to have a
way to let the idle task know that we need it to enter this special sleep
stage ASAP. It will have to flush all caches properly and go to sleep. On
some boxes, the CPU(s) will be shut down and revived via ROM hooks.

>What do you call a sleep loop ?

An infinite loop where the CPU goes to sleep mode. It exists via an
external reset or CPU shut down.

Ben.


** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

  reply	other threads:[~2000-11-24 17:31 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20001122143042.A28078@worldvisions.ca>
2000-11-23  8:47 ` apmd and other archs Michael Schmitz
2000-11-23 10:09   ` Avery Pennarun
2000-11-23 10:40     ` Michel Dänzer
2000-11-23 11:08       ` Avery Pennarun
2000-11-23 11:15         ` Michael Schmitz
2000-11-23 11:31           ` Avery Pennarun
2000-11-23 13:36             ` Michael Schmitz
2000-11-23 14:18               ` Gabriel Paubert
2000-11-23 18:40                 ` Michael Schmitz
2000-11-24 14:23                   ` Gabriel Paubert
2000-11-24 18:29                     ` Takashi Oe
2000-11-24 14:47                   ` Olaf Hering
2000-11-24 15:23                     ` Michael Schmitz
2000-11-23 11:37           ` Gabriel Paubert
2000-11-23 13:32             ` Tony Mantler
2000-11-23 14:12               ` Gabriel Paubert
2000-11-23 14:24                 ` Adrian Cox
2000-11-24 10:07                   ` Gabriel Paubert
2000-11-24  2:42       ` Josh Huber
2000-11-23 11:11     ` Michael Schmitz
2000-11-23 13:36       ` Hadess
2000-11-23 13:54         ` Michael Schmitz
2000-11-27 13:23           ` Michael Schmitz
2000-11-27 14:53             ` Benjamin Herrenschmidt
2000-11-27 15:34               ` Michael Schmitz
2000-11-27 20:50             ` Michael Schmitz
2000-11-24 13:51         ` Benjamin Herrenschmidt
2000-11-24 15:11           ` Bastien Nocera
2000-11-24 13:40   ` Benjamin Herrenschmidt
2000-11-24 14:29     ` Gabriel Paubert
2000-11-24 15:33       ` Benjamin Herrenschmidt
2000-11-24 16:26         ` Gabriel Paubert
2000-11-24 17:31           ` Benjamin Herrenschmidt [this message]
2000-11-24 17:56             ` Geert Uytterhoeven
2000-11-24 19:27             ` Gabriel Paubert

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=19341019110249.29808@192.168.1.2 \
    --to=bh40@calva.net \
    --cc=debian-powerpc@lists.debian.org \
    --cc=linuxppc-dev@lists.linuxppc.org \
    --cc=paubert@iram.es \
    /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;
as well as URLs for NNTP newsgroup(s).