mirror of
https://github.com/ARM-software/devlib.git
synced 2025-09-19 10:21:55 +01:00
cpufreq: add functions to get frequencies and governors for all online CPUs
This patch adds a couple of shutils functions to efficiently read all the frequencies/governors and returne them into a dictionary indexed by CPU id. The shutils functions are returning a line per each CPU that can be easily converted into a dictionary in the host side. Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
This commit is contained in:
@@ -18,6 +18,11 @@ cpufreq_set_all_frequencies() {
|
||||
done
|
||||
}
|
||||
|
||||
cpufreq_get_all_frequencies() {
|
||||
$GREP '' /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq | \
|
||||
$SED -e 's|/sys/devices/system/cpu/cpu||' -e 's|/cpufreq/scaling_cur_freq:| |'
|
||||
}
|
||||
|
||||
cpufreq_set_all_governors() {
|
||||
GOV=$1
|
||||
for CPU in /sys/devices/system/cpu/cpu[0-9]*; do
|
||||
@@ -25,6 +30,11 @@ cpufreq_set_all_governors() {
|
||||
done
|
||||
}
|
||||
|
||||
cpufreq_get_all_governors() {
|
||||
$GREP '' /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor | \
|
||||
$SED -e 's|/sys/devices/system/cpu/cpu||' -e 's|/cpufreq/scaling_governor:| |'
|
||||
}
|
||||
|
||||
cpufreq_trace_all_frequencies() {
|
||||
FREQS=$(cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq)
|
||||
CPU=0; for F in $FREQS; do
|
||||
@@ -41,9 +51,15 @@ case $CMD in
|
||||
cpufreq_set_all_frequencies)
|
||||
cpufreq_set_all_frequencies $*
|
||||
;;
|
||||
cpufreq_get_all_frequencies)
|
||||
cpufreq_get_all_frequencies
|
||||
;;
|
||||
cpufreq_set_all_governors)
|
||||
cpufreq_set_all_governors $*
|
||||
;;
|
||||
cpufreq_get_all_governors)
|
||||
cpufreq_get_all_governors
|
||||
;;
|
||||
cpufreq_trace_all_frequencies)
|
||||
cpufreq_trace_all_frequencies $*
|
||||
;;
|
||||
|
Reference in New Issue
Block a user