Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 20 Nov 2003 17:25:02 -0800
From:      Marcel Moolenaar <marcel@xcllnt.net>
To:        Nate Lawson <nate@root.org>
Cc:        John Baldwin <jhb@FreeBSD.org>
Subject:   Re: cvs commit: src/sys/dev/acpica acpi.c acpi_cpu.c
Message-ID:  <20031121012502.GA914@dhcp01.pn.xcllnt.net>
In-Reply-To: <20031120153849.H72721@root.org>
References:  <XFMail.20031120112916.jhb@FreeBSD.org> <20031120153849.H72721@root.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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@xcllnt.net



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