Re: [PATCH 2/3] tracing: Move enabling tracepoints to just after mm_init()

From: Paul E. McKenney
Date: Sun Dec 14 2014 - 15:27:06 EST


On Sun, Dec 14, 2014 at 01:20:20PM -0500, Steven Rostedt wrote:
> On Sun, 14 Dec 2014 10:14:44 -0800
> "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx> wrote:
>
>
> > > diff --git a/init/main.c b/init/main.c
> > > index 800a0daede7e..060e60b6aa59 100644
> > > --- a/init/main.c
> > > +++ b/init/main.c
> > > @@ -561,6 +561,9 @@ asmlinkage __visible void __init start_kernel(void)
> > > trap_init();
> > > mm_init();
> > >
> > > + /* trace_printk() and trace points may be used after this */
> > > + trace_init();
> >
> > Or if you aren't going to use call_rcu_sched() before this point, I could
> > move the call_rcu_sched()-relevant initialization to this point. Or make
> > the compiler do it -- I am pretty sure that the per-CPU variables are in
> > place at this point.
>
> Well, we could move trace_init() after rcu_init() for now too, and
> remove my tracepoint patch. But I'd like to have trace_init() go before
> sched_init() since that could possibly use debugging tracepoints as
> well.
>
> So if you could add a rcu_partial_init() that makes calling
> call_rcu_sched() work, that would be great. That could be for 3.20
> then, and for now, I just move trace_init() after rcu_init() which is
> still before irq_init() that Thomas needs for his work.

Sounds like a good approach. I also need to check up on documentation of
which RCU primitives can be used where, I suspect.

Thanx, Paul

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/