2006-10-04 13:33:43

by S.Çağlar Onur

[permalink] [raw]
Subject: Ondemand/Conservative not working with 2.6.18

Hi;

With kernel 2.6.18 "ondemand" and "conservative" governors are not working
with Sony Vaio FS-215B laptop, no frequency scaling or anything else :)
occurs while system is %100 idle or at any workload using these governors,
but setting "performance" governor changes to 1733 Mhz and "powersave"
changes to 800 Mhz as expected. They all works without a problem with
2.6.16.x, system information below;

/proc/cpuinfo

processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 13
model name : Intel(R) Pentium(R) M processor 1.73GHz
stepping : 8
cpu MHz : 1733.000
cache size : 2048 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 2
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
cmov pat clflush dts acpi mmx fxsr sse sse2 ss tm pbe nx up est tm2
bogomips : 3460.80

/sys/devices/system/cpu/cpu0/cpufreq values

ondemand/ignore_nice_load:0
ondemand/up_threshold:60
ondemand/sampling_rate:333000
ondemand/sampling_rate_min:10000
ondemand/sampling_rate_max:10000000
scaling_cur_freq:1733000
cpuinfo_cur_freq:1733000
scaling_available_frequencies:1733000 1333000 1067000 800000
scaling_available_governors:ondemand performance
scaling_driver:centrino
scaling_governor:ondemand
affected_cpus:0
scaling_max_freq:1733000
scaling_min_freq:800000
cpuinfo_max_freq:1733000
cpuinfo_min_freq:800000

Cheers
--
S.Çağlar Onur <[email protected]>
http://cekirdek.pardus.org.tr/~caglar/

Linux is like living in a teepee. No Windows, no Gates and an Apache in house!


Attachments:
(No filename) (1.64 kB)
(No filename) (189.00 B)
Download all attachments

2006-10-09 21:52:52

by S.Çağlar Onur

[permalink] [raw]
Subject: Re: Ondemand/Conservative not working with 2.6.18

04 Eki 2006 Çar 16:33 tarihinde, S.Çağlar Onur şunları yazmıştı:
> Hi;
>
> With kernel 2.6.18 "ondemand" and "conservative" governors are not working
> with Sony Vaio FS-215B laptop, no frequency scaling or anything else :)
> occurs while system is %100 idle or at any workload using these governors,
> but setting "performance" governor changes to 1733 Mhz and "powersave"
> changes to 800 Mhz as expected. They all works without a problem with
> 2.6.16.x, system information below;

Also not working with 2.6.19-rc1

--
S.Çağlar Onur <[email protected]>
http://cekirdek.pardus.org.tr/~caglar/

Linux is like living in a teepee. No Windows, no Gates and an Apache in house!


Attachments:
(No filename) (690.00 B)
(No filename) (189.00 B)
Download all attachments

2006-10-09 23:35:27

by Pallipadi, Venkatesh

[permalink] [raw]
Subject: RE: Ondemand/Conservative not working with 2.6.18


>-----Original Message-----
>From: [email protected]
>[mailto:[email protected]] On Behalf Of S.?aglar Onur
>Sent: Monday, October 09, 2006 2:53 PM
>To: Dave Jones
>Cc: [email protected]
>Subject: Re: Ondemand/Conservative not working with 2.6.18
>
>04 Eki 2006 ?ar 16:33 tarihinde, S.?a?lar Onur ?unlar? yazm??t?:
>> Hi;
>>
>> With kernel 2.6.18 "ondemand" and "conservative" governors
>are not working
>> with Sony Vaio FS-215B laptop, no frequency scaling or
>anything else :)
>> occurs while system is %100 idle or at any workload using
>these governors,
>> but setting "performance" governor changes to 1733 Mhz and
>"powersave"
>> changes to 800 Mhz as expected. They all works without a problem with
>> 2.6.16.x, system information below;
>
>Also not working with 2.6.19-rc1
>

What CPU is this? Pentium M?
What driver was getting used in 2.6.16 kernel to change freqency? Acpi-cpufreq?

Can you please make sure you have configured in both speedstep-centrino and acpi-cpufreq drivers. Things should work with both these drivers so that the best one will be used based on your BIOS support.

Thanks,
Venki

2006-10-10 20:54:46

by S.Çağlar Onur

[permalink] [raw]
Subject: Re: Ondemand/Conservative not working with 2.6.18

10 Eki 2006 Sal 02:35 tarihinde, Pallipadi, Venkatesh ?unlar? yazm??t?:
> What CPU is this? Pentium M?

Yes it is.

caglar@zangetsu ~ $ cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 13
model name : Intel(R) Pentium(R) M processor 1.73GHz
stepping : 8
cpu MHz : 1733.000
cache size : 2048 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 2
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
cmov pat clflush dts acpi mmx fxsr sse sse2 ss tm pbe nx up est tm2
bogomips : 3460.59


> What driver was getting used in 2.6.16 kernel to change freqency?
> Acpi-cpufreq?

No, i used speedstep-centrino with 2.6.16.

> Can you please make sure you have configured in both speedstep-centrino and
> acpi-cpufreq drivers. Things should work with both these drivers so that
> the best one will be used based on your BIOS support.

I tried acpi-cpufreq but it didnt create /sys/devices/system/cpu/cpu0/cpufreq
directory and there is no warning/error exists on dmesg.

zangetsu cpu0 # lsmod | grep acpi
acpi_cpufreq 7620 0
freq_table 4640 1 acpi_cpufreq
processor 30920 2 acpi_cpufreq,thermal
zangetsu cpu0 # lsmod | grep ondemand
cpufreq_ondemand 6604 0
zangetsu cpu0 # cd /sys/devices/system/cpu/cpu0/
zangetsu cpu0 # ls
crash_notes topology

zangetsu cpu0 # rmmod cpufreq_ondemand
zangetsu cpu0 # rmmod acpi_cpufreq
zangetsu cpu0 # modprobe speedstep-centrino
zangetsu cpu0 # lsmod | grep speed
speedstep_centrino 8768 0
freq_table 4640 1 speedstep_centrino
processor 30920 2 speedstep_centrino,thermal
zangetsu cpu0 # lsmod | grep ondemand
cpufreq_ondemand 6604 0
zangetsu cpu0 # cd /sys/devices/system/cpu/cpu0/
zangetsu cpu0 # ls
cpufreq crash_notes topology
zangetsu cpu0 # cd cpufreq/
zangetsu cpufreq # echo "ondemand" > scaling_governor
zangetsu cpufreq # cat scaling_governor
ondemand
zangetsu cpufreq # cat scaling_available_frequencies
1733000 1333000 1067000 800000
zangetsu cpufreq # cat scaling_cur_freq
1733000

But frequency never changes and stays at 1.73ghz

zangetsu cpufreq # echo "powersave" > scaling_governor
zangetsu cpufreq # cat scaling_cur_freq
800000
zangetsu cpufreq # echo "performance" > scaling_governor
zangetsu cpufreq # cat scaling_cur_freq
1733000

Cheers
--
S.?a?lar Onur <[email protected]>
http://cekirdek.pardus.org.tr/~caglar/

Linux is like living in a teepee. No Windows, no Gates and an Apache in house!


Attachments:
(No filename) (2.61 kB)
(No filename) (189.00 B)
Download all attachments

2006-10-11 19:00:19

by Pallipadi, Venkatesh

[permalink] [raw]
Subject: RE: Ondemand/Conservative not working with 2.6.18



>-----Original Message-----
>From: S.?aglar Onur [mailto:[email protected]]
>Sent: Tuesday, October 10, 2006 1:55 PM
>To: Pallipadi, Venkatesh
>Cc: Dave Jones; [email protected]
>Subject: Re: Ondemand/Conservative not working with 2.6.18
>
>10 Eki 2006 Sal 02:35 tarihinde, Pallipadi, Venkatesh ?unlar?
>yazm??t?:
>> What CPU is this? Pentium M?
>
>Yes it is.
>
>
>zangetsu cpu0 # cd cpufreq/
>zangetsu cpufreq # echo "ondemand" > scaling_governor
>zangetsu cpufreq # cat scaling_governor
>ondemand
>zangetsu cpufreq # cat scaling_available_frequencies
>1733000 1333000 1067000 800000
>zangetsu cpufreq # cat scaling_cur_freq
>1733000
>
>But frequency never changes and stays at 1.73ghz
>
>zangetsu cpufreq # echo "powersave" > scaling_governor
>zangetsu cpufreq # cat scaling_cur_freq
>800000
>zangetsu cpufreq # echo "performance" > scaling_governor
>zangetsu cpufreq # cat scaling_cur_freq
>1733000
>

I guess I misunderstood the original issue. You have available_frequencies showing all the values and after you load ondemand, frequency remains at the highest, even though CPUs are idle. Is this correct?

And everything above used to work fine with 2.6.16?

Can you configure with CPU_FREQ_DEBUG and do "echo 5 > /sys/module/cpufreq/parameter/debug" before switching the governor to ondemand and see whether you see any messages in dmesg?

Thanks,
Venki

2006-10-11 19:08:54

by S.Çağlar Onur

[permalink] [raw]
Subject: Re: Ondemand/Conservative not working with 2.6.18

11 Eki 2006 ?ar 22:00 tarihinde, Pallipadi, Venkatesh ?unlar? yazm??t?:
> I guess I misunderstood the original issue. You have available_frequencies
> showing all the values and after you load ondemand, frequency remains at
> the highest, even though CPUs are idle. Is this correct?

Yes, thats the originial issue, no freq. changes at all.

> And everything above used to work fine with 2.6.16?

Yes, everything works fine with 2.6.16.

> Can you configure with CPU_FREQ_DEBUG and do "echo 5 >
> /sys/module/cpufreq/parameter/debug" before switching the governor to
> ondemand and see whether you see any messages in dmesg?

I'll and report back.

Cheers
--
S.?a?lar Onur <[email protected]>
http://cekirdek.pardus.org.tr/~caglar/

Linux is like living in a teepee. No Windows, no Gates and an Apache in house!


Attachments:
(No filename) (817.00 B)
(No filename) (189.00 B)
Download all attachments

2006-10-11 19:37:58

by S.Çağlar Onur

[permalink] [raw]
Subject: Re: Ondemand/Conservative not working with 2.6.18

11 Eki 2006 ?ar 22:00 tarihinde, Pallipadi, Venkatesh ?unlar? yazm??t?:
> Can you configure with CPU_FREQ_DEBUG and do "echo 5 >
> /sys/module/cpufreq/parameter/debug" before switching the governor to
> ondemand and see whether you see any messages in dmesg?

Here it is;

zangetsu cpufreq # echo 5 > /sys/module/cpufreq/parameters/debug
zangetsu cpufreq # echo "ondemand" > scaling_governor
zangetsu cpufreq # dmesg

...
cpufreq-core: setting new policy for CPU 0: 800000 - 1733000 kHz
freq-table: request for verification of policy (800000 - 1733000 kHz) for cpu
0
freq-table: verification lead to (800000 - 1733000 kHz) for cpu 0
freq-table: request for verification of policy (800000 - 1733000 kHz) for cpu
0
freq-table: verification lead to (800000 - 1733000 kHz) for cpu 0
cpufreq-core: new min and max freqs are 800000 - 1733000 kHz
cpufreq-core: governor switch
cpufreq-core: __cpufreq_governor for CPU 0, event 2
cpufreq-core: __cpufreq_governor for CPU 0, event 1
cpufreq-core: governor: change or update limits
cpufreq-core: __cpufreq_governor for CPU 0, event 3

Cheers
--
S.?a?lar Onur <[email protected]>
http://cekirdek.pardus.org.tr/~caglar/

Linux is like living in a teepee. No Windows, no Gates and an Apache in house!


Attachments:
(No filename) (1.22 kB)
(No filename) (189.00 B)
Download all attachments

2006-10-11 19:39:38

by S.Çağlar Onur

[permalink] [raw]
Subject: Re: Ondemand/Conservative not working with 2.6.18

11 Eki 2006 ?ar 22:00 tarihinde, Pallipadi, Venkatesh ?unlar? yazm??t?:
> Can you configure with CPU_FREQ_DEBUG and do "echo 5 >
> /sys/module/cpufreq/parameter/debug" before switching the governor to
> ondemand and see whether you see any messages in dmesg?

Here it is (sorry for prev. uncomplete mail);

zangetsu cpufreq # echo 5 > /sys/module/cpufreq/parameters/debug
zangetsu cpufreq # echo "ondemand" > scaling_governor
zangetsu cpufreq # dmesg

...
cpufreq-core: setting new policy for CPU 0: 800000 - 1733000 kHz
freq-table: request for verification of policy (800000 - 1733000 kHz) for cpu
0
freq-table: verification lead to (800000 - 1733000 kHz) for cpu 0
freq-table: request for verification of policy (800000 - 1733000 kHz) for cpu
0
freq-table: verification lead to (800000 - 1733000 kHz) for cpu 0
cpufreq-core: new min and max freqs are 800000 - 1733000 kHz
cpufreq-core: governor switch
cpufreq-core: __cpufreq_governor for CPU 0, event 2
cpufreq-core: __cpufreq_governor for CPU 0, event 1
cpufreq-core: governor: change or update limits
cpufreq-core: __cpufreq_governor for CPU 0, event 3
cpufreq-core: target for CPU 0: 1510185 kHz, relation 0
freq-table: request for target 1510185 kHz (relation: 0) for cpu 0
freq-table: target is 0 (1733000 kHz, 3369)
cpufreq-core: target for CPU 0: 1609214 kHz, relation 0
freq-table: request for target 1609214 kHz (relation: 0) for cpu 0
freq-table: target is 0 (1733000 kHz, 3369)
cpufreq-core: target for CPU 0: 1633971 kHz, relation 0
freq-table: request for target 1633971 kHz (relation: 0) for cpu 0
freq-table: target is 0 (1733000 kHz, 3369)
cpufreq-core: target for CPU 0: 1559700 kHz, relation 0
freq-table: request for target 1559700 kHz (relation: 0) for cpu 0
freq-table: target is 0 (1733000 kHz, 3369)

Cheers
--
S.?a?lar Onur <[email protected]>
http://cekirdek.pardus.org.tr/~caglar/

Linux is like living in a teepee. No Windows, no Gates and an Apache in house!


Attachments:
(No filename) (1.90 kB)
(No filename) (189.00 B)
Download all attachments

2006-10-13 18:34:24

by S.Çağlar Onur

[permalink] [raw]
Subject: Re: Ondemand/Conservative not working with 2.6.18

11 Eki 2006 ?ar 22:00 tarihinde, Pallipadi, Venkatesh ?unlar? yazm??t?:
> I guess I misunderstood the original issue. You have available_frequencies
> showing all the values and after you load ondemand, frequency remains at
> the highest, even though CPUs are idle. Is this correct?
>
> And everything above used to work fine with 2.6.16?
>
> Can you configure with CPU_FREQ_DEBUG and do "echo 5 >
> /sys/module/cpufreq/parameter/debug" before switching the governor to
> ondemand and see whether you see any messages in dmesg?

I just found a workaround of my problem, if system boots with ac adapter
plugged then ondemand or conservative governors are not working, but
unplugging the adapter and waiting some seconds, plug it back solves this
issue and ondemand/conservative governors are starts to run as expected.

What should i do now? If im not wrong it seems like acpi subsystem problem
(and just to be sure, i disassembled my dsdt, iacl claims its error/warning
free)

--
S.?a?lar Onur <[email protected]>
http://cekirdek.pardus.org.tr/~caglar/

Linux is like living in a teepee. No Windows, no Gates and an Apache in house!


Attachments:
(No filename) (1.12 kB)
(No filename) (189.00 B)
Download all attachments

2006-10-16 13:08:33

by Pallipadi, Venkatesh

[permalink] [raw]
Subject: RE: Ondemand/Conservative not working with 2.6.18



>-----Original Message-----
>From: S.?aglar Onur [mailto:[email protected]]
>Sent: Friday, October 13, 2006 11:34 AM
>To: Pallipadi, Venkatesh
>Cc: Dave Jones; [email protected]
>Subject: Re: Ondemand/Conservative not working with 2.6.18
>
>11 Eki 2006 ?ar 22:00 tarihinde, Pallipadi, Venkatesh ?unlar?
>yazm??t?:
>> I guess I misunderstood the original issue. You have
>available_frequencies
>> showing all the values and after you load ondemand,
>frequency remains at
>> the highest, even though CPUs are idle. Is this correct?
>>
>> And everything above used to work fine with 2.6.16?
>>
>> Can you configure with CPU_FREQ_DEBUG and do "echo 5 >
>> /sys/module/cpufreq/parameter/debug" before switching the governor to
>> ondemand and see whether you see any messages in dmesg?
>
>I just found a workaround of my problem, if system boots with
>ac adapter
>plugged then ondemand or conservative governors are not working, but
>unplugging the adapter and waiting some seconds, plug it back
>solves this
>issue and ondemand/conservative governors are starts to run as
>expected.
>
>What should i do now? If im not wrong it seems like acpi
>subsystem problem
>(and just to be sure, i disassembled my dsdt, iacl claims its
>error/warning
>free)
>

Sorry for the delayed response. This is still very mysterious to me..

Do you see anything interesting in dmesg after you try this ac adapter unplug and plug back routine? Can you send me the dmesg. Better still open a bugzilla at bugme.osdl.org and stick the dmesg and acpidump there.

One possible reason for this is, somehow idle statistics is getting all wrong and ondemand thinks CPU is busy, even though it is idle. I have seen this happening earlier when there are issues with local APIC interrupts in deep C-states on dual core systems. But, here it is a single core CPU. Right? Can you also get the output of
#cat /proc/interrupts; sleep 10; cat /proc/interrupts
On your system when ondemand is not working and when it is working (After your unplug-plug workaround.

Thanks,
Venki

2006-10-16 20:30:23

by S.Çağlar Onur

[permalink] [raw]
Subject: Re: Ondemand/Conservative not working with 2.6.18

16 Eki 2006 Pts 16:08 tarihinde, Pallipadi, Venkatesh ?unlar? yazm??t?:
> Sorry for the delayed response. This is still very mysterious to me..
>
> Do you see anything interesting in dmesg after you try this ac adapter
> unplug and plug back routine? Can you send me the dmesg. Better still open
> a bugzilla at bugme.osdl.org and stick the dmesg and acpidump there.

No, nothing interested and i filled a bug [1] with all related info

> One possible reason for this is, somehow idle statistics is getting all
> wrong and ondemand thinks CPU is busy, even though it is idle. I have seen
> this happening earlier when there are issues with local APIC interrupts in
> deep C-states on dual core systems. But, here it is a single core CPU.
> Right? Can you also get the output of #cat /proc/interrupts; sleep 10; cat
> /proc/interrupts
> On your system when ondemand is not working and when it is working (After
> your unplug-plug workaround.

Hmm top show something weird;

Tasks: 39 total, 1 running, 38 sleeping, 0 stopped, 0 zombie
Cpu(s): 32.4%us, 12.4%sy, 0.0%ni, 41.1%id, 13.0%wa, 0.4%hi, 0.6%si, 0.0%st

There were nothing runs right that time but top reports only ~%40 idle [full
log attached to bug]

[1] http://bugme.osdl.org/show_bug.cgi?id=7376
--
S.?a?lar Onur <[email protected]>
http://cekirdek.pardus.org.tr/~caglar/

Linux is like living in a teepee. No Windows, no Gates and an Apache in house!


Attachments:
(No filename) (1.40 kB)
(No filename) (189.00 B)
Download all attachments