Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 20 Feb 2006 09:35:49 -0800
From:      "Kevin Oberman" <oberman@es.net>
To:        Yar Tikhiy <yar@comp.chem.msu.su>
Cc:        freebsd-current@freebsd.org
Subject:   Re: -current is sluggish 
Message-ID:  <20060220173549.D97C54504D@ptavv.es.net>
In-Reply-To: Your message of "Mon, 20 Feb 2006 19:50:19 %2B0300." <20060220165019.GF55136@comp.chem.msu.su> 

next in thread | previous in thread | raw e-mail | index | archive | help
> Date: Mon, 20 Feb 2006 19:50:19 +0300
> From: Yar Tikhiy <yar@comp.chem.msu.su>
> Sender: owner-freebsd-current@freebsd.org
> 
> On Fri, Feb 17, 2006 at 10:57:59PM -0800, Maksim Yevmenkin wrote:
> > Maksim Yevmenkin wrote:
> > >Dear Hackers,
> > >
> > >after upgrading to today's current my laptop is very sluggish
> [snip]
> > and just to close this thread, all i had to do is put
> > 
> > performance_cx_lowest="HIGH"
> > 
> > into my /etc/rc.conf and then
> > 
> > # /etc/rc.d/power_profile 0x01
> > 
> > this fixes things for me.
> > 
> > i find it strange that /etc/defaults/rc.cond has 
> > performance_cx_lowest="LOW", but someone must have had a good reason for 
> > this.
> 
> I'm about to run CURRENT on a rather modern laptop with all the
> fancy power-control stuff, which I've never done before, so this
> thread is rather interesting to me.  According to rc.conf(5),
> performance_cx_lowest specifies a CPU power state when idle.
> Shouldn't it have no effect on the CPU speed when it has some real
> work to do?  Looks like there is significant latency in the CPU's
> transition from idle state to active state -- at least in your case.

If the CPU is running at 100%, it has no effect. If your CPU is busy for
a few seconds and then idle for a few ms, it has a big effect. But it
SHOULD not be noticeable to the user. Windows uses this a great deal and
there was a recent flap about the new Duo chip eating too much power
that was tracked to a bug in the Windows USB support that kept it from
being effective. The result was complaints of short battery life. (Note
that FreeBSD has a similar issue with USB and sleep states, but on all
i386 systems.)

If I understand it correctly, hw.acpi.cpu.cx_supported will give you a
list of sleep states (C1...Cn) followed by an integer which is the
number of cycles that the system must be idle before this sleep state
will be used. On my T30, I see C1/0 C2/1 C3/85. Some systems have C4. I
have never seen more than that.

The whole ides is that it takes longer to come out of deeper sleep
states, so they are only entered when the system has been idle for a
pre-defined time and, statistically, it is likely to remain that way for
a while, so the slower wake-up will not be noticed.

I think something odd is happening if dropping into C3 is noticeable to
the user.

If someone more conversant on i386 hardware can explain why it is
noticeable, I'd be interested. I may not understand this was well as I
thought I did.
-- 
R. Kevin Oberman, Network Engineer
Energy Sciences Network (ESnet)
Ernest O. Lawrence Berkeley National Laboratory (Berkeley Lab)
E-mail: oberman@es.net			Phone: +1 510 486-8634



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