Linaro 13.01 Release (Calendar Week 5, 2013): Here is test result summary
for Linux Linaro ubuntu Quantal image on following boards:
1) ARM Versatile Express A9;
2) Samsung Origen;
3) Samsung Arndale;
4) TI Panda 4430;
5) TI Panda 4460;
6) ST Ericsson Snowball.
Synopsis: Samsung Arndale board bringing up, booted successfully; ARM DS-5
data streaming doesn't work on TI Panda boards; Ethernet starts to work on
Samsung Origen by manually modify configuration file.
1. ARM Versatile Express A9 + Linux Linaro Quantal (Column I):
https://docs.google.com/a/linaro.org/spreadsheet/ccc?key=0AroPySpr4FnEdFNmV…
It keeps exactly same status as last test result: only "Halt" & "Device
Tree" test failed, all other features work well, and kernel has been
upgraded to 3.8.0-1.
2. Samsung Origen + Linux Linaro Quantal (Column J):
https://docs.google.com/a/linaro.org/spreadsheet/ccc?key=0AroPySpr4FnEdEowN…
"Halt" test failed, but it worked well last week. Ethernet starts to work
by modify "/etc/network/interfaces" manually then reboot. Device Tree backs
to work and Segmentation Fault error has been fixed in PowerTop. WiFi is
still unavailable.
3. Samsung Arndale + Linux Linaro Quantal (Column C):
https://docs.google.com/a/linaro.org/spreadsheet/ccc?key=0AgB-fT5LL31CdGZJS…
New board, Samsung Arndale has been brought up and booted successfully,
although not reliable enough.
4. TI Panda 4430 + Linux Linaro Quantal (Column I):
https://docs.google.com/a/linaro.org/spreadsheet/ccc?key=0AroPySpr4FnEdEwwZ…
ARM DS5 data streaming failed due to gator version mismatch, Device Tree is
unavailable. "cpuhotplug_07" in Power Management test failed again but it
worked well last week.
5. TI Panda 4460 + Linux Linaro Quantal (Column I):
https://docs.google.com/a/linaro.org/spreadsheet/ccc?key=0AroPySpr4FnEdEwwZ…
ARM DS5 data streaming failed due to gator version mismatch, Device Tree is
unavailable, all other test passed.
6. ST Ericsson Snowball + Linux Linaro Quantal (Column I):
https://docs.google.com/a/linaro.org/spreadsheet/ccc?key=0AroPySpr4FnEdFJ4X…
It keeps exactly same status as last week, board can boot into serial
console successfully, but many features are unavailable, like HDMI, reboot,
halt and Ethernet.
For the previous week test summary (Calendar week 4), please refer to
attachment.
Thank you.
Best Regards
Botao Sun
Hello Rafael,
this is the v7 for the cpufreq SW coordinated CPU bug fix, developed
after the discussion with Viresh about some issues that appeared after
the merge of both mine and his patches.
Changes from v6:
* Dropped the cpu hotplug patch, as it was solving part of problem
addressed by Viresh patch:
dbcb634 cpufreq: Notify governors when cpus are hot-[un]plugged
but was behaving erratically when both patches were applied together.
* In the initial patch, cleaned up cpufreq_governor_dbs and
dbs_timer_{init,exit} to remove non necessary variables and special case
initialization, as the additional data provided on that code was not
necessary since v6. The code is a bit cleaner now.
Would you consider replacing my patches currently on your pm-cpufreq-next
branch with this series? There should not be any conflicts with existing
patches. Let me know if you prefer incremental patches instead.
Thanks,
Fabio
Fabio Baltieri (3):
cpufreq: ondemand: call dbs_check_cpu only when necessary
cpufreq: conservative: call dbs_check_cpu only when necessary
cpufreq: ondemand: use all CPUs in update_sampling_rate
Rickard Andersson (1):
cpufreq: handle SW coordinated CPUs
drivers/cpufreq/cpufreq_conservative.c | 46 ++++++++++++++++++++++---
drivers/cpufreq/cpufreq_governor.c | 34 ++++++++++++++-----
drivers/cpufreq/cpufreq_governor.h | 2 ++
drivers/cpufreq/cpufreq_ondemand.c | 62 +++++++++++++++++++++++++++-------
4 files changed, 119 insertions(+), 25 deletions(-)
--
1.7.12.1
Documentation related to cpus and related_cpus is confusing and not very clear.
Over that CPUFreq core has seen much changes recently. Lets update documentation
and comments for cpus and related_cpus.
Signed-off-by: Viresh Kumar <viresh.kumar(a)linaro.org>
---
Documentation/cpu-freq/cpu-drivers.txt | 6 ++++++
Documentation/cpu-freq/user-guide.txt | 8 ++++----
include/linux/cpufreq.h | 6 ++++--
3 files changed, 14 insertions(+), 6 deletions(-)
diff --git a/Documentation/cpu-freq/cpu-drivers.txt b/Documentation/cpu-freq/cpu-drivers.txt
index c436096..72f70b1 100644
--- a/Documentation/cpu-freq/cpu-drivers.txt
+++ b/Documentation/cpu-freq/cpu-drivers.txt
@@ -111,6 +111,12 @@ policy->governor must contain the "default policy" for
For setting some of these values, the frequency table helpers might be
helpful. See the section 2 for more information on them.
+SMP systems normally have same clock source for a group of cpus. For these the
+.init() would be called only once for the first online cpu. Here the .init()
+routine must initialize policy->cpus with mask of all possible cpus (Online +
+Offline) that share the clock. Then the core would copy this mask onto
+policy->related_cpus and will reset policy->cpus to carry only online cpus.
+
1.3 verify
------------
diff --git a/Documentation/cpu-freq/user-guide.txt b/Documentation/cpu-freq/user-guide.txt
index 04f6b32..ff2f283 100644
--- a/Documentation/cpu-freq/user-guide.txt
+++ b/Documentation/cpu-freq/user-guide.txt
@@ -190,11 +190,11 @@ scaling_max_freq show the current "policy limits" (in
first set scaling_max_freq, then
scaling_min_freq.
-affected_cpus : List of CPUs that require software coordination
- of frequency.
+affected_cpus : List of Online CPUs that require software
+ coordination of frequency.
-related_cpus : List of CPUs that need some sort of frequency
- coordination, whether software or hardware.
+related_cpus : List of Online + Offline CPUs that need software
+ coordination of frequency.
scaling_driver : Hardware driver for cpufreq.
diff --git a/include/linux/cpufreq.h b/include/linux/cpufreq.h
index b60f6ba..04d2e84 100644
--- a/include/linux/cpufreq.h
+++ b/include/linux/cpufreq.h
@@ -86,8 +86,10 @@ struct cpufreq_real_policy {
};
struct cpufreq_policy {
- cpumask_var_t cpus; /* CPUs requiring sw coordination */
- cpumask_var_t related_cpus; /* CPUs with any coordination */
+ /* CPUs sharing clock, require sw coordination */
+ cpumask_var_t cpus; /* Online CPUs only */
+ cpumask_var_t related_cpus; /* Online + Offline CPUs */
+
unsigned int shared_type; /* ANY or ALL affected CPUs
should set cpufreq */
unsigned int cpu; /* cpu nr of registered CPU */
--
1.7.12.rc2.18.g61b472e