PATCH: Pentium-M deeper sleep support in idle loop

From: Marko Zec (zec_at_tel.fer.hr)
Date: 10/17/03

  • Next message: David Gilbert: "On-line judgment kernel module"
    To: freebsd-mobile@freebsd.org, freebsd-hackers@freebsd.org
    Date: Fri, 17 Oct 2003 02:20:25 +0200
    
    

    >From http://www.tel.fer.hr/zec/BSD/pm/4.8-ich-ds.patch you can fetch an
    experimental patch for the 4.8-RELEASE kernel that allows for significant
    power savings on mobile systems by utilizing a feature called "deeper sleep
    mode". The deeper sleep mode is available on recent Intel mobile processors
    (Pentium III-M, Pentium IV-M and "Centrino" Mobile Pentium) in combination
    with ICH3 / ICH4 chipsets, and is used to simultaneously stop the CPU clock
    and significantly lower the chip core voltage. When in such a state, the CPU
    is supposed to consume only around 0.6 W, according to Intel specs.

    The power saving policy in idle loop is controlled by the machdep.cpu_idle_hlt
    sysctl, which now has two new modes:

    Mode 0 (std) Do not halt the CPU, return from the idle loop as soon as
                   possible.

    Mode 1 (std) Halt the CPU using the "hlt" instruction. CPU clock is not
                   stopped (TSC keeps counting).

    Mode 2 (new) Halt the CPU using APM BIOS call followed by a "hlt". This
                   method stops the clock, thus saving slightly more power.

    Mode 3 (new) Halt the CPU by entering the deeper sleep mode (max. power
                   savings).

    The battery life extension that can be obtained on an idle system using this
    patch looks very promissing. Here's what I could observe on my ThinkPad X30
    (Pentium III-M 1200, ICH-3 chipset) with a slightly worn-out battery:

    +---------+----------------------+----------------------+
    |cpu_idle | LCD ON (dim) | LCD OFF |
    | mode | Bat. life | gain | Bat. life | gain |
    +---------+-----------+----------+-----------+----------+
    | 1 | 4:03 | | 5:12 | |
    +---------+-----------+----------+-----------+----------+
    | 2 | 4:10 | 2% | 5:23 | 3% |
    +---------+-----------+----------+-----------+----------+
    | 3 | 4:48 | 18% | 6:21 | 22% |
    +---------+-----------+----------+-----------+----------+

    I had no ICH-4 based laptop available for testing, so I cannot promise that
    the patch will work on such systems, although it should.

    The patch also introduces a new sysctl machdep.speedstep, which can be used to
    directly controll the CPU clock frequency / operating voltage. If your BIOS
    already correctly does this job you probably won't need this sysctl, however
    the BIOS in my ThinkPad annoyingly persists with the same speedstep mode
    regardless of the power source (external/battery), so I had to implement a
    method to control it.

    Anyhow, hope you like the patch... The usual liability disclaimer applies - if
    anything goes wrong with your machinery or data, you are on your own :-)
    Have fun,

    Marko
    _______________________________________________
    freebsd-hackers@freebsd.org mailing list
    http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
    To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org"


  • Next message: David Gilbert: "On-line judgment kernel module"

    Relevant Pages

    • Re: [PATCH] ata: ahci: power off unused ports
      ... equipped to write the patch. ... I tested this on an Intel mobile software development platform with a newer mobile ICH - the power savings were measured at the actual component, so I did not measure the power savings at the wall socket, although I would expect the power savings ... Otherwise you create a situation where the user might be denied hotplug use in valid cases, or similar negative situations. ...
      (Linux-Kernel)
    • Re: Denial Of Service in Internet Explorer for MS Windows Mobile 5.0
      ... the "90 days fix it or else" on a mobile platform is being optimistic don't you think when I'm still struggling getting a cab file update on all of my mobile phones for the time change issue. ... Mobile phones need a DST patch along with just about everything else.... ...
      (Bugtraq)
    • Re: [patch] Add basic sanity checks to the syscall execution patch
      ... memory (even the otherwise *read-only* syscall table at that), ... patch out your 'protection' or do many other things to evade it. ... For development, discussion and tips for power savings, ...
      (Linux-Kernel)
    • Re: WM6 asks for feedback - how do you give it to them
      ... so that the patch comes out sooner than later. ... We (the Mobile MVP's) constantly hammer our limited contacts within MS on ... flaws back to ms' attention is to hammer the oem of your device to the ...
      (microsoft.public.pocketpc.phone_edition)
    • Re: PATCH: Pentium-M deeper sleep support in idle loop
      ... Marko ... > power savings on mobile systems by utilizing a feature called "deeper sleep ... > this patch looks very promissing. ... > to directly controll the CPU clock frequency / operating voltage. ...
      (freebsd-stable)