Hi Gary,
Could you please try these two patches wrt
[Bug 1283532] [NEW] NO_HZ fails for BE
I've tested it on my arndale board with my kernel that
they fix cpu hotplug issue for arndale board. I do not have
RT linux setup, so would appreciate help in testing.
Thanks,
Victor
Victor Kamensky (2):
ARM: EXYNOS: Fix hotplug wfi instruction in BE case
ARM: EXYNOS: Fix hotplug BE image mon and hyp mode BE switch
arch/arm/mach-exynos/headsmp.S | 5 ++++-
arch/arm/mach-exynos/hotplug.c | 2 +-
2 files changed, 5 insertions(+), 2 deletions(-)
--
1.8.1.4
Hi Russell,
Please pull fixes for ARM Kprobes big-endian support.
It is reworked initial Ben's series for big endian support [1].
Dropped patches that are not directly related to kprobes.
Current set of patches is enough to have functional BE kprobes.
One ARM kprobe test fails on Cortex-A15 boards (TC2 and Keystone2 EVM),
while it passes on Pandaboard. The issue is not related to this series
and already present in v3.13-rc7.
[1] http://www.spinics.net/lists/arm-kernel/msg285210.html
--
Taras Kondratiuk
--->8
The following changes since commit 7e22e91102c6b9df7c4ae2168910e19d2bb14cd6:
Linux 3.13-rc8 (2014-01-12 17:04:18 +0700)
are available in the git repository at:
git://git.linaro.org/people/taras.kondratiuk/linux.git tags/for_russell/arm-be-kprobes
for you to fetch changes up to 1c2d814c019b63bf0778fc2d2fd54c6e44f1ab5d:
ARM: kprobes-test: Workaround GAS .align bug (2014-01-13 13:58:52 +0200)
----------------------------------------------------------------
Ben Dooks (4):
ARM: kprobes: fix instruction fetch order with <asm/opcodes.h>
ARM: kprobes-test: use <asm/opcodes.h> for instruction accesses
ARM: kprobes-test: use <asm/opcodes.h> for ARM instruction building
ARM: kprobes-test: use <asm/opcodes.h> for Thumb instruction building
Taras Kondratiuk (1):
ARM: kprobes-test: Workaround GAS .align bug
arch/arm/kernel/kprobes-common.c | 19 +-
arch/arm/kernel/kprobes-test-arm.c | 603 +++++++++++++++++-----------------
arch/arm/kernel/kprobes-test-thumb.c | 447 ++++++++++++-------------
arch/arm/kernel/kprobes-test.c | 13 +-
arch/arm/kernel/kprobes-test.h | 2 +-
arch/arm/kernel/kprobes-thumb.c | 20 +-
arch/arm/kernel/kprobes.c | 9 +-
7 files changed, 562 insertions(+), 551 deletions(-)
Hi Morten,
I have just read your scheduler slide in LCA2014, and have some questions
which want to confirm with you. Before that, I shall say it is an
impressive slide
that well state the importance why scheduler change would benefit the power.
As you may also know the data from ARM's spec for A15/A7 power/performance diff:
http://www.arm.com/files/downloads/big.LITTLE_Final.pdf
It shows one fact that even over one cpu, different tasks would shows different
performance and power difference, as I see the programs like Dhrystone/FDCT
shows different performance growth over A7 when running over A15.
So is it ok to get the cpu's power only by its current usage, like busy ratio?
And don't care for its running task's type?
I am not sure whether this is what your meaning presented in the slide.
That is to modeling the energy diff, and move task around if shows
energy benefit.
Is there any possible to also add task type impact into scheduler design?
Thanks,
Lei
Ideally, .driver_data field of struct cpufreq_frequency_table must not be used
by core at all. But during a recent change if its value is same as
CPUFREQ_BOOST_FREQ macro, then it is treated specially by core.
The value of this macro was set to ~2 earlier, i.e. 0xFFFFFFFD. In case some
driver is using this field for its own data and sets this field to -3, then with
two's complement that value will also become 0xFFFFFFFD.
To fix this issue, lets change value of this flag to a very uncommon value which
shouldn't be used by any driver unless they want to use BOOST feature.
Along with this update comments to make this more clear.
Signed-off-by: Viresh Kumar <viresh.kumar(a)linaro.org>
---
Gautham/Vaidy: I hope this fixes the problem we discussed for your patchset.
include/linux/cpufreq.h | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/include/linux/cpufreq.h b/include/linux/cpufreq.h
index c48e595..9f25d9d 100644
--- a/include/linux/cpufreq.h
+++ b/include/linux/cpufreq.h
@@ -455,12 +455,18 @@ extern struct cpufreq_governor cpufreq_gov_conservative;
* FREQUENCY TABLE HELPERS *
*********************************************************************/
+/* Special Values of .frequency field */
#define CPUFREQ_ENTRY_INVALID ~0
#define CPUFREQ_TABLE_END ~1
-#define CPUFREQ_BOOST_FREQ ~2
+/* Special Values of .driver_data field */
+#define CPUFREQ_BOOST_FREQ 0xABABABAB
struct cpufreq_frequency_table {
- unsigned int driver_data; /* driver specific data, not used by core */
+ /*
+ * driver specific data, not used by core unless it is set to
+ * CPUFREQ_BOOST_FREQ.
+ */
+ unsigned int driver_data;
unsigned int frequency; /* kHz - doesn't need to be in ascending
* order */
};
--
1.7.12.rc2.18.g61b472e