Displaying 20 results from an estimated 125 matches for "paravirt_ticketlocks_en".
2017 Jan 12
1
[PATCH] x86, locking/spinlocks: 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.
A simple build and boot test was done to verify it.
Signed-off-by: Waiman Long <longman at redhat.com>
---
arch/x86/include/asm/spinlock.h | 3 ---
arch/x86/kernel/kvm.c | 1 -
arch/x86/kernel/paravirt-spinlocks.c | 3 ---
ar...
2017 Jan 12
1
[PATCH] x86, locking/spinlocks: 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.
A simple build and boot test was done to verify it.
Signed-off-by: Waiman Long <longman at redhat.com>
---
arch/x86/include/asm/spinlock.h | 3 ---
arch/x86/kernel/kvm.c | 1 -
arch/x86/kernel/paravirt-spinlocks.c | 3 ---
ar...
2014 Jun 15
0
[PATCH 09/11] pvqspinlock, x86: Rename paravirt_ticketlocks_enabled
From: Waiman Long <Waiman.Long at hp.com>
This patch renames the paravirt_ticketlocks_enabled static key to a
more generic paravirt_spinlocks_enabled name.
Signed-off-by: Waiman Long <Waiman.Long at hp.com>
Signed-off-by: Peter Zijlstra <peterz at infradead.org>
---
arch/x86/include/asm/spinlock.h | 4 ++--
arch/x86/kernel/kvm.c | 2 +-
arch/x86/...
2015 Jan 20
0
[PATCH v14 08/11] qspinlock, x86: Rename paravirt_ticketlocks_enabled
This patch renames the paravirt_ticketlocks_enabled static key to a
more generic paravirt_spinlocks_enabled name.
Signed-off-by: Waiman Long <Waiman.Long at hp.com>
Signed-off-by: Peter Zijlstra <peterz at infradead.org>
---
arch/x86/include/asm/spinlock.h | 4 ++--
arch/x86/kernel/kvm.c | 2 +-
arch/x86/...
2015 Jan 20
0
[PATCH v14 08/11] qspinlock, x86: Rename paravirt_ticketlocks_enabled
This patch renames the paravirt_ticketlocks_enabled static key to a
more generic paravirt_spinlocks_enabled name.
Signed-off-by: Waiman Long <Waiman.Long at hp.com>
Signed-off-by: Peter Zijlstra <peterz at infradead.org>
---
arch/x86/include/asm/spinlock.h | 4 ++--
arch/x86/kernel/kvm.c | 2 +-
arch/x86/...
2017 Jan 12
1
[PATCH v2] x86, locking/spinlocks: 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 at redhat.com>
---
v1->v2:
- Remove init functi...
2017 Jan 12
1
[PATCH v2] x86, locking/spinlocks: 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 at redhat.com>
---
v1->v2:
- Remove init functi...
2017 Jan 12
0
[PATCH] x86, locking/spinlocks: Remove paravirt_ticketlocks_enabled
...n/spinlock.c b/arch/x86/xen/spinlock.c
> index e8a9ea7..a822606 100644
> --- a/arch/x86/xen/spinlock.c
> +++ b/arch/x86/xen/spinlock.c
> @@ -155,7 +155,6 @@ static __init int xen_init_spinlocks_jump(void)
> if (!xen_domain())
> return 0;
>
> - static_key_slow_inc(¶virt_ticketlocks_enabled);
> return 0;
> }
> early_initcall(xen_init_spinlocks_jump);
Looks that with this change there is not much left of
xen_init_spinlocks_jump() and so it can be removed.
-boris
2017 Jan 12
0
[PATCH v2] x86, locking/spinlocks: Remove paravirt_ticketlocks_enabled
...e 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 at oracle.com>
2015 Feb 06
0
[PATCH] x86 spinlock: Fix memory corruption on completing completions
On 02/06/2015 09:49 AM, Raghavendra K T wrote:
> static __always_inline void arch_spin_unlock(arch_spinlock_t *lock)
> {
> if (TICKET_SLOWPATH_FLAG &&
> - static_key_false(¶virt_ticketlocks_enabled)) {
> - arch_spinlock_t prev;
> + static_key_false(¶virt_ticketlocks_enabled)) {
> + __ticket_t prev_head;
>
> - prev = *lock;
> + prev_head = lock->tickets.head;
> add_smp(&lock->tickets.head, TICKET_LOCK_INC);
>
> /* add_smp() is a...
2015 Feb 06
0
[PATCH] x86 spinlock: Fix memory corruption on completing completions
On 02/06/2015 09:49 AM, Raghavendra K T wrote:
> static __always_inline void arch_spin_unlock(arch_spinlock_t *lock)
> {
> if (TICKET_SLOWPATH_FLAG &&
> - static_key_false(¶virt_ticketlocks_enabled)) {
> - arch_spinlock_t prev;
> + static_key_false(¶virt_ticketlocks_enabled)) {
> + __ticket_t prev_head;
>
> - prev = *lock;
> + prev_head = lock->tickets.head;
> add_smp(&lock->tickets.head, TICKET_LOCK_INC);
>
> /* add_smp() is a...
2015 Apr 30
12
[PATCH 0/6] x86: reduce paravirtualized spinlock overhead
...setting TICKET_SLOWPATH_FLAG
x86: move decision about clearing slowpath flag into arch_spin_lock()
x86: introduce new pvops function clear_slowpath
x86: introduce new pvops function spin_unlock
x86: switch config from UNINLINE_SPIN_UNLOCK to INLINE_SPIN_UNLOCK
x86: remove no longer needed paravirt_ticketlocks_enabled
arch/x86/Kconfig | 1 -
arch/x86/include/asm/paravirt.h | 13 +++++++++
arch/x86/include/asm/paravirt_types.h | 12 ++++++++
arch/x86/include/asm/spinlock.h | 53 ++++++++++++-----------------------
arch/x86/include/asm/spinlock_types.h | 3 +-
arch/x86/ker...
2015 Apr 30
12
[PATCH 0/6] x86: reduce paravirtualized spinlock overhead
...setting TICKET_SLOWPATH_FLAG
x86: move decision about clearing slowpath flag into arch_spin_lock()
x86: introduce new pvops function clear_slowpath
x86: introduce new pvops function spin_unlock
x86: switch config from UNINLINE_SPIN_UNLOCK to INLINE_SPIN_UNLOCK
x86: remove no longer needed paravirt_ticketlocks_enabled
arch/x86/Kconfig | 1 -
arch/x86/include/asm/paravirt.h | 13 +++++++++
arch/x86/include/asm/paravirt_types.h | 12 ++++++++
arch/x86/include/asm/spinlock.h | 53 ++++++++++++-----------------------
arch/x86/include/asm/spinlock_types.h | 3 +-
arch/x86/ker...
2015 Feb 06
10
[PATCH] x86 spinlock: Fix memory corruption on completing completions
...ail) {
- /*
- * Lock still has someone queued for it, so wake up an
- * appropriate waiter.
- */
- __ticket_unlock_kick(lock, old.tickets.head);
- }
-}
-
static __always_inline void arch_spin_unlock(arch_spinlock_t *lock)
{
if (TICKET_SLOWPATH_FLAG &&
- static_key_false(¶virt_ticketlocks_enabled)) {
- arch_spinlock_t prev;
+ static_key_false(¶virt_ticketlocks_enabled)) {
+ __ticket_t prev_head;
- prev = *lock;
+ prev_head = lock->tickets.head;
add_smp(&lock->tickets.head, TICKET_LOCK_INC);
/* add_smp() is a full mb() */
- if (unlikely(lock->ticke...
2015 Feb 06
10
[PATCH] x86 spinlock: Fix memory corruption on completing completions
...ail) {
- /*
- * Lock still has someone queued for it, so wake up an
- * appropriate waiter.
- */
- __ticket_unlock_kick(lock, old.tickets.head);
- }
-}
-
static __always_inline void arch_spin_unlock(arch_spinlock_t *lock)
{
if (TICKET_SLOWPATH_FLAG &&
- static_key_false(¶virt_ticketlocks_enabled)) {
- arch_spinlock_t prev;
+ static_key_false(¶virt_ticketlocks_enabled)) {
+ __ticket_t prev_head;
- prev = *lock;
+ prev_head = lock->tickets.head;
add_smp(&lock->tickets.head, TICKET_LOCK_INC);
/* add_smp() is a full mb() */
- if (unlikely(lock->ticke...
2014 Feb 26
0
[PATCH RFC v5 4/8] pvqspinlock, x86: Allow unfair spinlock in a real PV environment
...arch/x86/kernel/paravirt-spinlocks.c
@@ -8,6 +8,7 @@
#include <asm/paravirt.h>
+#ifdef CONFIG_PARAVIRT_SPINLOCKS
struct pv_lock_ops pv_lock_ops = {
#ifdef CONFIG_SMP
.lock_spinning = __PV_IS_CALLEE_SAVE(paravirt_nop),
@@ -18,3 +19,9 @@ EXPORT_SYMBOL(pv_lock_ops);
struct static_key paravirt_ticketlocks_enabled = STATIC_KEY_INIT_FALSE;
EXPORT_SYMBOL(paravirt_ticketlocks_enabled);
+#endif
+
+#ifdef CONFIG_PARAVIRT_UNFAIR_LOCKS
+struct static_key paravirt_unfairlocks_enabled = STATIC_KEY_INIT_FALSE;
+EXPORT_SYMBOL(paravirt_unfairlocks_enabled);
+#endif
--
1.7.1
2015 Feb 08
0
[PATCH] x86 spinlock: Fix memory corruption on completing completions
...or it, so wake up an
> - * appropriate waiter.
> - */
> - __ticket_unlock_kick(lock, old.tickets.head);
> - }
> -}
> -
> static __always_inline void arch_spin_unlock(arch_spinlock_t *lock)
> {
> if (TICKET_SLOWPATH_FLAG &&
> - static_key_false(¶virt_ticketlocks_enabled)) {
> - arch_spinlock_t prev;
> + static_key_false(¶virt_ticketlocks_enabled)) {
> + __ticket_t prev_head;
>
> - prev = *lock;
> + prev_head = lock->tickets.head;
> add_smp(&lock->tickets.head, TICKET_LOCK_INC);
>
> /* add_smp() is a...
2015 Feb 08
0
[PATCH] x86 spinlock: Fix memory corruption on completing completions
...or it, so wake up an
> - * appropriate waiter.
> - */
> - __ticket_unlock_kick(lock, old.tickets.head);
> - }
> -}
> -
> static __always_inline void arch_spin_unlock(arch_spinlock_t *lock)
> {
> if (TICKET_SLOWPATH_FLAG &&
> - static_key_false(¶virt_ticketlocks_enabled)) {
> - arch_spinlock_t prev;
> + static_key_false(¶virt_ticketlocks_enabled)) {
> + __ticket_t prev_head;
>
> - prev = *lock;
> + prev_head = lock->tickets.head;
> add_smp(&lock->tickets.head, TICKET_LOCK_INC);
>
> /* add_smp() is a...
2014 Mar 12
0
[PATCH v6 05/11] pvqspinlock, x86: Allow unfair spinlock in a PV guest
...arch/x86/kernel/paravirt-spinlocks.c
@@ -8,6 +8,7 @@
#include <asm/paravirt.h>
+#ifdef CONFIG_PARAVIRT_SPINLOCKS
struct pv_lock_ops pv_lock_ops = {
#ifdef CONFIG_SMP
.lock_spinning = __PV_IS_CALLEE_SAVE(paravirt_nop),
@@ -18,3 +19,9 @@ EXPORT_SYMBOL(pv_lock_ops);
struct static_key paravirt_ticketlocks_enabled = STATIC_KEY_INIT_FALSE;
EXPORT_SYMBOL(paravirt_ticketlocks_enabled);
+#endif
+
+#ifdef CONFIG_PARAVIRT_UNFAIR_LOCKS
+struct static_key paravirt_unfairlocks_enabled = STATIC_KEY_INIT_FALSE;
+EXPORT_SYMBOL(paravirt_unfairlocks_enabled);
+#endif
--
1.7.1
2015 Feb 09
2
[PATCH V2] x86 spinlock: Fix memory corruption on completing completions
...ail) {
- /*
- * Lock still has someone queued for it, so wake up an
- * appropriate waiter.
- */
- __ticket_unlock_kick(lock, old.tickets.head);
- }
-}
-
static __always_inline void arch_spin_unlock(arch_spinlock_t *lock)
{
if (TICKET_SLOWPATH_FLAG &&
- static_key_false(¶virt_ticketlocks_enabled)) {
- arch_spinlock_t prev;
+ static_key_false(¶virt_ticketlocks_enabled)) {
+ __ticket_t next_head;
- prev = *lock;
+ next_head = lock->tickets.head + TICKET_LOCK_INC;
add_smp(&lock->tickets.head, TICKET_LOCK_INC);
/* add_smp() is a full mb() */
- if (unlik...