* [PATCH] jump-label: initialize jump-label subsystem somewhat later
@ 2011-12-14 16:48 David Daney
2011-12-14 16:51 ` Peter Zijlstra
2011-12-14 18:31 ` Sergei Shtylyov
0 siblings, 2 replies; 4+ messages in thread
From: David Daney @ 2011-12-14 16:48 UTC (permalink / raw)
To: ralf, Linus Torvalds, Andrew Morton, linux-mips,
Jeremy Fitzhardinge, Peter Zijlstra
Cc: linux-kernel, Jason Baron, David Daney
From: David Daney <david.daney@cavium.com>
commit 97ce2c88f9ad42e3c60a9beb9fca87abf3639faa breaks MIPS.
The jump-lable initialization does I-Cache flushing after modifying
code. On MIPS this is done by calling through the function pointer
flush_icache_range(). This function pointer is initialized mm_init().
As things stand, we cannot be calling jump_label_init() until after
mm_init() completes, so we move the call down to satisfy this
constraint.
Signed-off-by: David Daney <david.daney@cavium.com>
---
init/main.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/init/main.c b/init/main.c
index 217ed23..8c6a155 100644
--- a/init/main.c
+++ b/init/main.c
@@ -513,8 +513,6 @@ asmlinkage void __init start_kernel(void)
__stop___param - __start___param,
&unknown_bootoption);
- jump_label_init();
-
/*
* These use large bootmem allocations and must precede
* kmem_cache_init()
@@ -526,6 +524,8 @@ asmlinkage void __init start_kernel(void)
trap_init();
mm_init();
+ jump_label_init();
+
/*
* Set up the scheduler prior starting any interrupts (such as the
* timer interrupt). Full topology setup happens at smp_init()
--
1.7.2.3
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] jump-label: initialize jump-label subsystem somewhat later
2011-12-14 16:48 [PATCH] jump-label: initialize jump-label subsystem somewhat later David Daney
@ 2011-12-14 16:51 ` Peter Zijlstra
2011-12-14 17:17 ` David Daney
2011-12-14 18:31 ` Sergei Shtylyov
1 sibling, 1 reply; 4+ messages in thread
From: Peter Zijlstra @ 2011-12-14 16:51 UTC (permalink / raw)
To: David Daney
Cc: ralf, Linus Torvalds, Andrew Morton, linux-mips,
Jeremy Fitzhardinge, linux-kernel, Jason Baron, David Daney
On Wed, 2011-12-14 at 08:48 -0800, David Daney wrote:
> From: David Daney <david.daney@cavium.com>
>
> commit 97ce2c88f9ad42e3c60a9beb9fca87abf3639faa breaks MIPS.
>
> The jump-lable initialization does I-Cache flushing after modifying
> code. On MIPS this is done by calling through the function pointer
> flush_icache_range(). This function pointer is initialized mm_init().
>
> As things stand, we cannot be calling jump_label_init() until after
> mm_init() completes, so we move the call down to satisfy this
> constraint.
I'm fine as long as it stays before sched_init(), which it does. Jeremy
is this still early enough for you?
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] jump-label: initialize jump-label subsystem somewhat later
2011-12-14 16:51 ` Peter Zijlstra
@ 2011-12-14 17:17 ` David Daney
0 siblings, 0 replies; 4+ messages in thread
From: David Daney @ 2011-12-14 17:17 UTC (permalink / raw)
To: Peter Zijlstra
Cc: David Daney, ralf, Linus Torvalds, Andrew Morton, linux-mips,
Jeremy Fitzhardinge, linux-kernel, Jason Baron
On 12/14/2011 08:51 AM, Peter Zijlstra wrote:
> On Wed, 2011-12-14 at 08:48 -0800, David Daney wrote:
>> From: David Daney<david.daney@cavium.com>
>>
>> commit 97ce2c88f9ad42e3c60a9beb9fca87abf3639faa breaks MIPS.
>>
>> The jump-lable initialization does I-Cache flushing after modifying
>> code. On MIPS this is done by calling through the function pointer
>> flush_icache_range(). This function pointer is initialized mm_init().
Actually I misspoke, for MIPS we need jump_label_init() after
trap_init(), not mm_init().
>>
>> As things stand, we cannot be calling jump_label_init() until after
>> mm_init() completes, so we move the call down to satisfy this
>> constraint.
>
> I'm fine as long as it stays before sched_init(), which it does. Jeremy
> is this still early enough for you?
>
Just tested a revised patch that moves it to between trap_init() and
mm_init(), I propose that we do that instead.
New patch in a couple of minutes.
David Daney
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] jump-label: initialize jump-label subsystem somewhat later
2011-12-14 16:48 [PATCH] jump-label: initialize jump-label subsystem somewhat later David Daney
2011-12-14 16:51 ` Peter Zijlstra
@ 2011-12-14 18:31 ` Sergei Shtylyov
1 sibling, 0 replies; 4+ messages in thread
From: Sergei Shtylyov @ 2011-12-14 18:31 UTC (permalink / raw)
To: David Daney
Cc: ralf, Linus Torvalds, Andrew Morton, linux-mips,
Jeremy Fitzhardinge, Peter Zijlstra, linux-kernel, Jason Baron,
David Daney
Hello.
On 12/14/2011 07:48 PM, David Daney wrote:
> From: David Daney <david.daney@cavium.com>
> commit 97ce2c88f9ad42e3c60a9beb9fca87abf3639faa breaks MIPS.
Please also specify that commit's summary (in parens).
> The jump-lable initialization does I-Cache flushing after modifying
Label.
> code. On MIPS this is done by calling through the function pointer
> flush_icache_range(). This function pointer is initialized mm_init().
"By" missing?
> As things stand, we cannot be calling jump_label_init() until after
> mm_init() completes, so we move the call down to satisfy this
> constraint.
> Signed-off-by: David Daney<david.daney@cavium.com>
WBR, Sergei
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2011-12-14 17:32 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-12-14 16:48 [PATCH] jump-label: initialize jump-label subsystem somewhat later David Daney
2011-12-14 16:51 ` Peter Zijlstra
2011-12-14 17:17 ` David Daney
2011-12-14 18:31 ` Sergei Shtylyov
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).