Re: [PATCH RFC V4 10/10] jump-label: initialize jump-label subsystem much earlier

Jason Baron
2011-10-13T14:00:14Z

On Thu, Oct 13, 2011 at 12:43:48PM +0200, Peter Zijlstra wrote:
> On Wed, 2011-10-12 at 17:08 -0700, Jeremy Fitzhardinge wrote:
> > From: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
> >
> > Initialize jump_labels much earlier, we can use them.
>
> We can use them, where? how? what?, that sentence just begs for more.
>
> > diff --git a/init/main.c b/init/main.c
> > index 2a9b88a..f4094ed 100644
> > --- a/init/main.c
> > +++ b/init/main.c
> > @@ -637,6 +637,7 @@ asmlinkage void __init start_kernel(void)
> > acpi_early_init(); /* before LAPIC and SMP init */
> > sfi_init_late();
> >
> > + jump_label_init();
> > ftrace_init();
> >
> > /* Do the rest non-__init'ed, we're now alive */
>
> Can we push them much earlier still? If possible I'd like them to be
> before sched_init() so that I might use them there, if not possible, at
> the very least before enabling interrupts would be nice.
>
>

Yes, earlier still would be good. Also, it still bothers me a bit that
jump_label_inc()/dec() could be called and the branch not updated until
the jump label initialization. I feel like there should be a WARN() for
this case...ie:

jump_label_inc()/dec() {
if (!jump_label_initialized)
WARN("calling branch update before subsystem initialization");
}