Is the C3 possible with SMP?

Paul B. Mahol onemda at gmail.com
Thu Nov 27 15:58:18 PST 2008


On 11/27/08, martinko <gamato at users.sf.net> wrote:
> 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.

It works for me: [ignoring fact that C3 appears only if laptop is
disconneted from AC]
Looks like I'm lucky ...

CPU: Intel(R) Core(TM)2 CPU         T5500  @ 1.66GHz (1662.51-MHz 686-class CPU

dev.cpu.0.%desc: ACPI CPU
dev.cpu.0.%driver: cpu
dev.cpu.0.%location: handle=\_PR_.CPU0
dev.cpu.0.%pnpinfo: _HID=none _UID=0
dev.cpu.0.%parent: acpi0
dev.cpu.0.freq: 125
dev.cpu.0.freq_levels: 1667/31000 1458/27125 1333/22000 1166/19250
1000/13000 875/11375 750/9750 625/8125 500/6500 375/4875 250/3250
125/1625
dev.cpu.0.cx_supported: C1/1 C2/1 C3/57
dev.cpu.0.cx_lowest: C3
dev.cpu.0.cx_usage: 0.00% 4.59% 95.40%
dev.cpu.1.%desc: ACPI CPU
dev.cpu.1.%driver: cpu
dev.cpu.1.%location: handle=\_PR_.CPU1
dev.cpu.1.%pnpinfo: _HID=none _UID=0
dev.cpu.1.%parent: acpi0
dev.cpu.1.cx_supported: C1/1 C2/1 C3/57
dev.cpu.1.cx_lowest: C3
dev.cpu.1.cx_usage: 0.00% 3.61% 96.38%


Design capacity:        3365 mAh
Last full capacity:     3365 mAh
Technology:             secondary (rechargeable)
Design voltage:         10800 mV
Capacity (warn):        169 mAh
Capacity (low):         34 mAh
Low/warn granularity:   100 mAh
Warn/full granularity:  100 mAh
Model number:           Primary
Serial number:          03400 2007/03/19
Type:                   LIon
OEM info:               Hewlett-Packard
State:                  discharging
Remaining capacity:     92%
Remaining time:         2:12
Present rate:           15573 mA
Voltage:                11708 mV


It is interesting that when machine is almost completly idle
typing inside syscons is very slooow - I need to move mouse
all the time to speed up it (guess syscons is very slow).
But just having mplayer playing music in background
will improve interactivity a lot, note this doesnt happen inside X11.
It doesnt happen if one of CPU have cx_lowest set to C2.
This is very evident if I use powerd -b minimum.

PS:

I tested it with usb2_{core,controller_(ehci,uhci)}

-- 
Paul


More information about the freebsd-mobile mailing list