Setting cpufreq on one cpu not reflected on others
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-
To illustrate:
echo userspace > /sys/devices/
[ 1263.824647] arm-bl-cpufreq: Switching to cluster 0
(...same for cpu1,2,3)
cat /sys/devices/
1000000
cat /sys/devices/
1000000
... same for all cpus.
Here's where it gets a bit strange...
root@linaro-nano:~# echo 100000 > /sys/devices/
[ 1537.768842] arm-bl-cpufreq: Switching to cluster 1
root@linaro-nano:~# cat /sys/devices/
[ 1539.621826] arm-bl-cpufreq: Switching to cluster 1
100000
root@linaro-nano:~# cat /sys/devices/
[ 1546.701841] arm-bl-cpufreq: Switching to cluster 0
100000
root@linaro-nano:~# cat /sys/devices/
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) |
Changed in linaro-big-little-reference: | |
importance: | Undecided → Medium |
status: | New → Fix Released |
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.