Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 11 Jul 2012 00:27:54 +1000 (EST)
From:      Ian Smith <smithi@nimnet.asn.au>
To:        Andriy Gapon <avg@freebsd.org>
Cc:        "freebsd-acpi@freebsd.org" <freebsd-acpi@freebsd.org>, Vitaly Magerya <vmagerya@gmail.com>, Giovanni Trematerra <gianni@freebsd.org>
Subject:   Re: improve cx_lowest logic
Message-ID:  <20120711000506.E42038@sola.nimnet.asn.au>
In-Reply-To: <4FF95F79.30309@FreeBSD.org>
References:  <4FF95F79.30309@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 8 Jul 2012 13:22:49 +0300, Andriy Gapon wrote:

 > I would like to propose the following change for review and testing:
 > http://people.freebsd.org/~avg/acpi_cpu_cx_lowest.diff
 > 
 > The idea is to separate effective cx_lowest (the limit that the idling code
 > should not currently exceed) from user-set cx_lowest limit/target.
 > Specifically, this addresses dynamic C-state changes by ACPI platform.
 > Currently if a user sets cx_lowest to, say, C3, then available C-states change
 > so that C2 is the deepest available C-state and cx_lowest gets overridden to C2
 > and all memory of C3 setting is lost.

I wonder if that explains why setting C3 on aforesaid T23 has no effect 
(in terms of dev.cpu.0.cx_usage indicating any time spent in C3) unless 
the machine happened to be booted up on battery, in which case C3 is 
shown as working whenever its enabled, by power_profile or manually?

Would I be wasting my time or yours trying this on an 8.2-R kernel?  Or 
are there other major changes that probably preclude this?  The patch 
applies cleanly, but the offsets look a bit daunting:

smithi on t23% patch < acpi_cpu_cx_lowest.diff
Hmm...  Looks like a unified diff to me...
The text leading up to this was:
--------------------------
|diff --git a/sys/dev/acpica/acpi_cpu.c b/sys/dev/acpica/acpi_cpu.c
|index e2a3dbf..e7ca14d 100644
|--- a/sys/dev/acpica/acpi_cpu.c
|+++ b/sys/dev/acpica/acpi_cpu.c
--------------------------
Patching file acpi_cpu.c using Plan A...
Hunk #1 succeeded at 86 (offset -3 lines).
Hunk #2 succeeded at 132 (offset -7 lines).
Hunk #3 succeeded at 170 (offset -3 lines).
Hunk #4 succeeded at 548 (offset -42 lines).
Hunk #5 succeeded at 792 (offset -29 lines).
Hunk #6 succeeded at 787 (offset -42 lines).
Hunk #7 succeeded at 812 (offset -29 lines).
Hunk #8 succeeded at 817 (offset -42 lines).
Hunk #9 succeeded at 1013 (offset -31 lines).
Hunk #10 succeeded at 1010 (offset -42 lines).
Hunk #11 succeeded at 1150 (offset -31 lines).
Hunk #12 succeeded at 1168 (offset -42 lines).
Hunk #13 succeeded at 1208 (offset -31 lines).
done

I hope to get another machine going soon on which I can play with 
9-stable, maybe 10, but meanwhile this one is bread and butter ..

cheers, Ian



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120711000506.E42038>