aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/rt-mutex-design.txt
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/rt-mutex-design.txt')
-rw-r--r--Documentation/rt-mutex-design.txt14
1 files changed, 7 insertions, 7 deletions
diff --git a/Documentation/rt-mutex-design.txt b/Documentation/rt-mutex-design.txt
index c472ffacc2f6..4b736d24da7a 100644
--- a/Documentation/rt-mutex-design.txt
+++ b/Documentation/rt-mutex-design.txt
@@ -333,11 +333,11 @@ cmpxchg is basically the following function performed atomically:
333 333
334unsigned long _cmpxchg(unsigned long *A, unsigned long *B, unsigned long *C) 334unsigned long _cmpxchg(unsigned long *A, unsigned long *B, unsigned long *C)
335{ 335{
336 unsigned long T = *A; 336 unsigned long T = *A;
337 if (*A == *B) { 337 if (*A == *B) {
338 *A = *C; 338 *A = *C;
339 } 339 }
340 return T; 340 return T;
341} 341}
342#define cmpxchg(a,b,c) _cmpxchg(&a,&b,&c) 342#define cmpxchg(a,b,c) _cmpxchg(&a,&b,&c)
343 343
@@ -582,7 +582,7 @@ contention).
582try_to_take_rt_mutex is used every time the task tries to grab a mutex in the 582try_to_take_rt_mutex is used every time the task tries to grab a mutex in the
583slow path. The first thing that is done here is an atomic setting of 583slow path. The first thing that is done here is an atomic setting of
584the "Has Waiters" flag of the mutex's owner field. Yes, this could really 584the "Has Waiters" flag of the mutex's owner field. Yes, this could really
585be false, because if the the mutex has no owner, there are no waiters and 585be false, because if the mutex has no owner, there are no waiters and
586the current task also won't have any waiters. But we don't have the lock 586the current task also won't have any waiters. But we don't have the lock
587yet, so we assume we are going to be a waiter. The reason for this is to 587yet, so we assume we are going to be a waiter. The reason for this is to
588play nice for those architectures that do have CMPXCHG. By setting this flag 588play nice for those architectures that do have CMPXCHG. By setting this flag
@@ -735,7 +735,7 @@ do have CMPXCHG, that check is done in the fast path, but it is still needed
735in the slow path too. If a waiter of a mutex woke up because of a signal 735in the slow path too. If a waiter of a mutex woke up because of a signal
736or timeout between the time the owner failed the fast path CMPXCHG check and 736or timeout between the time the owner failed the fast path CMPXCHG check and
737the grabbing of the wait_lock, the mutex may not have any waiters, thus the 737the grabbing of the wait_lock, the mutex may not have any waiters, thus the
738owner still needs to make this check. If there are no waiters than the mutex 738owner still needs to make this check. If there are no waiters then the mutex
739owner field is set to NULL, the wait_lock is released and nothing more is 739owner field is set to NULL, the wait_lock is released and nothing more is
740needed. 740needed.
741 741