Re: Updated acpi_cpu patch

From: Nate Lawson <nate_at_root.org>
Date: Tue, 18 Nov 2003 13:28:09 -0800 (PST)
On Tue, 18 Nov 2003, Lukas Ertl wrote:
> On Tue, 18 Nov 2003, Nate Lawson wrote:
> > Below you'll find the update patch for acpi_cpu.  Please test this,
> > especially for SMP and laptops with _CST objects in their ASL.
>
> Looks good here on a Centrino based laptop, which has a _CST method in
> its ASL:
>
> acpi_cpu0: <CPU> on acpi0
> acpi_cpu0: C2 state 1 lat
> acpi_cpu0: C3 state 85 lat

I'll be moving some printfs under bootverbose before release.

> hw.acpi.cpu.cx_supported: C1/1 C2/1 C3/85
> hw.acpi.cpu.cx_lowest: 0
> hw.acpi.cpu.cx_history: 86231/0 0/0 0/0

Try settings of cx_lowest of 1 and 2 (and 3 when the last C3 state is
available).  I'm interested in any benchmark results, especially IO.  I'm
hoping the scheduling of sleeps is good enough that you don't experience
much performance loss even with lower sleeps.

> Although it seems I have lost a C3 state (before, I had an additional
> C3/185).

_CST can change dynamically at runtime.  If you booted with the AC adapter
attached, your laptop may not offer all the sleep states.  When you unplug
the AC adapter, we get a notify on _CST to re-evaluate it and look for new
states.  However, that code is currently disabled due to complex locking
issues (i.e. what to do when a Cx state is being accessed but _CST is
being re-evaluated).  _CST re-evaluation won't be enabled until after
5.2R.  However, you can reboot your laptop with the AC adapter detached
(or attached) to see what states are available.

This excerpt from truckman_at_'s asl shows that 4 Cx states are only
available when the AC adapter is not attached.  (The C*NA memory addresses
appear to be managed by the BIOS and not the AML but the PSR access is
clear).

            Method (_CST, 0, NotSerialized)
            {
                If (\C2NA)
                {
                    Return (CST1)
                }

                If (\C3NA)
                {
                    Return (CST2)
                }

                If (\_SB.PCI0.LPC.EC.AC._PSR ())
                {
                    Return (CST3)
                }

                If (\C4NA)
                {
                    Return (CST3)
                }

                Return (CST4)
            }

-Nate
Received on Tue Nov 18 2003 - 12:28:09 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:29 UTC