Messages in this thread Patch in this message | | | From | Jeremy Fitzhardinge <> | Subject | [PATCH 09/13] x86/pvticketlocks: we only need to kick if there's waiters | Date | Thu, 1 Sep 2011 17:55:02 -0700 |
| |
From: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
If we're releasing the lock into an uncontended state, there's nobody waiting on it, so there's no need to kick anyone.
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> --- arch/x86/kernel/paravirt-spinlocks.c | 3 +-- 1 files changed, 1 insertions(+), 2 deletions(-)
diff --git a/arch/x86/kernel/paravirt-spinlocks.c b/arch/x86/kernel/paravirt-spinlocks.c index 21b6986..71b8557 100644 --- a/arch/x86/kernel/paravirt-spinlocks.c +++ b/arch/x86/kernel/paravirt-spinlocks.c @@ -47,8 +47,7 @@ void __ticket_unlock_release_slowpath(struct arch_spinlock *lock) old.head_tail, new.head_tail) != old.head_tail) { /* still people waiting */ __ticket_unlock_release(lock); + __ticket_unlock_kick(lock, new.tickets.head); } - - __ticket_unlock_kick(lock, new.tickets.head); } EXPORT_SYMBOL(__ticket_unlock_release_slowpath); -- 1.7.6
| |