* [GIT PULL] arm/context_tracking build fix
@ 2013-09-27 17:15 Frederic Weisbecker
2013-09-28 6:50 ` Ingo Molnar
0 siblings, 1 reply; 2+ messages in thread
From: Frederic Weisbecker @ 2013-09-27 17:15 UTC (permalink / raw)
To: Ingo Molnar
Cc: LKML, Frederic Weisbecker, Guenter Roeck, Russell King,
Kevin Hilman, Nicolas Pitre, Anil Kumar, Tony Lindgren,
Benoit Cousson
Ingo,
Please pull the context_tracking/fixes branch that can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git
context_tracking/fixes
Thanks,
Frederic
---
Frederic Weisbecker (1):
arm: Fix build error with context tracking calls
| 8 ++++----
kernel/context_tracking.c | 12 ++++++++++++
2 files changed, 16 insertions(+), 4 deletions(-)
---
commit 0c06a5d4b13cd66c833805a0d1db76b977944aac
Author: Frederic Weisbecker <fweisbec@gmail.com>
Date: Tue Sep 10 00:54:17 2013 +0200
arm: Fix build error with context tracking calls
ad65782fba50 (context_tracking: Optimize main APIs off case
with static key) converted context tracking main APIs to inline
function and left ARM asm callers behind.
This can be easily fixed by making ARM calling the post static
keys context tracking function. We just need to replicate the
static key checks there. We'll remove these later when ARM will
support the context tracking static keys.
Reported-by: Guenter Roeck <linux@roeck-us.net>
Reported-by: Russell King <linux@arm.linux.org.uk>
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Tested-by: Kevin Hilman <khilman@linaro.org>
Cc: Nicolas Pitre <nicolas.pitre@linaro.org>
Cc: Anil Kumar <anilk4.v@gmail.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Benoit Cousson <b-cousson@ti.com>
Cc: Guenter Roeck <linux@roeck-us.net>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Kevin Hilman <khilman@linaro.org>
--git a/arch/arm/kernel/entry-header.S b/arch/arm/kernel/entry-header.S
index de23a9b..39f89fb 100644
--- a/arch/arm/kernel/entry-header.S
+++ b/arch/arm/kernel/entry-header.S
@@ -329,10 +329,10 @@
#ifdef CONFIG_CONTEXT_TRACKING
.if \save
stmdb sp!, {r0-r3, ip, lr}
- bl user_exit
+ bl context_tracking_user_exit
ldmia sp!, {r0-r3, ip, lr}
.else
- bl user_exit
+ bl context_tracking_user_exit
.endif
#endif
.endm
@@ -341,10 +341,10 @@
#ifdef CONFIG_CONTEXT_TRACKING
.if \save
stmdb sp!, {r0-r3, ip, lr}
- bl user_enter
+ bl context_tracking_user_enter
ldmia sp!, {r0-r3, ip, lr}
.else
- bl user_enter
+ bl context_tracking_user_enter
.endif
#endif
.endm
diff --git a/kernel/context_tracking.c b/kernel/context_tracking.c
index 247091b..859c8df 100644
--- a/kernel/context_tracking.c
+++ b/kernel/context_tracking.c
@@ -51,6 +51,15 @@ void context_tracking_user_enter(void)
unsigned long flags;
/*
+ * Repeat the user_enter() check here because some archs may be calling
+ * this from asm and if no CPU needs context tracking, they shouldn't
+ * go further. Repeat the check here until they support the static key
+ * check.
+ */
+ if (!static_key_false(&context_tracking_enabled))
+ return;
+
+ /*
* Some contexts may involve an exception occuring in an irq,
* leading to that nesting:
* rcu_irq_enter() rcu_user_exit() rcu_user_exit() rcu_irq_exit()
@@ -151,6 +160,9 @@ void context_tracking_user_exit(void)
{
unsigned long flags;
+ if (!static_key_false(&context_tracking_enabled))
+ return;
+
if (in_interrupt())
return;
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [GIT PULL] arm/context_tracking build fix
2013-09-27 17:15 [GIT PULL] arm/context_tracking build fix Frederic Weisbecker
@ 2013-09-28 6:50 ` Ingo Molnar
0 siblings, 0 replies; 2+ messages in thread
From: Ingo Molnar @ 2013-09-28 6:50 UTC (permalink / raw)
To: Frederic Weisbecker
Cc: LKML, Guenter Roeck, Russell King, Kevin Hilman, Nicolas Pitre,
Anil Kumar, Tony Lindgren, Benoit Cousson
* Frederic Weisbecker <fweisbec@gmail.com> wrote:
> Ingo,
>
> Please pull the context_tracking/fixes branch that can be found at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git
> context_tracking/fixes
>
> Thanks,
> Frederic
> ---
>
> Frederic Weisbecker (1):
> arm: Fix build error with context tracking calls
>
>
> arch/arm/kernel/entry-header.S | 8 ++++----
> kernel/context_tracking.c | 12 ++++++++++++
> 2 files changed, 16 insertions(+), 4 deletions(-)
Pulled into tip:sched/urgent, thanks Frederic!
Ingo
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2013-09-28 6:51 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-09-27 17:15 [GIT PULL] arm/context_tracking build fix Frederic Weisbecker
2013-09-28 6:50 ` Ingo Molnar
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox