Re: [PATCH 1/1] linux headers: header file(s) changes to enablespinlock use jumplabel

From: Gleb Natapov
Date: Sun Feb 19 2012 - 04:26:11 EST


On Sat, Feb 18, 2012 at 03:21:12PM -0800, Jeremy Fitzhardinge wrote:
> On 02/17/2012 12:25 AM, Raghavendra K T wrote:
> > From: Raghavendra K T <raghavendra.kt@xxxxxxxxxxxxxxxxxx>
> >
> > Changelog:
> > Reordering in header files and adding declarations to enable
> > spinlock header to use jump label technique.
> >
> > Signed-off-by: Raghavendra K T <raghavendra.kt@xxxxxxxxxxxxxxxxxx>
> > ---
> > I was re-basing Jermey patches (https://lkml.org/lkml/2011/10/12/496), while working
> > on paravirtualized ticket spinlock (3.3.-rc3).
> >
> > Currently <jump_label.h> includes <workqueue.h> (commit: b202952075f62603bea9bfb6ebc6b0420db11949)
> >
> > So we get following error when we try to include jump_label.h from
> > arch/x86/include/asm/spinlock.h because of cyclic dependency
> > <spinlock.h> -> <jumplabe.h> -> <workque.h> -> ... <seqlock.h> -> <spinlock.h>
>
> What about splitting the jump_label_key_deferred stuff into a separate
> jump_label_deferred.h, and just include that where it's needed?
>
Andrew Jones did exactly that (CCed). But does pvlock have to use jump
label? I looked at the code and it is used like paravirt patching. Meaning
it is patched only once on a boot up when XEN is detected. May be use
paravirt patching instead of jump label? What if jump label will want
to use spinlock for some reason in the future (it uses mutex currently)?

--
Gleb.
--
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/