From b0cf9efa6afeb8a7dbddf124dae173a2d633c801 Mon Sep 17 00:00:00 2001 From: rpj Date: Fri, 1 Oct 2004 07:17:09 +0000 Subject: Mutex speedups --- ChangeLog | 42 +++++++++++++++++++++++++++++------------- 1 file changed, 29 insertions(+), 13 deletions(-) (limited to 'ChangeLog') diff --git a/ChangeLog b/ChangeLog index 7ce169c..9a3cd4f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,23 +1,39 @@ +2004-09-27 Ross Johnson + + * pthread_mutex_lock.c (pthread_mutex_lock): Separate PTHREAD_MUTEX_NORMAL + logic since we do not need to keep or check some state required by other + mutex types; do not check mutex pointer arg for validity - leave this to + the system since we are only checking for NULL pointers. This should improve + speed of NORMAL mutexes and marginally improve speed of other type. + * pthread_mutex_trylock.c (pthread_mutex_trylock): Likewise. + * pthread_mutex_unlock.c (pthread_mutex_unlock): Likewise; also avoid + entering the critical section for the no-waiters case, with approx. 30% + reduction in lock/unlock overhead for this case.. + * pthread_mutex_timedlock.c (pthread_mutex_timedlock): Likewise; also + no longer keeps mutex if post-timeout second attempt succeeds - this will + assist applications that wish to impose strict lock deadlines, rather than + simply to escape from frozen locks. + 2004-09-09 Tristan Savatier - * pthread.h (struct pthread_once_t_): Qualify the 'done' element - as 'volatile'. - * pthread_once.c: Concerned about possible race condition, - specifically on MPU systems re concurrent access to multibyte types. - [Maintainer's note: the race condition is harmless on SPU systems - and only a problem on MPU systems if concurrent access results in an - exception (presumably generated by a hardware interrupt). There are - other instances of similar harmless race conditions that have not been - identified as issues.] + * pthread.h (struct pthread_once_t_): Qualify the 'done' element + as 'volatile'. + * pthread_once.c: Concerned about possible race condition, + specifically on MPU systems re concurrent access to multibyte types. + [Maintainer's note: the race condition is harmless on SPU systems + and only a problem on MPU systems if concurrent access results in an + exception (presumably generated by a hardware interrupt). There are + other instances of similar harmless race conditions that have not been + identified as issues.] 2004-09-09 Ross Johnson - * pthread.h: Declare additional types as volatile. + * pthread.h: Declare additional types as volatile. 2004-08-27 Ross Johnson - * pthread_barrier_wait.c (pthread_barrier_wait): Remove excessive code - by substituting the internal non-cancelable version of sem_wait - (ptw32_semwait). + * pthread_barrier_wait.c (pthread_barrier_wait): Remove excessive code + by substituting the internal non-cancelable version of sem_wait + (ptw32_semwait). 2004-08-25 Ross Johnson -- cgit v1.2.3