Is the C3 possible with SMP?
gamato at users.sf.net
Thu Nov 27 14:32:06 PST 2008
Ian Smith wrote:
> On Fri, 21 Nov 2008, Kevin Oberman wrote:
> > > From: martinko <gamato at users.sf.net>
> > >
> > >
> > > Hi,
> > >
> > > My laptop reports C1 state only:
> > >
> > > $ sysctl -a | grep cx_
> > > hw.acpi.cpu.cx_lowest: C1
> > > dev.cpu.0.cx_supported: C1/1
> > > dev.cpu.0.cx_lowest: C1
> > > dev.cpu.0.cx_usage: 100.00%
> > >
> > > But this is Pentium-M and I remember it could use C2 and C3 back with
> > > 5.x kernel and I'm sure I had USB as I have now.
> > >
> > > Do you have any idea why I don't have C2/C3 states available anymore ??
> > Under 7-Stable, my Pentium-M system (ThinkPad T43) shows C1, C2, and
> > C3. Of course, it's not an SMP.
> > dev.cpu.0.cx_supported: C1/1 C2/1 C3/85
> > dev.cpu.0.cx_lowest: C1
> > dev.cpu.0.cx_usage: 100.00% 0.00% 0.00%
> > cx_supported has nothing to do with the value of cx_lowest. It should
> > simply be what the CPU reports back vi ACPI as to the C states supported
> > on the platform.
> Well, except that cx_supported shows the possible values for cx_lowest;
> ie you can only select a value for cx_lowest that's in cx_supported ..
> so it does seem odd that martinko's cx_supported has been limited to C1?
> Whether the system ever actually uses the cx_lowest value you select,
> other than C1, is another matter of course. My T23 (P3-M, 7.0-R) allows
> selection of C3, but only ever uses it if the machine was booted up on
> battery(!) but that might be a BIOS/EC bug that upgrading these may fix.
> cheers, Ian
Well, booting with or without battery does make a difference, strangely:
$ sysctl dev.cpu
dev.cpu.0.%desc: ACPI CPU
dev.cpu.0.%pnpinfo: _HID=none _UID=0
dev.cpu.0.freq_levels: 2000/-1 1800/-1 1600/-1 1400/-1 1225/-1 1200/-1
000/-1 875/-1 800/-1 700/-1 600/-1 525/-1 450/-1 375/-1 300/-1 225/-1
dev.cpu.0.cx_supported: C1/1 C2/1 C3/2
dev.cpu.0.cx_usage: 100.00% 0.00% 0.00%
This was suggested to me by Henry Hu:
Henry Hu wrote:
> You may try to boot with battery.
> If I boot with AC, there are only C1 and C2. But if I boot with
> battery, there is C3.
> I found that the line to recheck cx states has been commented in the
> source code. So cx states keep the same since system startup.
Cx states other than C1 are never used, unfortunately. Both C2 and C3
were used back with 5.something (I started with 5.3). I guess USB might
be the culprit here. Anyway, it behaves strangely, at best. :(
PS: Also, AFAIR C3 was not 2 but something like 100 back in times of 5.x
when it worked on this laptop correctly.
More information about the freebsd-mobile