On 28 August 2012 10:37, Viresh Kumar <viresh.kumar(a)linaro.org> wrote:
> I have updated
>
> https://wiki.linaro.org/WorkingGroups/PowerManagement/Process/bigLittleMPTr…
>
> as per our last discussion. Please see if i have missed something.
Hi Guys,
I will be sending PULL request of big-LITTLE-MP-v7 today as per schedule.
Do let me know if you want anything to be included in it before that.
@Morten: What should i do with patch reported by Santosh:
ARM-Add-HMP-scheduling-support-for-ARM-architecture
Do i need to apply it over your branch?
--
viresh
The semihosting and FDT code makes use of libc style string
functions implemented in our string.c, however it relies of the system
providing the string.h header file.
This causes problems on toolchains that don't provide these headers,
like Android toolchains, and it also means that we include declaration
for functions which aren't implemented in the bootwrapper.
Resolve this by providing our own string.h which declares only
the functions we implement and add the base directory to the
include path so this header is found.
Signed-off-by: Jon Medhurst <tixy(a)linaro.org>
---
Makefile | 2 +-
string.h | 16 ++++++++++++++++
2 files changed, 17 insertions(+), 1 deletion(-)
create mode 100644 string.h
diff --git a/Makefile b/Makefile
index 995fd8f..f8fc841 100644
--- a/Makefile
+++ b/Makefile
@@ -57,7 +57,7 @@ monitor.o: $(MONITOR)
$(CC) $(CPPFLAGS) -c -o $@ $<
%.o: %.c
- $(CC) $(CPPFLAGS) -O2 -ffreestanding -Ilibfdt -c -o $@ $<
+ $(CC) $(CPPFLAGS) -O2 -ffreestanding -I. -Ilibfdt -c -o $@ $<
model.lds: $(LD_SCRIPT) Makefile
$(CC) $(CPPFLAGS) -E -P -C -o $@ $<
diff --git a/string.h b/string.h
new file mode 100644
index 0000000..f1aebdf
--- /dev/null
+++ b/string.h
@@ -0,0 +1,16 @@
+#ifndef STRING_H
+#define STRING_H
+
+#include <stddef.h>
+
+extern void *(memcpy)(void *__dest, __const void *__src, size_t __n);
+extern void *(memmove)(void *__dest, __const void *__src, size_t __n);
+extern void *(memchr)(void const *s, int c, size_t n);
+extern size_t (strlen)(const char *s);
+extern void *(memset)(void *s, int c, size_t count);
+extern int (memcmp)(void const *p1, void const *p2, size_t n);
+extern int (strcmp)(char const *s1, char const *s2);
+extern int (strncmp)(char const *s1, char const *s2, size_t n);
+extern char *(strchr)(char const *s, int c);
+
+#endif
--
1.7.10.4
Incorrect timer and work perf events timestamp tracing is one
of the reason for reporting usage over 100%. This patch will
resolve the issue by
- rejecting the events for which entry timestamp is not recorded.
Currently these events exit timestamp itself is considered as
usage period resulting in over 100% usage.
- clearing event timestamps from global map at the end of each
measurement to avoid collision with earlier recorded timestamps.
Signed-off-by: Rajagopal Venkat <rajagopal.venkat(a)linaro.org>
---
src/process/timer.cpp | 5 ++++-
src/process/work.cpp | 5 ++++-
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/src/process/timer.cpp b/src/process/timer.cpp
index 8917490..db074c4 100644
--- a/src/process/timer.cpp
+++ b/src/process/timer.cpp
@@ -79,7 +79,8 @@ uint64_t timer::done(uint64_t time, uint64_t timer_struct)
{
int64_t delta;
- if (running_since[timer_struct] > time)
+ if (running_since.find(timer_struct) == running_since.end() ||
+ running_since[timer_struct] > time)
return 0;
delta = time - running_since[timer_struct];
@@ -147,6 +148,8 @@ void clear_timers(void)
all_timers.erase(it);
it = all_timers.begin();
}
+
+ running_since.clear();
}
bool timer::is_deferred(void)
diff --git a/src/process/work.cpp b/src/process/work.cpp
index 82f13a2..e436643 100644
--- a/src/process/work.cpp
+++ b/src/process/work.cpp
@@ -56,7 +56,8 @@ uint64_t work::done(uint64_t time, uint64_t work_struct)
{
int64_t delta;
- if (running_since[work_struct] > time)
+ if (running_since.find(work_struct) == running_since.end() ||
+ running_since[work_struct] > time)
return 0;
delta = time - running_since[work_struct];
@@ -102,6 +103,8 @@ void clear_work(void)
all_work.erase(it);
it = all_work.begin();
}
+
+ running_since.clear();
}
--
1.7.11.3
Since commit 46bcfad7a819bd17ac4e831b04405152d59784ab,
cpuidle: Single/Global registration of idle states
we have a single registration for the cpuidle states which makes
sense. But now two new architectures are coming: tegra3 and big.LITTLE.
These architectures have different cpus with different caracteristics
for power saving. High load => powerfull processors, idle => small processors.
That implies different cpu latencies.
This patchset present a simple way to keep the current behavior as introduced
by Deepthi without breaking the drivers and add the possibility to specify a
per cpu states.
Daniel Lezcano (5):
acpi : move the acpi_idle_driver variable declaration
acpi : move cpuidle_device field out of the acpi_processor_power
structure
cpuidle : add a pointer for cpuidle_state in the cpuidle_device
cpuidle : use per cpuidle device cpu states
cpuidle : add cpuidle_register_states function
drivers/acpi/processor_driver.c | 2 +-
drivers/acpi/processor_idle.c | 25 ++++++++++++++++++-------
drivers/cpuidle/cpuidle.c | 24 +++++++++++++++++++++---
drivers/cpuidle/governors/ladder.c | 18 +++++++++---------
drivers/cpuidle/governors/menu.c | 8 ++++----
drivers/cpuidle/sysfs.c | 3 +--
include/acpi/processor.h | 3 ---
include/linux/cpuidle.h | 11 ++++++++---
8 files changed, 62 insertions(+), 32 deletions(-)
--
1.7.5.4
The bootwrapper is really doubling as firmware, so it doesn't make
sense for it to drop out of the Secure World before getting a
chance to parse its parameters and configuration.
Instead, it should make sense to delay switching to the Normal
World for as long as possible so that we have a chance to do any
required firmware-level configuration in the Secure World first.
This quick hack is ***completely untested***, since I'm not working
with any suitable kernel tree right now.
If someone with a KVM tree ready to run could give it a try,
that would definitely save me some time.
Review also welcome (naturally)
Cheers
---Dave
Dave Martin (3):
bootwrapper: Fix misaligned Hyp mode vector table
bootwrapper: Refactor entry into Hyp mode to be more reusable
bootwrapper: Delay switch to Hyp mode until kernel entry
boot.S | 58 +++++++++++++++++++++++++++++++++++++-------------------
semi_loader.h | 6 +++-
2 files changed, 42 insertions(+), 22 deletions(-)
--
1.7.4.1
Hi all,
I want to set up the power probe only without any other streamline
functions, can I make it?
It seems that the IP Address in the Capture Options window must be filled,
so the gator driver and daemon should be compiled then, but I have
compiling error.
Can I set up power probe only?
If not, do we have proper gator without compiling error?
Thanks.
Hi all,
I've just deployed a new feature for LAVA: the ability to filter and
subscribe (by email) to test results. You can see, define and
subscribe to filters at:
https://validation.linaro.org/lava-server/filters/
I've made some effort to make the interface understandable, so I don't
want to go on and on about all the possibilities here. Suffice to say
that it's supposed to be a way to allow one to describe tests that you
are interested in and receive notifications when tests matching these
descriptions arrive in the database. If more criteria are needed,
then then can be added :-)
The code is new and quite complicated so there is definitely a risk of
bugs. I apologize in advance if your filter doesn't match all the
results it should or you end up getting mailbombed!
Future work will likely include: RSS feeds for filters, allowing
sorting (and grouping) results by build number, and thinking about
ways to use filters to drive other views, such as the image status
view or some kind of interesting benchmark views.
I am _super keen_ on getting feedback on whether this seems to be a
useful feature.
Cheers,
mwh