Re: [Cpufreqd-user] cpufreqd double_check=1 problems
Brought to you by:
mattia-san
|
From: Yclept N. <orb...@gm...> - 2012-10-13 04:29:07
|
I've patched the double_check feature to be slightly more verbose as
per the attached file. Resultant output:
$ cpufreqd -D -V6
...
update_rule_scores : Rule "AC Off" score: 101%
update_rule_scores : Rule "Suspend2Ram" score: 51%
acpi_ac_update : ac_adapter is on-line
acpi_battery_update : Re-scanning available batteries
acpi_battery_exit : exited.
find_class_device : found
/sys/devices/LNXSYSTM:00/device:00/ACPI0003:00/power_supply/AC
find_class_device : found
/sys/devices/LNXSYSTM:00/device:00/PNP0C0A:00/power_supply/BAT0
get_class_device_attribute: couldn't open
/sys/devices/LNXSYSTM:00/device:00/PNP0C0A:00/power_supply/BAT0/energy_full
(No such file or directory)
get_class_device_attribute: found charge_full - path
/sys/devices/LNXSYSTM:00/device:00/PNP0C0A:00/power_supply/BAT0/charge_full
get_class_device_attribute: found charge_now - path
/sys/devices/LNXSYSTM:00/device:00/PNP0C0A:00/power_supply/BAT0/charge_now
get_class_device_attribute: found current_now - path
/sys/devices/LNXSYSTM:00/device:00/PNP0C0A:00/power_supply/BAT0/current_now
get_class_device_attribute: found present - path
/sys/devices/LNXSYSTM:00/device:00/PNP0C0A:00/power_supply/BAT0/present
get_class_device_attribute: found status - path
/sys/devices/LNXSYSTM:00/device:00/PNP0C0A:00/power_supply/BAT0/status
acpi_battery_init : found 1 Battery
acpi_battery_update : BAT0 - present
acpi_battery_update : battery life for BAT0 is 92%
acpi_battery_update : average battery life 92%
acpi_temperature_update : temperature for thermal_zone0 is 43.5C
acpi_temperature_update : temperature average is 43.5C
update_rule_scores : Rule "AC On" score: 101%
update_rule_scores : Rule "AC Off" score: 0%
update_rule_scores : Rule "Suspend2Ram" score: 0%
cpufreqd_set_profile : Profile "Performance High" set for CPU0
====================
analyzing CPU 0:
driver: acpi-cpufreq
CPUs which run at the same hardware frequency: 0 1
CPUs which need to have their frequency coordinated by software: 0
maximum transition latency: 10.0 us.
hardware limits: 1000 MHz - 1.83 GHz
available frequency steps: 1.83 GHz, 1.33 GHz, 1000 MHz
available cpufreq governors: ondemand, performance
current policy: frequency should be within 1.83 GHz and 1.83 GHz.
The governor "performance" may decide which speed to use
within this range.
current CPU frequency is 1.83 GHz (asserted by call to hardware).
boost state support:
Supported: no
Active: no
====================
check->max: 1833000
check->min: 1833000
check->governor: 159583944
====================
new_profile->policy.max: 1833000
new_profile->policy.min: 1833000
new_profile->policy.governor: 159619296
cpufreqd_set_profile : Policy correctly set 1833000-1833000-performance
cpufreqd_set_profile : Profile "Performance High" set for CPU1
====================
analyzing CPU 0:
driver: acpi-cpufreq
CPUs which run at the same hardware frequency: 0 1
CPUs which need to have their frequency coordinated by software: 0
maximum transition latency: 10.0 us.
hardware limits: 1000 MHz - 1.83 GHz
available frequency steps: 1.83 GHz, 1.33 GHz, 1000 MHz
available cpufreq governors: ondemand, performance
current policy: frequency should be within 1.83 GHz and 1.83 GHz.
The governor "performance" may decide which speed to use
within this range.
current CPU frequency is 1.83 GHz (asserted by call to hardware).
boost state support:
Supported: no
Active: no
====================
check->max: 1833000
check->min: 1833000
check->governor: 159583944
====================
new_profile->policy.max: 1833000
new_profile->policy.min: 1833000
new_profile->policy.governor: 159619296
cpufreqd_set_profile : Policy correctly set 1833000-1833000-performance
...
update_rule_scores : Rule "AC On" score: 101%
However a second or two afterwards:
$ cpupower frequency-info
analyzing CPU 0:
driver: acpi-cpufreq
CPUs which run at the same hardware frequency: 0 1
CPUs which need to have their frequency coordinated by software: 0
maximum transition latency: 10.0 us.
hardware limits: 1000 MHz - 1.83 GHz
available frequency steps: 1.83 GHz, 1.33 GHz, 1000 MHz
available cpufreq governors: ondemand, performance
current policy: frequency should be within 1000 MHz and 1.83 GHz.
The governor "ondemand" may decide which speed to use
within this range.
current CPU frequency is 1000 MHz.
boost state support:
Supported: no
Active: no
This behavior ties back to my original email. Clearly there is some
external impulse that forces a frequency stepping of 1GHz-1.83GHz with
the "ondemand" governor upon detecting a new AC adapter, and this
interferes in the operation of cpufreqd. I've tried tracking this down
and my best guess is the default programming of the CPUFREQ kernel
subsystem driver. Any ideas here?
P.S. Maybe waiting the maximum transition latency (10.0 us) could help?
|