Re: Jump Label initialization

From: Peter Zijlstra
Date: Thu Sep 29 2011 - 03:38:53 EST


On Wed, 2011-09-28 at 19:14 -0700, Jeremy Fitzhardinge wrote:
> Hi all,
>
> I'm trying to use the jump label machinery as part of the pv ticketlock
> work I'm doing on x86.
>
> The problem I'm having at the moment is that I do my spinlock setup in
> smp_prepare_boot_cpu(), which happens before jump_label_init() gets
> called, and so the latter goes and nops out all my enabled jump label key.
>
> I'm experimenting at the moment with a patch to allow
> jump_label_enable() to be called fairly early, and have that be
> respected by jump_label_init(). I'm doing this by replacing
> arch_jump_label_poke_text_early() with
> arch_jump_label_transform_early(), which shares most of its code with
> its non-early variant, except that it expects to run in a pre-SMP
> environment.
>
> Does this seem plausible? (I haven't tested it yet.)
>
> The x86, mips and sparc patches are fairly simple; I forgot to look at
> powerpc, and I didn't fully investigate s390.
>
> While my current use-case is x86-specific, it seems generally useful to
> make the jump_label machinery available as early as possible. I wonder
> if you have any suggestions about how to handle this?

I also remember talking to Jason about a way to initialize a jump label
enabled, instead of the default disabled.

So yeah, I think your stuff would be useful..
--
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/