diff options
author | rpj <rpj> | 2004-10-08 12:03:18 +0000 |
---|---|---|
committer | rpj <rpj> | 2004-10-08 12:03:18 +0000 |
commit | 9da8fdcb33373b4b2e1de2a8b7af3ed4b5811245 (patch) | |
tree | 1e232efaa8472fbf0d61816995cb4fddc7e9b5ed /ChangeLog | |
parent | b0cf9efa6afeb8a7dbddf124dae173a2d633c801 (diff) |
Mutex speedups
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 27 |
1 files changed, 27 insertions, 0 deletions
@@ -1,3 +1,30 @@ +2004-10-08 Ross Johnson <rpj at callisto.canberra.edu.au> + + * pthread_mutex_destroy.c (pthread_mutex_destroy): Critical Section + element is no longer required. + * pthread_mutex_init.c (pthread_mutex_init): Likewise. + * pthread_mutex_lock.c (pthread_mutex_lock): New algorithm following Drepper's + paper at http://people.redhat.com/drepper/futex.pdf, but using the existing + semaphore in place of the futex described in the paper. Idea suggested by + Alexander Terekhov - see: + http://sources.redhat.com/ml/pthreads-win32/2003/msg00108.html + * pthread_mutex_timedlock.c pthread_mutex_timedlock(): Similarly. + * pthread_mutex_trylock.c (pthread_mutex_trylock): Similarly. + * pthread_mutex_unlock.c (pthread_mutex_unlock): Similarly. + * pthread_barrier_wait.c (pthread_barrier_wait): Use inlined version of + InterlockedCompareExchange() if possible - determined at build-time. + * pthread_spin_destroy.c pthread_spin_destroy(): Likewise. + * pthread_spin_lock.c pthread_spin_lock():Likewise. + * pthread_spin_trylock.c (pthread_spin_trylock):Likewise. + * pthread_spin_unlock.c (pthread_spin_unlock):Likewise. + * ptw32_InterlockedCompareExchange.c: Sets up macro for inlined use. + * implement.h (pthread_mutex_t_): Remove Critical Section element. + (PTW32_INTERLOCKED_COMPARE_EXCHANGE): Set to default non-inlined version of + InterlockedCompareExchange(). + * private.c: Include ptw32_InterlockedCompareExchange.c first for inlining. + * GNUmakefile: Add commandline option to use inlined InterlockedCompareExchange(). + * Makefile: Likewise. + 2004-09-27 Ross Johnson <rpj at callisto.canberra.edu.au>
* pthread_mutex_lock.c (pthread_mutex_lock): Separate PTHREAD_MUTEX_NORMAL
|