* [PATCH v2] x86, locking/spinlocks: Remove paravirt_ticketlocks_enabled
@ 2017-01-12 20:27 Waiman Long
2017-01-12 21:39 ` Boris Ostrovsky
` (2 more replies)
0 siblings, 3 replies; 7+ messages in thread
From: Waiman Long @ 2017-01-12 20:27 UTC (permalink / raw)
To: Peter Zijlstra, Ingo Molnar, Thomas Gleixner, H. Peter Anvin
Cc: linux-arch, x86, linux-kernel, virtualization, xen-devel, kvm,
Paolo Bonzini, Radim Krčmář,
Jeremy Fitzhardinge, Chris Wright, Alok Kataria, Rusty Russell,
Boris Ostrovsky, Juergen Gross, Waiman Long
This is a follow-up of commit cfd8983f03c7b2 ("x86, locking/spinlocks:
Remove ticket (spin)lock implementation"). The static_key structure
paravirt_ticketlocks_enabled is now removed as it is no longer used.
As a result, the init functions kvm_spinlock_init_jump() and
xen_init_spinlocks_jump() are also removed.
A simple build and boot test was done to verify it.
Signed-off-by: Waiman Long <longman@redhat.com>
---
v1->v2:
- Remove init functions kvm_spinlock_init_jump() and
xen_init_spinlocks_jump().
arch/x86/include/asm/spinlock.h | 3 ---
arch/x86/kernel/kvm.c | 14 --------------
arch/x86/kernel/paravirt-spinlocks.c | 3 ---
arch/x86/xen/spinlock.c | 19 -------------------
4 files changed, 39 deletions(-)
diff --git a/arch/x86/include/asm/spinlock.h b/arch/x86/include/asm/spinlock.h
index 921bea7..6d39190 100644
--- a/arch/x86/include/asm/spinlock.h
+++ b/arch/x86/include/asm/spinlock.h
@@ -23,9 +23,6 @@
/* How long a lock should spin before we consider blocking */
#define SPIN_THRESHOLD (1 << 15)
-extern struct static_key paravirt_ticketlocks_enabled;
-static __always_inline bool static_key_false(struct static_key *key);
-
#include <asm/qspinlock.h>
/*
diff --git a/arch/x86/kernel/kvm.c b/arch/x86/kernel/kvm.c
index 36bc664..099fcba 100644
--- a/arch/x86/kernel/kvm.c
+++ b/arch/x86/kernel/kvm.c
@@ -620,18 +620,4 @@ void __init kvm_spinlock_init(void)
}
}
-static __init int kvm_spinlock_init_jump(void)
-{
- if (!kvm_para_available())
- return 0;
- if (!kvm_para_has_feature(KVM_FEATURE_PV_UNHALT))
- return 0;
-
- static_key_slow_inc(¶virt_ticketlocks_enabled);
- printk(KERN_INFO "KVM setup paravirtual spinlock\n");
-
- return 0;
-}
-early_initcall(kvm_spinlock_init_jump);
-
#endif /* CONFIG_PARAVIRT_SPINLOCKS */
diff --git a/arch/x86/kernel/paravirt-spinlocks.c b/arch/x86/kernel/paravirt-spinlocks.c
index 6d4bf81..6259327 100644
--- a/arch/x86/kernel/paravirt-spinlocks.c
+++ b/arch/x86/kernel/paravirt-spinlocks.c
@@ -42,6 +42,3 @@ struct pv_lock_ops pv_lock_ops = {
#endif /* SMP */
};
EXPORT_SYMBOL(pv_lock_ops);
-
-struct static_key paravirt_ticketlocks_enabled = STATIC_KEY_INIT_FALSE;
-EXPORT_SYMBOL(paravirt_ticketlocks_enabled);
diff --git a/arch/x86/xen/spinlock.c b/arch/x86/xen/spinlock.c
index e8a9ea7..25a7c43 100644
--- a/arch/x86/xen/spinlock.c
+++ b/arch/x86/xen/spinlock.c
@@ -141,25 +141,6 @@ void __init xen_init_spinlocks(void)
pv_lock_ops.vcpu_is_preempted = PV_CALLEE_SAVE(xen_vcpu_stolen);
}
-/*
- * While the jump_label init code needs to happend _after_ the jump labels are
- * enabled and before SMP is started. Hence we use pre-SMP initcall level
- * init. We cannot do it in xen_init_spinlocks as that is done before
- * jump labels are activated.
- */
-static __init int xen_init_spinlocks_jump(void)
-{
- if (!xen_pvspin)
- return 0;
-
- if (!xen_domain())
- return 0;
-
- static_key_slow_inc(¶virt_ticketlocks_enabled);
- return 0;
-}
-early_initcall(xen_init_spinlocks_jump);
-
static __init int xen_parse_nopvspin(char *arg)
{
xen_pvspin = false;
--
1.8.3.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v2] x86, locking/spinlocks: Remove paravirt_ticketlocks_enabled
2017-01-12 20:27 [PATCH v2] x86, locking/spinlocks: Remove paravirt_ticketlocks_enabled Waiman Long
@ 2017-01-12 21:39 ` Boris Ostrovsky
2017-01-12 21:39 ` Boris Ostrovsky
2017-01-14 9:59 ` [tip:locking/core] locking/spinlocks/x86, paravirt: " tip-bot for Waiman Long
2 siblings, 0 replies; 7+ messages in thread
From: Boris Ostrovsky @ 2017-01-12 21:39 UTC (permalink / raw)
To: Waiman Long, Peter Zijlstra, Ingo Molnar, Thomas Gleixner,
H. Peter Anvin
Cc: linux-arch, x86, linux-kernel, virtualization, xen-devel, kvm,
Paolo Bonzini, Radim Krčmář,
Jeremy Fitzhardinge, Chris Wright, Alok Kataria, Rusty Russell,
Juergen Gross
> diff --git a/arch/x86/xen/spinlock.c b/arch/x86/xen/spinlock.c
> index e8a9ea7..25a7c43 100644
> --- a/arch/x86/xen/spinlock.c
> +++ b/arch/x86/xen/spinlock.c
> @@ -141,25 +141,6 @@ void __init xen_init_spinlocks(void)
> pv_lock_ops.vcpu_is_preempted = PV_CALLEE_SAVE(xen_vcpu_stolen);
> }
>
> -/*
> - * While the jump_label init code needs to happend _after_ the jump labels are
> - * enabled and before SMP is started. Hence we use pre-SMP initcall level
> - * init. We cannot do it in xen_init_spinlocks as that is done before
> - * jump labels are activated.
> - */
> -static __init int xen_init_spinlocks_jump(void)
> -{
> - if (!xen_pvspin)
> - return 0;
> -
> - if (!xen_domain())
> - return 0;
> -
> - static_key_slow_inc(¶virt_ticketlocks_enabled);
> - return 0;
> -}
> -early_initcall(xen_init_spinlocks_jump);
> -
> static __init int xen_parse_nopvspin(char *arg)
> {
> xen_pvspin = false;
Xen bits:
Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2] x86, locking/spinlocks: Remove paravirt_ticketlocks_enabled
@ 2017-01-12 21:39 ` Boris Ostrovsky
0 siblings, 0 replies; 7+ messages in thread
From: Boris Ostrovsky @ 2017-01-12 21:39 UTC (permalink / raw)
To: Waiman Long, Peter Zijlstra, Ingo Molnar, Thomas Gleixner,
H. Peter Anvin
Cc: linux-arch, Juergen Gross, Jeremy Fitzhardinge, kvm,
Radim Krčmář,
x86, linux-kernel, virtualization, Chris Wright, Paolo Bonzini,
xen-devel, Alok Kataria
> diff --git a/arch/x86/xen/spinlock.c b/arch/x86/xen/spinlock.c
> index e8a9ea7..25a7c43 100644
> --- a/arch/x86/xen/spinlock.c
> +++ b/arch/x86/xen/spinlock.c
> @@ -141,25 +141,6 @@ void __init xen_init_spinlocks(void)
> pv_lock_ops.vcpu_is_preempted = PV_CALLEE_SAVE(xen_vcpu_stolen);
> }
>
> -/*
> - * While the jump_label init code needs to happend _after_ the jump labels are
> - * enabled and before SMP is started. Hence we use pre-SMP initcall level
> - * init. We cannot do it in xen_init_spinlocks as that is done before
> - * jump labels are activated.
> - */
> -static __init int xen_init_spinlocks_jump(void)
> -{
> - if (!xen_pvspin)
> - return 0;
> -
> - if (!xen_domain())
> - return 0;
> -
> - static_key_slow_inc(¶virt_ticketlocks_enabled);
> - return 0;
> -}
> -early_initcall(xen_init_spinlocks_jump);
> -
> static __init int xen_parse_nopvspin(char *arg)
> {
> xen_pvspin = false;
Xen bits:
Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2] x86, locking/spinlocks: Remove paravirt_ticketlocks_enabled
2017-01-12 20:27 [PATCH v2] x86, locking/spinlocks: Remove paravirt_ticketlocks_enabled Waiman Long
@ 2017-01-12 21:39 ` Boris Ostrovsky
2017-01-12 21:39 ` Boris Ostrovsky
2017-01-14 9:59 ` [tip:locking/core] locking/spinlocks/x86, paravirt: " tip-bot for Waiman Long
2 siblings, 0 replies; 7+ messages in thread
From: Boris Ostrovsky @ 2017-01-12 21:39 UTC (permalink / raw)
To: Waiman Long, Peter Zijlstra, Ingo Molnar, Thomas Gleixner,
H. Peter Anvin
Cc: linux-arch, Juergen Gross, Jeremy Fitzhardinge, Rusty Russell,
kvm, Radim Krčmář,
x86, linux-kernel, virtualization, Chris Wright, Paolo Bonzini,
xen-devel, Alok Kataria
> diff --git a/arch/x86/xen/spinlock.c b/arch/x86/xen/spinlock.c
> index e8a9ea7..25a7c43 100644
> --- a/arch/x86/xen/spinlock.c
> +++ b/arch/x86/xen/spinlock.c
> @@ -141,25 +141,6 @@ void __init xen_init_spinlocks(void)
> pv_lock_ops.vcpu_is_preempted = PV_CALLEE_SAVE(xen_vcpu_stolen);
> }
>
> -/*
> - * While the jump_label init code needs to happend _after_ the jump labels are
> - * enabled and before SMP is started. Hence we use pre-SMP initcall level
> - * init. We cannot do it in xen_init_spinlocks as that is done before
> - * jump labels are activated.
> - */
> -static __init int xen_init_spinlocks_jump(void)
> -{
> - if (!xen_pvspin)
> - return 0;
> -
> - if (!xen_domain())
> - return 0;
> -
> - static_key_slow_inc(¶virt_ticketlocks_enabled);
> - return 0;
> -}
> -early_initcall(xen_init_spinlocks_jump);
> -
> static __init int xen_parse_nopvspin(char *arg)
> {
> xen_pvspin = false;
Xen bits:
Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 7+ messages in thread
* [tip:locking/core] locking/spinlocks/x86, paravirt: Remove paravirt_ticketlocks_enabled
2017-01-12 20:27 [PATCH v2] x86, locking/spinlocks: Remove paravirt_ticketlocks_enabled Waiman Long
2017-01-12 21:39 ` Boris Ostrovsky
2017-01-12 21:39 ` Boris Ostrovsky
@ 2017-01-14 9:59 ` tip-bot for Waiman Long
2 siblings, 0 replies; 7+ messages in thread
From: tip-bot for Waiman Long @ 2017-01-14 9:59 UTC (permalink / raw)
To: linux-tip-commits
Cc: boris.ostrovsky, torvalds, hpa, chrisw, rkrcmar, akataria, rusty,
mingo, longman, peterz, tglx, jgross, linux-kernel, jeremy,
pbonzini
Commit-ID: aef591cd3d1ddccb268f64c836d38382007373c1
Gitweb: http://git.kernel.org/tip/aef591cd3d1ddccb268f64c836d38382007373c1
Author: Waiman Long <longman@redhat.com>
AuthorDate: Thu, 12 Jan 2017 15:27:58 -0500
Committer: Ingo Molnar <mingo@kernel.org>
CommitDate: Sat, 14 Jan 2017 09:33:46 +0100
locking/spinlocks/x86, paravirt: Remove paravirt_ticketlocks_enabled
This is a follow-up of commit:
cfd8983f03c7b2 ("x86, locking/spinlocks: Remove ticket (spin)lock implementation")
The static_key structure 'paravirt_ticketlocks_enabled' is now removed as it is
no longer used.
As a result, the init functions kvm_spinlock_init_jump() and
xen_init_spinlocks_jump() are also removed.
A simple build and boot test was done to verify it.
Signed-off-by: Waiman Long <longman@redhat.com>
Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: Alok Kataria <akataria@vmware.com>
Cc: Chris Wright <chrisw@sous-sol.org>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>
Cc: Juergen Gross <jgross@suse.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Radim Krčmář <rkrcmar@redhat.com>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: kvm@vger.kernel.org
Cc: linux-arch@vger.kernel.org
Cc: virtualization@lists.linux-foundation.org
Cc: xen-devel@lists.xenproject.org
Link: http://lkml.kernel.org/r/1484252878-1962-1-git-send-email-longman@redhat.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
arch/x86/include/asm/spinlock.h | 3 ---
arch/x86/kernel/kvm.c | 14 --------------
arch/x86/kernel/paravirt-spinlocks.c | 3 ---
arch/x86/xen/spinlock.c | 19 -------------------
4 files changed, 39 deletions(-)
diff --git a/arch/x86/include/asm/spinlock.h b/arch/x86/include/asm/spinlock.h
index 921bea7..6d39190 100644
--- a/arch/x86/include/asm/spinlock.h
+++ b/arch/x86/include/asm/spinlock.h
@@ -23,9 +23,6 @@
/* How long a lock should spin before we consider blocking */
#define SPIN_THRESHOLD (1 << 15)
-extern struct static_key paravirt_ticketlocks_enabled;
-static __always_inline bool static_key_false(struct static_key *key);
-
#include <asm/qspinlock.h>
/*
diff --git a/arch/x86/kernel/kvm.c b/arch/x86/kernel/kvm.c
index 36bc664..099fcba 100644
--- a/arch/x86/kernel/kvm.c
+++ b/arch/x86/kernel/kvm.c
@@ -620,18 +620,4 @@ void __init kvm_spinlock_init(void)
}
}
-static __init int kvm_spinlock_init_jump(void)
-{
- if (!kvm_para_available())
- return 0;
- if (!kvm_para_has_feature(KVM_FEATURE_PV_UNHALT))
- return 0;
-
- static_key_slow_inc(¶virt_ticketlocks_enabled);
- printk(KERN_INFO "KVM setup paravirtual spinlock\n");
-
- return 0;
-}
-early_initcall(kvm_spinlock_init_jump);
-
#endif /* CONFIG_PARAVIRT_SPINLOCKS */
diff --git a/arch/x86/kernel/paravirt-spinlocks.c b/arch/x86/kernel/paravirt-spinlocks.c
index 6d4bf81..6259327 100644
--- a/arch/x86/kernel/paravirt-spinlocks.c
+++ b/arch/x86/kernel/paravirt-spinlocks.c
@@ -42,6 +42,3 @@ struct pv_lock_ops pv_lock_ops = {
#endif /* SMP */
};
EXPORT_SYMBOL(pv_lock_ops);
-
-struct static_key paravirt_ticketlocks_enabled = STATIC_KEY_INIT_FALSE;
-EXPORT_SYMBOL(paravirt_ticketlocks_enabled);
diff --git a/arch/x86/xen/spinlock.c b/arch/x86/xen/spinlock.c
index e8a9ea7..25a7c43 100644
--- a/arch/x86/xen/spinlock.c
+++ b/arch/x86/xen/spinlock.c
@@ -141,25 +141,6 @@ void __init xen_init_spinlocks(void)
pv_lock_ops.vcpu_is_preempted = PV_CALLEE_SAVE(xen_vcpu_stolen);
}
-/*
- * While the jump_label init code needs to happend _after_ the jump labels are
- * enabled and before SMP is started. Hence we use pre-SMP initcall level
- * init. We cannot do it in xen_init_spinlocks as that is done before
- * jump labels are activated.
- */
-static __init int xen_init_spinlocks_jump(void)
-{
- if (!xen_pvspin)
- return 0;
-
- if (!xen_domain())
- return 0;
-
- static_key_slow_inc(¶virt_ticketlocks_enabled);
- return 0;
-}
-early_initcall(xen_init_spinlocks_jump);
-
static __init int xen_parse_nopvspin(char *arg)
{
xen_pvspin = false;
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v2] x86, locking/spinlocks: Remove paravirt_ticketlocks_enabled
@ 2017-01-12 20:27 Waiman Long
0 siblings, 0 replies; 7+ messages in thread
From: Waiman Long @ 2017-01-12 20:27 UTC (permalink / raw)
To: Peter Zijlstra, Ingo Molnar, Thomas Gleixner, H. Peter Anvin
Cc: linux-arch, Juergen Gross, Jeremy Fitzhardinge, kvm,
Radim Krčmář,
x86, linux-kernel, virtualization, Chris Wright, Waiman Long,
Paolo Bonzini, xen-devel, Alok Kataria, Boris Ostrovsky
This is a follow-up of commit cfd8983f03c7b2 ("x86, locking/spinlocks:
Remove ticket (spin)lock implementation"). The static_key structure
paravirt_ticketlocks_enabled is now removed as it is no longer used.
As a result, the init functions kvm_spinlock_init_jump() and
xen_init_spinlocks_jump() are also removed.
A simple build and boot test was done to verify it.
Signed-off-by: Waiman Long <longman@redhat.com>
---
v1->v2:
- Remove init functions kvm_spinlock_init_jump() and
xen_init_spinlocks_jump().
arch/x86/include/asm/spinlock.h | 3 ---
arch/x86/kernel/kvm.c | 14 --------------
arch/x86/kernel/paravirt-spinlocks.c | 3 ---
arch/x86/xen/spinlock.c | 19 -------------------
4 files changed, 39 deletions(-)
diff --git a/arch/x86/include/asm/spinlock.h b/arch/x86/include/asm/spinlock.h
index 921bea7..6d39190 100644
--- a/arch/x86/include/asm/spinlock.h
+++ b/arch/x86/include/asm/spinlock.h
@@ -23,9 +23,6 @@
/* How long a lock should spin before we consider blocking */
#define SPIN_THRESHOLD (1 << 15)
-extern struct static_key paravirt_ticketlocks_enabled;
-static __always_inline bool static_key_false(struct static_key *key);
-
#include <asm/qspinlock.h>
/*
diff --git a/arch/x86/kernel/kvm.c b/arch/x86/kernel/kvm.c
index 36bc664..099fcba 100644
--- a/arch/x86/kernel/kvm.c
+++ b/arch/x86/kernel/kvm.c
@@ -620,18 +620,4 @@ void __init kvm_spinlock_init(void)
}
}
-static __init int kvm_spinlock_init_jump(void)
-{
- if (!kvm_para_available())
- return 0;
- if (!kvm_para_has_feature(KVM_FEATURE_PV_UNHALT))
- return 0;
-
- static_key_slow_inc(¶virt_ticketlocks_enabled);
- printk(KERN_INFO "KVM setup paravirtual spinlock\n");
-
- return 0;
-}
-early_initcall(kvm_spinlock_init_jump);
-
#endif /* CONFIG_PARAVIRT_SPINLOCKS */
diff --git a/arch/x86/kernel/paravirt-spinlocks.c b/arch/x86/kernel/paravirt-spinlocks.c
index 6d4bf81..6259327 100644
--- a/arch/x86/kernel/paravirt-spinlocks.c
+++ b/arch/x86/kernel/paravirt-spinlocks.c
@@ -42,6 +42,3 @@ struct pv_lock_ops pv_lock_ops = {
#endif /* SMP */
};
EXPORT_SYMBOL(pv_lock_ops);
-
-struct static_key paravirt_ticketlocks_enabled = STATIC_KEY_INIT_FALSE;
-EXPORT_SYMBOL(paravirt_ticketlocks_enabled);
diff --git a/arch/x86/xen/spinlock.c b/arch/x86/xen/spinlock.c
index e8a9ea7..25a7c43 100644
--- a/arch/x86/xen/spinlock.c
+++ b/arch/x86/xen/spinlock.c
@@ -141,25 +141,6 @@ void __init xen_init_spinlocks(void)
pv_lock_ops.vcpu_is_preempted = PV_CALLEE_SAVE(xen_vcpu_stolen);
}
-/*
- * While the jump_label init code needs to happend _after_ the jump labels are
- * enabled and before SMP is started. Hence we use pre-SMP initcall level
- * init. We cannot do it in xen_init_spinlocks as that is done before
- * jump labels are activated.
- */
-static __init int xen_init_spinlocks_jump(void)
-{
- if (!xen_pvspin)
- return 0;
-
- if (!xen_domain())
- return 0;
-
- static_key_slow_inc(¶virt_ticketlocks_enabled);
- return 0;
-}
-early_initcall(xen_init_spinlocks_jump);
-
static __init int xen_parse_nopvspin(char *arg)
{
xen_pvspin = false;
--
1.8.3.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v2] x86, locking/spinlocks: Remove paravirt_ticketlocks_enabled
@ 2017-01-12 20:27 Waiman Long
0 siblings, 0 replies; 7+ messages in thread
From: Waiman Long @ 2017-01-12 20:27 UTC (permalink / raw)
To: Peter Zijlstra, Ingo Molnar, Thomas Gleixner, H. Peter Anvin
Cc: linux-arch, Juergen Gross, Jeremy Fitzhardinge, Rusty Russell,
kvm, Radim Krčmář,
x86, linux-kernel, virtualization, Chris Wright, Waiman Long,
Paolo Bonzini, xen-devel, Alok Kataria, Boris Ostrovsky
This is a follow-up of commit cfd8983f03c7b2 ("x86, locking/spinlocks:
Remove ticket (spin)lock implementation"). The static_key structure
paravirt_ticketlocks_enabled is now removed as it is no longer used.
As a result, the init functions kvm_spinlock_init_jump() and
xen_init_spinlocks_jump() are also removed.
A simple build and boot test was done to verify it.
Signed-off-by: Waiman Long <longman@redhat.com>
---
v1->v2:
- Remove init functions kvm_spinlock_init_jump() and
xen_init_spinlocks_jump().
arch/x86/include/asm/spinlock.h | 3 ---
arch/x86/kernel/kvm.c | 14 --------------
arch/x86/kernel/paravirt-spinlocks.c | 3 ---
arch/x86/xen/spinlock.c | 19 -------------------
4 files changed, 39 deletions(-)
diff --git a/arch/x86/include/asm/spinlock.h b/arch/x86/include/asm/spinlock.h
index 921bea7..6d39190 100644
--- a/arch/x86/include/asm/spinlock.h
+++ b/arch/x86/include/asm/spinlock.h
@@ -23,9 +23,6 @@
/* How long a lock should spin before we consider blocking */
#define SPIN_THRESHOLD (1 << 15)
-extern struct static_key paravirt_ticketlocks_enabled;
-static __always_inline bool static_key_false(struct static_key *key);
-
#include <asm/qspinlock.h>
/*
diff --git a/arch/x86/kernel/kvm.c b/arch/x86/kernel/kvm.c
index 36bc664..099fcba 100644
--- a/arch/x86/kernel/kvm.c
+++ b/arch/x86/kernel/kvm.c
@@ -620,18 +620,4 @@ void __init kvm_spinlock_init(void)
}
}
-static __init int kvm_spinlock_init_jump(void)
-{
- if (!kvm_para_available())
- return 0;
- if (!kvm_para_has_feature(KVM_FEATURE_PV_UNHALT))
- return 0;
-
- static_key_slow_inc(¶virt_ticketlocks_enabled);
- printk(KERN_INFO "KVM setup paravirtual spinlock\n");
-
- return 0;
-}
-early_initcall(kvm_spinlock_init_jump);
-
#endif /* CONFIG_PARAVIRT_SPINLOCKS */
diff --git a/arch/x86/kernel/paravirt-spinlocks.c b/arch/x86/kernel/paravirt-spinlocks.c
index 6d4bf81..6259327 100644
--- a/arch/x86/kernel/paravirt-spinlocks.c
+++ b/arch/x86/kernel/paravirt-spinlocks.c
@@ -42,6 +42,3 @@ struct pv_lock_ops pv_lock_ops = {
#endif /* SMP */
};
EXPORT_SYMBOL(pv_lock_ops);
-
-struct static_key paravirt_ticketlocks_enabled = STATIC_KEY_INIT_FALSE;
-EXPORT_SYMBOL(paravirt_ticketlocks_enabled);
diff --git a/arch/x86/xen/spinlock.c b/arch/x86/xen/spinlock.c
index e8a9ea7..25a7c43 100644
--- a/arch/x86/xen/spinlock.c
+++ b/arch/x86/xen/spinlock.c
@@ -141,25 +141,6 @@ void __init xen_init_spinlocks(void)
pv_lock_ops.vcpu_is_preempted = PV_CALLEE_SAVE(xen_vcpu_stolen);
}
-/*
- * While the jump_label init code needs to happend _after_ the jump labels are
- * enabled and before SMP is started. Hence we use pre-SMP initcall level
- * init. We cannot do it in xen_init_spinlocks as that is done before
- * jump labels are activated.
- */
-static __init int xen_init_spinlocks_jump(void)
-{
- if (!xen_pvspin)
- return 0;
-
- if (!xen_domain())
- return 0;
-
- static_key_slow_inc(¶virt_ticketlocks_enabled);
- return 0;
-}
-early_initcall(xen_init_spinlocks_jump);
-
static __init int xen_parse_nopvspin(char *arg)
{
xen_pvspin = false;
--
1.8.3.1
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
^ permalink raw reply related [flat|nested] 7+ messages in thread
end of thread, other threads:[~2017-01-14 10:02 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-01-12 20:27 [PATCH v2] x86, locking/spinlocks: Remove paravirt_ticketlocks_enabled Waiman Long
2017-01-12 21:39 ` Boris Ostrovsky
2017-01-12 21:39 ` Boris Ostrovsky
2017-01-12 21:39 ` Boris Ostrovsky
2017-01-14 9:59 ` [tip:locking/core] locking/spinlocks/x86, paravirt: " tip-bot for Waiman Long
-- strict thread matches above, loose matches on Subject: below --
2017-01-12 20:27 [PATCH v2] x86, locking/spinlocks: " Waiman Long
2017-01-12 20:27 Waiman Long
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.