Linaro big.LITTLE Reference

Setting cpufreq on one cpu not reflected on others

Reported by Paul Larson on 2012-03-29
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
big.LITTLE Reference Switcher
Fix Released
Medium
Dave Martin

Bug Description

Builds are happening with ASYNC set to false, and changing to a different cluster seems to change completely to that cluster (based on the fast model cluster instruction counter), but the cpufreq interface only indicates the change in frequency for the cpu it was made on. This was on an ubuntu build,
# uname -a
Linux linaro-nano 3.2.0-21-linaro-lt-vexpressdt-rtsm #21~lt~ci~20120326163306+1332780867~4f70ff9clinaro1-Ubuntu SMP T armv7l armv7l armv7l GNU/Linux

To illustrate:
 echo userspace > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
[ 1263.824647] arm-bl-cpufreq: Switching to cluster 0
(...same for cpu1,2,3)
cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq
1000000
cat /sys/devices/system/cpu/cpu1/cpufreq/cpuinfo_cur_freq
1000000
... same for all cpus.

Here's where it gets a bit strange...
root@linaro-nano:~# echo 100000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
[ 1537.768842] arm-bl-cpufreq: Switching to cluster 1
root@linaro-nano:~# cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq
[ 1539.621826] arm-bl-cpufreq: Switching to cluster 1
100000
root@linaro-nano:~# cat /sys/devices/system/cpu/cpu1/cpufreq/cpuinfo_cur_freq
[ 1546.701841] arm-bl-cpufreq: Switching to cluster 0
100000
root@linaro-nano:~# cat /sys/devices/system/cpu/cpu3/cpufreq/cpuinfo_cur_freq
1000000

So there could actually be two bugs here. It looks like it's not reflecting the change on all cores (Talked to davem about this earlier today, who thinks he has a patch for that), and then there's this effect of occasionally switching the cluster back when catting the cpuinfo_cur_freq for another cpu after switching.

Changed in linaro-big-little-reference:
assignee: nobody → Dave Martin (dave-martin-arm)
Paul Larson (pwlars) wrote :

Avik and I both tested a fix in Dave's linux-3-arm tree, arm/vexpressdt-rtsm+arm-virt-bl_cpufreq branch and can no longer reproduce this bug using that kernel.

Changed in linaro-big-little-reference:
importance: Undecided → Medium
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers