Messages in this thread |  | | Date | Wed, 28 Sep 2011 19:14:52 -0700 | | From | Jeremy Fitzhardinge <> | | Subject | Jump Label initialization |
| |
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?
Thanks, J
|  |