2019-06-27 08:54:52

by Zhenzhong Duan

[permalink] [raw]
Subject: [PATCH RESEND] Revert "x86/paravirt: Set up the virt_spin_lock_key after static keys get initialized"

This reverts commit ca5d376e17072c1b60c3fee66f3be58ef018952d.

Commit 8990cac6e5ea ("x86/jump_label: Initialize static branching
early") adds jump_label_init() call in setup_arch() to make static
keys initialized early, so we could use the original simpler code
again.

Signed-off-by: Zhenzhong Duan <[email protected]>
Cc: Waiman Long <[email protected]>
Cc: Peter Zijlstra (Intel) <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: Borislav Petkov <[email protected]>
Cc: Boris Ostrovsky <[email protected]>
Cc: Juergen Gross <[email protected]>
Cc: Stefano Stabellini <[email protected]>
Cc: Dou Liyang <[email protected]>
---
arch/x86/kernel/smpboot.c | 3 +--
arch/x86/xen/spinlock.c | 6 ++----
2 files changed, 3 insertions(+), 6 deletions(-)

diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c
index 362dd89..44472ca 100644
--- a/arch/x86/kernel/smpboot.c
+++ b/arch/x86/kernel/smpboot.c
@@ -1308,8 +1308,6 @@ void __init native_smp_prepare_cpus(unsigned int max_cpus)
pr_info("CPU0: ");
print_cpu_info(&cpu_data(0));

- native_pv_lock_init();
-
uv_system_init();

set_mtrr_aps_delayed_init();
@@ -1339,6 +1337,7 @@ void __init native_smp_prepare_boot_cpu(void)
/* already set me in cpu_online_mask in boot_cpu_init() */
cpumask_set_cpu(me, cpu_callout_mask);
cpu_set_state_online(me);
+ native_pv_lock_init();
}

void __init calculate_max_logical_packages(void)
diff --git a/arch/x86/xen/spinlock.c b/arch/x86/xen/spinlock.c
index 3776122..6deb490 100644
--- a/arch/x86/xen/spinlock.c
+++ b/arch/x86/xen/spinlock.c
@@ -68,11 +68,8 @@ void xen_init_lock_cpu(int cpu)
int irq;
char *name;

- if (!xen_pvspin) {
- if (cpu == 0)
- static_branch_disable(&virt_spin_lock_key);
+ if (!xen_pvspin)
return;
- }

WARN(per_cpu(lock_kicker_irq, cpu) >= 0, "spinlock on CPU%d exists on IRQ%d!\n",
cpu, per_cpu(lock_kicker_irq, cpu));
@@ -124,6 +121,7 @@ void __init xen_init_spinlocks(void)

if (!xen_pvspin) {
printk(KERN_DEBUG "xen: PV spinlocks disabled\n");
+ static_branch_disable(&virt_spin_lock_key);
return;
}
printk(KERN_DEBUG "xen: PV spinlocks enabled\n");
--
1.8.3.1


2019-06-27 21:25:22

by Thomas Gleixner

[permalink] [raw]
Subject: Re: [PATCH RESEND] Revert "x86/paravirt: Set up the virt_spin_lock_key after static keys get initialized"

On Wed, 26 Jun 2019, Zhenzhong Duan wrote:

> This reverts commit ca5d376e17072c1b60c3fee66f3be58ef018952d.
>
> Commit 8990cac6e5ea ("x86/jump_label: Initialize static branching
> early") adds jump_label_init() call in setup_arch() to make static
> keys initialized early, so we could use the original simpler code
> again.
>
> Signed-off-by: Zhenzhong Duan <[email protected]>
> Cc: Waiman Long <[email protected]>
> Cc: Peter Zijlstra (Intel) <[email protected]>
> Cc: Thomas Gleixner <[email protected]>
> Cc: Ingo Molnar <[email protected]>
> Cc: Borislav Petkov <[email protected]>
> Cc: Boris Ostrovsky <[email protected]>

Boris,

want you to pick that up or should I?

In case you take it:

Reviewed-by: Thomas Gleixner <[email protected]>

2019-07-02 03:59:57

by Boris Ostrovsky

[permalink] [raw]
Subject: Re: [PATCH RESEND] Revert "x86/paravirt: Set up the virt_spin_lock_key after static keys get initialized"

On Thu, Jun 27, 2019 at 11:24:41PM +0200, Thomas Gleixner wrote:
> On Wed, 26 Jun 2019, Zhenzhong Duan wrote:
>
> > This reverts commit ca5d376e17072c1b60c3fee66f3be58ef018952d.
> >
> > Commit 8990cac6e5ea ("x86/jump_label: Initialize static branching
> > early") adds jump_label_init() call in setup_arch() to make static
> > keys initialized early, so we could use the original simpler code
> > again.
> >
> > Signed-off-by: Zhenzhong Duan <[email protected]>
> > Cc: Waiman Long <[email protected]>
> > Cc: Peter Zijlstra (Intel) <[email protected]>
> > Cc: Thomas Gleixner <[email protected]>
> > Cc: Ingo Molnar <[email protected]>
> > Cc: Borislav Petkov <[email protected]>
> > Cc: Boris Ostrovsky <[email protected]>
>
> Boris,
>
> want you to pick that up or should I?
>
> In case you take it:
>
> Reviewed-by: Thomas Gleixner <[email protected]>


We will take it via Xen tree, thanks.

-boris

2019-07-10 12:09:37

by Jürgen Groß

[permalink] [raw]
Subject: Re: [PATCH RESEND] Revert "x86/paravirt: Set up the virt_spin_lock_key after static keys get initialized"

On 26.06.19 10:57, Zhenzhong Duan wrote:
> This reverts commit ca5d376e17072c1b60c3fee66f3be58ef018952d.
>
> Commit 8990cac6e5ea ("x86/jump_label: Initialize static branching
> early") adds jump_label_init() call in setup_arch() to make static
> keys initialized early, so we could use the original simpler code
> again.
>
> Signed-off-by: Zhenzhong Duan <[email protected]>

Applied to xen/tip.git for-linus-5.3


Juergen