[PATCH 17/20] mutex: Provide mutex_is_contended

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Peter Zijlstra
Date: Saturday, August 28, 2010 - 7:16 am

Usable for lock-breaks and such.

Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
---
 include/linux/mutex.h |    5 +++++
 1 file changed, 5 insertions(+)

Index: linux-2.6/include/linux/mutex.h
===================================================================
--- linux-2.6.orig/include/linux/mutex.h
+++ linux-2.6/include/linux/mutex.h
@@ -118,6 +118,11 @@ static inline int mutex_is_locked(struct
 	return atomic_read(&lock->count) != 1;
 }
 
+static inline int mutex_is_contended(struct mutex *lock)
+{
+	return atomic_read(&lock->count) < 0;
+}
+
 /*
  * See kernel/mutex.c for detailed documentation of these APIs.
  * Also see Documentation/mutex-design.txt.


--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH 00/20] mm: Preemptibility -v4, Peter Zijlstra, (Sat Aug 28, 7:16 am)
[PATCH 01/20] powerpc: Use call_rcu_sched() for pagetables, Peter Zijlstra, (Sat Aug 28, 7:16 am)
[PATCH 02/20] mm: Improve page_lock_anon_vma() comment, Peter Zijlstra, (Sat Aug 28, 7:16 am)
[PATCH 05/20] mm: Simplify anon_vma refcounts, Peter Zijlstra, (Sat Aug 28, 7:16 am)
[PATCH 06/20] mm: Use refcounts for page_lock_anon_vma(), Peter Zijlstra, (Sat Aug 28, 7:16 am)
[PATCH 07/20] mm: Preemptible mmu_gather, Peter Zijlstra, (Sat Aug 28, 7:16 am)
[PATCH 08/20] powerpc: Preemptible mmu_gather, Peter Zijlstra, (Sat Aug 28, 7:16 am)
[PATCH 09/20] sparc: Preemptible mmu_gather, Peter Zijlstra, (Sat Aug 28, 7:16 am)
[PATCH 10/20] s390: preemptible mmu_gather, Peter Zijlstra, (Sat Aug 28, 7:16 am)
[PATCH 12/20] sh: Preemptible mmu_gather, Peter Zijlstra, (Sat Aug 28, 7:16 am)
[PATCH 13/20] um: Preemptible mmu_gather, Peter Zijlstra, (Sat Aug 28, 7:16 am)
[PATCH 14/20] ia64: Preemptible mmu_gather, Peter Zijlstra, (Sat Aug 28, 7:16 am)
[PATCH 16/20] lockdep, mutex: Provide mutex_lock_nest_lock, Peter Zijlstra, (Sat Aug 28, 7:16 am)
[PATCH 17/20] mutex: Provide mutex_is_contended, Peter Zijlstra, (Sat Aug 28, 7:16 am)
[PATCH 19/20] mm: Extended batches for generic mmu_gather, Peter Zijlstra, (Sat Aug 28, 7:16 am)
[PATCH 20/20] mm: Optimize page_lock_anon_vma() fast-path, Peter Zijlstra, (Sat Aug 28, 7:16 am)
Re: [PATCH 00/20] mm: Preemptibility -v4, Peter Zijlstra, (Sat Aug 28, 7:32 am)
Re: [PATCH 00/20] mm: Preemptibility -v4, Piotr Hosowicz, (Sat Aug 28, 7:56 am)
Re: [PATCH 00/20] mm: Preemptibility -v4, Peter Zijlstra, (Sat Aug 28, 8:10 am)
Re: [PATCH 05/20] mm: Simplify anon_vma refcounts, Pekka Enberg, (Sat Aug 28, 8:13 am)
Re: [PATCH 00/20] mm: Preemptibility -v4, Piotr Hosowicz, (Sat Aug 28, 8:17 am)
Re: [PATCH 00/20] mm: Preemptibility -v4, Pekka Enberg, (Sat Aug 28, 8:19 am)
Re: [PATCH 00/20] mm: Preemptibility -v4, Peter Zijlstra, (Sat Aug 28, 8:23 am)
Re: [PATCH 00/20] mm: Preemptibility -v4, Peter Zijlstra, (Sat Aug 28, 8:27 am)
Re: [PATCH 00/20] mm: Preemptibility -v4, Piotr Hosowicz, (Sat Aug 28, 9:01 am)
Re: [PATCH 00/20] mm: Preemptibility -v4, David Miller, (Sat Aug 28, 3:28 pm)
Re: [PATCH 00/20] mm: Preemptibility -v4, Peter Zijlstra, (Sat Aug 28, 3:41 pm)
Re: [PATCH 00/20] mm: Preemptibility -v4, Piotr Hosowicz, (Sun Aug 29, 5:46 am)
Re: [PATCH 00/20] mm: Preemptibility -v4, Peter Zijlstra, (Sun Aug 29, 6:37 am)
Re: [PATCH 00/20] mm: Preemptibility -v4, Piotr Hosowicz, (Sun Aug 29, 6:43 am)
Re: [PATCH 14/20] ia64: Preemptible mmu_gather, Peter Zijlstra, (Mon Aug 30, 8:44 am)
Re: [PATCH 01/20] powerpc: Use call_rcu_sched() for pagetables, Benjamin Herrenschmidt, (Mon Aug 30, 11:10 pm)
Re: [PATCH 08/20] powerpc: Preemptible mmu_gather, Benjamin Herrenschmidt, (Mon Aug 30, 11:26 pm)
Re: [PATCH 08/20] powerpc: Preemptible mmu_gather, Benjamin Herrenschmidt, (Mon Aug 30, 11:31 pm)
Re: [PATCH 08/20] powerpc: Preemptible mmu_gather, Peter Zijlstra, (Tue Aug 31, 2:14 am)
Re: [PATCH 00/20] mm: Preemptibility -v4, Piotr Hosowicz, (Tue Aug 31, 7:02 am)
Re: [PATCH 00/20] mm: Preemptibility -v4, Piotr Hosowicz, (Tue Aug 31, 7:14 am)
Re: [PATCH 00/20] mm: Preemptibility -v4, Piotr Hosowicz, (Thu Sep 2, 7:53 am)
Re: [PATCH 00/20] mm: Preemptibility -v4, Alex,Shi, (Mon Sep 13, 10:36 pm)
Re: [PATCH 00/20] mm: Preemptibility -v4, Peter Zijlstra, (Tue Sep 14, 12:42 am)