Re: Regression :-) Re: [GIT PULL RESEND] x86/jumpmplabel changes forv3.12-rc1

From: Konrad Rzeszutek Wilk
Date: Wed Sep 11 2013 - 14:01:48 EST


On Wed, Sep 11, 2013 at 01:52:37PM -0400, Steven Rostedt wrote:
> On Wed, 11 Sep 2013 13:25:52 -0400
> Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> wrote:
>
>
> > commit 97ce2c88f9ad42e3c60a9beb9fca87abf3639faa
> > Author: Jeremy Fitzhardinge <jeremy.fitzhardinge@xxxxxxxxxx>
> > Date: Wed Oct 12 16:17:54 2011 -0700
> >
> > jump-label: initialize jump-label subsystem much earlier
> >
> > Initialize jump_labels much, much earlier, so they're available for use
> > during system setup.
> >
> > Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@xxxxxxxxxx>
> > Acked-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
> >
> >
> > implies that yes.
>
> Unfortunately it does not. All that patch did was move
> jump_label_init() up more. If anything, it implies "no".
>
> The question is, can we enable jump_labels before jump_label_init()?
>
> Note, we may still be able to (as it seems to work), the thing is, the
> only thing that static_key_slow_inc() does is to tell jump_label_init()
> to enable it. Before jump_label_init() is called, nothing has changed.
> No code modification, all users of paravirt_ticketlocks_enabled are
> still off.

<confused>

I am thins would still work:


47 static __always_inline void arch_spin_unlock(arch_spinlock_t *lock)
148 {
149 if (TICKET_SLOWPATH_FLAG &&
150 static_key_false(&paravirt_ticketlocks_enabled)) {

(from arch/x86/include/asm/spinlock.h) as the static_key_false
would check the key->enabled. Which had been incremented?

Granted there are no patching done yet, but that should still allow
this code path to be taken?
--
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/