diff options
author | Andi Kleen <ak@linux.intel.com> | 2013-10-22 12:07:58 -0400 |
---|---|---|
committer | H. Peter Anvin <hpa@linux.intel.com> | 2014-01-30 01:17:18 -0500 |
commit | dd41f818e581bc8244d34d594e20331fcb835524 (patch) | |
tree | da61b58c2d242a456f6a9ee10824ff7839839fdf | |
parent | dff38e3e93bbc10653a232f68077e5d031624464 (diff) |
x86, asmlinkage, xen, kvm: Make {xen,kvm}_lock_spinning global and visible
These functions are called from inline assembler stubs, thus
need to be global and visible.
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Gleb Natapov <gleb@kernel.org>
Cc: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Link: http://lkml.kernel.org/r/1382458079-24450-7-git-send-email-andi@firstfloor.org
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
-rw-r--r-- | arch/x86/kernel/kvm.c | 2 | ||||
-rw-r--r-- | arch/x86/xen/spinlock.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/arch/x86/kernel/kvm.c b/arch/x86/kernel/kvm.c index 6dd802c6d780..cd1b362e4a23 100644 --- a/arch/x86/kernel/kvm.c +++ b/arch/x86/kernel/kvm.c | |||
@@ -673,7 +673,7 @@ static cpumask_t waiting_cpus; | |||
673 | /* Track spinlock on which a cpu is waiting */ | 673 | /* Track spinlock on which a cpu is waiting */ |
674 | static DEFINE_PER_CPU(struct kvm_lock_waiting, klock_waiting); | 674 | static DEFINE_PER_CPU(struct kvm_lock_waiting, klock_waiting); |
675 | 675 | ||
676 | static void kvm_lock_spinning(struct arch_spinlock *lock, __ticket_t want) | 676 | __visible void kvm_lock_spinning(struct arch_spinlock *lock, __ticket_t want) |
677 | { | 677 | { |
678 | struct kvm_lock_waiting *w; | 678 | struct kvm_lock_waiting *w; |
679 | int cpu; | 679 | int cpu; |
diff --git a/arch/x86/xen/spinlock.c b/arch/x86/xen/spinlock.c index 0e36cde12f7e..581521c843a5 100644 --- a/arch/x86/xen/spinlock.c +++ b/arch/x86/xen/spinlock.c | |||
@@ -106,7 +106,7 @@ static DEFINE_PER_CPU(struct xen_lock_waiting, lock_waiting); | |||
106 | static cpumask_t waiting_cpus; | 106 | static cpumask_t waiting_cpus; |
107 | 107 | ||
108 | static bool xen_pvspin = true; | 108 | static bool xen_pvspin = true; |
109 | static void xen_lock_spinning(struct arch_spinlock *lock, __ticket_t want) | 109 | __visible void xen_lock_spinning(struct arch_spinlock *lock, __ticket_t want) |
110 | { | 110 | { |
111 | int irq = __this_cpu_read(lock_kicker_irq); | 111 | int irq = __this_cpu_read(lock_kicker_irq); |
112 | struct xen_lock_waiting *w = &__get_cpu_var(lock_waiting); | 112 | struct xen_lock_waiting *w = &__get_cpu_var(lock_waiting); |