Add information about the regulator state and status field
Signed-off-by: Sanjay Singh Rawat <sanjay.rawat(a)linaro.com>
---
doc.txt | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
create mode 100644 doc.txt
diff --git a/doc.txt b/doc.txt
new file mode 100644
index 0000000..36ffc46
--- /dev/null
+++ b/doc.txt
@@ -0,0 +1,20 @@
+Regulator related information
+=============================
+Regulator fields "state" and "status" give below information about the regulator.
+
+- state: field tell whether regulator is enabled or disabled. Following are the states
+ | - Enabled
+ | - Disabled
+ | - Unknown (if unable to determine)
+ |
+ |
+ ----> status: When enabled, depending on the regulator hardware capability(modes) and runtime requirement; regulators are set to specific modes. The status field gives a little
+ more specific information about the current "state" of the regulator, which operating modes it is in. Following can be the possible status:
+ - Idle
+ - Fast
+ - Normal
+ - Standby
+ - Bypass
+ - Error
+ - Undefined
+ - On/Off
--
1.7.9.5
Hi Rafael,
This is another unplanned patchset for all the platforms that i broke. :)
Okay, there are two important fixes (1 & 4) and two general cleanups (2 & 3). I
hope most of the issues would be resolved by these and we would be able to push
clean cpufreq core into 3.9.
I have pushed them in my for-rafael branch at:
http://git.linaro.org/gitweb?p=people/vireshk/linux.git;a=shortlog;h=refs/h…
@Artem & Valdis: Please test them and reply with your Tested-by's (in case they
work :) ).
Viresh Kumar (4):
cpufreq: governors: Fix WARN_ON() for multi-policy platforms
cpufreq: Remove unused HOTPLUG_CPU code
cpufreq: Create a macro for unlock_policy_rwsem{read,write}
cpufreq: Fix locking issues
drivers/cpufreq/cpufreq.c | 126 ++++++++++++++++++-------------------
drivers/cpufreq/cpufreq_governor.c | 32 ++++++----
2 files changed, 79 insertions(+), 79 deletions(-)
--
1.7.12.rc2.18.g61b472e
This patchset does some cleanup. It could have been folded in a single
patch but the review would have been less clean than splitting it into
small and trivial patches.
The main purpose of this patch is to remove the usage of the driver_data
field from the state_usage structure. Len Brown is doing this cleanup in
the intel_idle.c file. With this patchset, the processor_idle.c file will
be the last user of this field.
Also, the patchset simplify the code and makes it a bit more clear to read.
Thanks to Sekhar for testing the patchset.
Changelog:
V2:
* removed global static variable initialization to 'false'
* added Acked-by: Sekhar Nori <nsekhar(a)ti.com>
V1: initial post
Daniel Lezcano (4):
davinci: cpuidle - use global variable for ddr2 flag
davinci: cpuidle - move code to prevent forward declaration
davinci: cpuidle - remove the ops
davinci: cpuidle - remove useless initialization
arch/arm/mach-davinci/cpuidle.c | 84 ++++++++++++---------------------------
1 file changed, 25 insertions(+), 59 deletions(-)
--
1.7.9.5
Hi,
Calendar Week 6, 2013: Here is test result summary for big.LITTLE MP
Scheduler test on TC2 platform with Android image
sched_tests.git No of Test Cases Tests Run Tests Pass Tests Fail Absolute
pass rate (%) Failure Analysis/Comments
Regression 20 20 20 0 100 -
mpbasicsuite 10 10 10 0 100 -
mpcoresuite 4 4 4 0 100 -
mpextendedsuite 6 6 4 2 66.7 -
mploadbalance 2 2 2 0 100 -
Android Build:
https://android-build.linaro.org/builds/~linaro-android-restricted/vexpress…
Linux kernel:
Linux version 3.8.0-rc6-00860-gabb16ac (jenkins-build@ip-10-40-91-94)
(gcc version 4.7.3 20130102 (prerelease)
Results spread sheet:
https://docs.google.com/a/linaro.org/spreadsheet/ccc?key=0Ai9ggMs8bsGJdER3a…
mpbasicsuite:
Deprected 4 test cases "FT0005" "FT0006" "FT0009" and "FT0010"
mpcoresuite:
Deprecated 4 test cases due to change in behaviour due to global load
balancing patch
The list of deprecated tests are - core_test_scn02.2, core_test_scn03.1,
core_test_scn03.2, core_test_scn05.1
mpextendedsuite:
Deprecated 8 test cases due to change in behaviour due to global load
balancing patch
The list of deprecated tests are - extd_test_scn01.2, extd_test_scn01.3,
extd_test_scn02.1, extd_test_scn02.2, extd_test_scn03.2, extd_test_scn03.3,
extd_test_scn07.1, extd_test_scn08.1
Here two test case reported FAILURE: extd_test_scn04.1 and
extd_test_scn04.2 these needs to be analysed.
Best regards
Naresh Kamboju
When a RT task is scheduled on an idle CPU, the update of the rq's load is
not done because CFS's functions are not called. Then, the idle_balance,
which is called just before entering the idle function, updates the
rq's load and makes the assumption that the elapsed time since the last
update, was only running time.
The rq's load of a CPU that only runs a periodic RT task, is close to
LOAD_AVG_MAX whatever the running duration of the RT task is.
A new idle_exit function is called when the prev task is the idle function
so the elapsed time will be accounted as idle time in the rq's load.
Signed-off-by: Vincent Guittot <vincent.guittot(a)linaro.org>
---
kernel/sched/core.c | 3 +++
kernel/sched/fair.c | 10 ++++++++++
kernel/sched/sched.h | 5 +++++
3 files changed, 18 insertions(+)
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 26058d0..592e06c 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -2927,6 +2927,9 @@ need_resched:
pre_schedule(rq, prev);
+ if (unlikely(prev == rq->idle))
+ idle_exit(cpu, rq);
+
if (unlikely(!rq->nr_running))
idle_balance(cpu, rq);
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index 5eea870..520fe55 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -1562,6 +1562,16 @@ static inline void dequeue_entity_load_avg(struct cfs_rq *cfs_rq,
se->avg.decay_count = atomic64_read(&cfs_rq->decay_counter);
} /* migrations, e.g. sleep=0 leave decay_count == 0 */
}
+
+/*
+ * Update the rq's load with the elapsed idle time before a task is
+ * scheduled. if the newly scheduled task is not a CFS task, idle_exit will
+ * be the only way to update the runnable statistic.
+ */
+void idle_exit(int this_cpu, struct rq *this_rq)
+{
+ update_rq_runnable_avg(this_rq, 0);
+}
#else
static inline void update_entity_load_avg(struct sched_entity *se,
int update_cfs_rq) {}
diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h
index fc88644..9707092 100644
--- a/kernel/sched/sched.h
+++ b/kernel/sched/sched.h
@@ -877,6 +877,7 @@ extern const struct sched_class idle_sched_class;
extern void trigger_load_balance(struct rq *rq, int cpu);
extern void idle_balance(int this_cpu, struct rq *this_rq);
+extern void idle_exit(int this_cpu, struct rq *this_rq);
#else /* CONFIG_SMP */
@@ -884,6 +885,10 @@ static inline void idle_balance(int cpu, struct rq *rq)
{
}
+static inline void idle_exit(int this_cpu, struct rq *this_rq)
+{
+}
+
#endif
extern void sysrq_sched_debug_show(void);
--
1.7.9.5
Postmortem and lessons learned for Linaro's release 2013.01
https://wiki.linaro.org/Cycles/1301/Release/Review
Highlights and Key Successes
============================
http://www.linaro.org/downloads/1301http://wiki.linaro.org/Cycles/1301/Release#Release_Information
For the first release of the year Linaro has some nice new
technologies to augment the regular platforms that have been released.
The Developer platform Team has enabled 64bit HipHop VM development in
OpenEmbedded, continued to merge ARMv8 support into the OpenEmbedded
platform and upstream, engaged initial support for the Arndale board
and released Linux Linaro 3.8-rc4 2013.01.
The first stable Juice builds have been created and integrated into
Linaro's automated testing infrastructure LAVA. The builds allow early
Android development to begin on upcoming ARMv8 Models. The builds have
been tested against 40 manual and 60 automated tests that cover all
aspects of the platform including core Android feature testing and
platform use.
The Linaro Enterprise Group (LEG) has released Linaro UEFI 2013.01.
The highlights include fixes for native building of UEFI on ARM
platforms and improvements to flashing images on Arndale board and
enable native building for PandaBoard.
The Power Management Group hosted a big.LITTLE sprint in Cambridge led
by Amit Kucheria. A meeting of minds between ARM, Linaro and the
community succeeded in achieving enhanced focus and a more defined
roadmap for the big.LITTLE story. Topics included clearly defined
benchmarking to determine the effectiveness of the platform, enhanced
verification to augment the traditional kernel power/performance
testing, and a well defined roadmap for big.LITTLE on Android. In
related big.LITTLE MP development, version 14 of the big.LITTLE MP
tree has been released.
https://wiki.linaro.org/Cycles/1301/Release#Release_Information
Blueprints
=========
The number of high or essential priority blueprints that missed the cycle:
Android 1 out of 7
Developer Platform 3 out of 4
Infrastructure 1 out of 3
Lava 3 out of 7
QA 1 out of 7
Total 9 out of 28
33% of high or essential priority blueprints scheduled for this cycle
were not delivered.
Total blueprints: 29 out of 61 missed the cycle.
High priority missed blueprints recap:
12.05: 19 out of 48, 39%
12.06: 13 out of 31, 42%
12.07: 14 out of 31, 45%
12.08: 6 out of 26, 23%
12.09: 9 out of 28, 32%
12.10: 15 out of 38, 39%
12.11: 7 out of 19, 37%**
12.12: not available
* Not included is data from working groups and landing teams
Source:
https://docs.google.com/spreadsheet/ccc?key=0AjEaTwrvj1bidE5ZeFpsV05id0tRNm…
--
David Zinman, Project Manager
Linaro.org | Open source software for ARM SoCs
Hi Dear Poynor/All cpufreq owner,
I studied the cpufreq interactive governor recently, and there is per
cpu timer for each cpu, that means the workload will be queried and
calculated based on each cpu's workload when timer expires.
I am considering about the case of bad application then workload
balance is not well issued, may lead to one core is busy, the other is
idle on SMP system. This may lead to one core want to increase the
core frequency as it is busy, the other core want to decrease the core
frequency as it is idle. But SMP system two cores always runs at the
same frequency, and the behavior will lead to performance drop.
How does interactive handle this case? I know that ondemand governor
has opportunity to consider the max workload of all online cpu and
make frequency change decision based on the max workload(policy->cpus
set to all cpu_mask). Whether interactive will consider the same way?
Could you please help to give some suggestion or let me know if i have
some misunderstanding of this part?
Thanks.
--
Zhoujie Wu
Hello, I am running Foundation_v8 with images from Linaro as follows:
./Foundation_v8 --image=img-foundation.axf
--block-device=vexpress64-openembedded_sdk-armv8_20130127-242.img
--network=nat --network-nat-ports=8022=22
I noticed that often when I ssd or scp into the target (ssh -p 8022
root@localhost ), the Foundation_v8 would spike to 100% usage on the
host for a few minute before ssh would returns which makes the process
very slow. Doing "top" in the target shows that 98% of cpu is being used
servicing sirq (soft irq). Has anybody seen this and is there a
solution? Thanks.