cvs commit: src/sys/dev/acpica acpi.c acpi_cpu.c

Marcel Moolenaar marcel at xcllnt.net
Thu Nov 20 17:25:08 PST 2003


On Thu, Nov 20, 2003 at 03:40:58PM -0800, Nate Lawson wrote:
> On Thu, 20 Nov 2003, John Baldwin wrote:
> > On 20-Nov-2003 Nate Lawson wrote:
> > > On Wed, 19 Nov 2003, John Baldwin wrote:
> > >> One minor suggestion btw.  Could you fix the hw.acpi.cpu.cpu_cx_lowest
> > >> to use the "C1", "C2", and "C3" strings for its user-visible interface
> > >> instead of the direct integer?  Setting the value to C2 is a bit more
> > >> intuitive than setting it to 1 to get C2.
> > >
> > > I considered this before, however Cx is really a type, not a given state.
> > > There can be more than 3 sleep states.  For instance, the IBM R40 has C1,
> > > C2, C3, and C3 (4 states).  An index was the only unique way I could
> > > specify the states.  The transition latency is also unique but setting a
> > > state to 182 to get the last C3 state is even worse from a user
> > > perspective.
> >
> > Ah.  Maybe rename the sysctl/tunable to indicate that it is an index?
> 
> No good ideas over here.  Took me a while to even come up with
> hw.acpi.cpu.cx_lowest.  You want to indicate higher states will be also
> used as determined by the scheduling algorithm and that states with higher
> indices provide more power savings but also more latency.  cx_lowest_idx
> seems kinda lame.  Suggestions?

Maybe make the Cx state type an "unimportant" attribute?

MIB-like:

hw.acpi.cpu.cx.count=4
hw.acpi.cpu.cx.lowest=0
hw.acpi.cpu.cx.0.type=C1
hw.acpi.cpu.cx.0.latency=1
hw.acpi.cpu.cx.0.longsleep=x
hw.acpi.cpu.cx.0.shortsleep=y
hw.acpi.cpu.cx.1.type=C2
	:
hw.acpu.cpu.cx.2.type=C3
	:
hw.acpu.cpu.cx.3.type=C3
	:

Something like this makes the sysctl variables less magical, better
to parse mechanically and puts the emphasis on the index. It's more
verbose though...

$0.02

-- 
 Marcel Moolenaar	  USPA: A-39004		 marcel at xcllnt.net


More information about the cvs-src mailing list