Re: [PATCH] paravirt/locks: avoid modifying static key before jump_label_init()

From: Juergen Gross
Date: Fri Oct 27 2017 - 05:21:38 EST


On 27/10/17 10:43, Ingo Molnar wrote:
>
> * Juergen Gross <jgross@xxxxxxxx> wrote:
>
>> Don't try to set the static virt_spin_lock_key to a value before
>> jump_label_init() has been called, as this will result in a WARN().
>>
>> Solve the problem by introducing a new lock_init() hook called after
>> jump_label_init() instead of doing the call inside of
>> smp_prepare_boot_cpu().
>>
>> Signed-off-by: Juergen Gross <jgross@xxxxxxxx>
>> ---
>> Based on kernel/git/tip/tip.git locking/core
>
> Just a quick ping: what's the conclusion of the discussion, do we want this patch
> as-is?

Dou Liyang (CC-ed) suggested another alternative he wanted to test. This
would be much less intrusive. I can send a patch based on his idea in
case he doesn't react in time: he basically suggested moving the call of
native_pv_lock_init() to native_smp_prepare_cpus() - this will need
another small adaption in Xen, but this is really simple.

> Also, it's unclear from the changelog under what circumstances this bug was
> observed and what symptoms there are and how severe the bug - can the warning
> trigger on vanilla v4.14?

No, the patch introducing the bug is in the tip tree only.


Juergen