Re: problem with cpu eating too much power, prize given if solved

Michael Frank
2004-06-25T15:52:37Z

On Fri, 25 Jun 2004 14:46:38 +0200, Keld Jørn Simonsen <keld-6PR53cSIHaE@public.gmane.org> wrote:

> On Fri, Jun 25, 2004 at 01:40:04AM +0800, Michael Frank wrote:
>> On Thu, 24 Jun 2004 17:35:13 +0200, Keld Jørn Simonsen <keld-yTTtVnc/hhA@public.gmane.orgk>
>> wrote:
>>
>> >Dear ACPI developers,
>> >I have a problem with my Acer Travelmate 233.
>> >Many times I just want to read the screen, eg emails or documents,
>> >and then still the cpu will be in idle mode, where
>> >it uses 7.5 W out of the about 15 W that the whole machine uses.
>> >I have found out from Intel data sheets that my
>> >Mobile Intel Celeron 2.0 GHz CPU consumes 7.5 W in idle loop/
>> >stop grant/sleep states, (and 5.0 W i deep sleep state).
>> >So I would like to have the CPU stopped completely (consuming 0 W)
>> >while I still could read the screen. In that way I should
>> >be able to have about double the lifetime on the battery,
>> >going to about 7 hours from the 3.5 hours I have now.
>> >I would like the machine to wake up again by any keystroke
>> >on the keyboard or mouse input. I would like the input to be
>> >reacted upon (not just used to wake up the system, and
>> >then forgotten).
>> >I do not have the skills to program this myself, so
>> >instead I offer a prize of USD 1000 to the person(s) that
>> >can give me a patch for kernel 2.6 and appropiate documentation
>> >that can solve the above problem. The patch needs to be GPL,
>> >and demonstrably run on my laptop. I need the patch before
>> >2004-10-01, after what date the prize offer expires.
>> >I would like that the patch was written in a general way to cover for
>> >CPUs that burn considerable power in idle loop and other states, so that
>> >other users can benefit from it. Also I would prefer that the patch be
>> >rolled into the normal ACPI kernel source tree, but the latter request
>> >is not a condition for the prize.
>> >
>>
>> Nice idea but it wont be possible to program it as your hardware powers
>> the CPU which takes 5w while it is powered. There is no partitioning
>> which allows you to remove power from the CPU while running the rest
>> and I am not aware of any system or standards which provide this kind
>> of partitioning...
>
> Well, I don't know so much about ACPI, but I thought that you in S2
> could shut down devices individually, and then at the end for my
> purpose shut down the CPU completely, like a suspend to memory.
> But maybe this is not doable.
>

Again it's a nice idea.

Again, It is a HW issue not ACPI issue because ACPI can only do
what the HW supports.

Also looked at datasheets and the rule of the game is that high
performance CPU's draw 20% to 70%f of their maximum power
statically. This is due to leakage of those 10s - soon 100s of
millions of transistors.

What you are asking is to put the CPU into S2 while the system
does not notice. You want CPU to respond to IO like keystrokes and
mouse, the cursor should blink (I assume you don't need play videos),
the kernels clock gets updated, all without using electricity when
it's truly idle.

The keystrokes and mouse could be handled by 8042 equivalent,
starting the CPU, but what about the cursor driven by X and other
interrupts and DMA by peripherials which are active?

Your CPU Powersupply would have to go from 0V to normal conditions
for every action required and CPU state would have to be restored the
little job done and state saved and CPU powered down again.

Todays HW _can_not_ do this at all. Theoretical best case latency of
core power supplies will be several milliseconds from 0V, which is
too slow to handle individual interrupts.

Perhaps one day they fix the leakage problems (they do better all the
time) or come up with a multi core CPU which has an slow core doing
100s of MHz to keep things idling along and a facility to decouple the
multi GHz core(s) for power down unless really needed.

Then the OEM's (mainboard designers) have to support that kind of
partitioned CPU power supply and ACPI could do S2 for the high
power CPU cores....

Best Regards
Michael