Is the C3 possible with SMP?
martinko
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.%driver: cpu
dev.cpu.0.%location: handle=\_PR_.CPU1
dev.cpu.0.%pnpinfo: _HID=none _UID=0
dev.cpu.0.%parent: acpi0
dev.cpu.0.freq: 525
dev.cpu.0.freq_levels: 2000/-1 1800/-1 1600/-1 1400/-1 1225/-1 1200/-1
1050/-1 1
000/-1 875/-1 800/-1 700/-1 600/-1 525/-1 450/-1 375/-1 300/-1 225/-1
150/-1 75/
-1
dev.cpu.0.cx_supported: C1/1 C2/1 C3/2
dev.cpu.0.cx_lowest: C3
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.
>
> Cheers,
>
> Henry
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. :(
Cheers,
Martin
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
mailing list