From 309becf120640bb0fdd1a16e65996c23d0542590 Mon Sep 17 00:00:00 2001 From: Maxim Kuvyrkov Date: Wed, 15 Aug 2012 16:44:30 -0700 Subject: Optimize __libc_lock_lock and __libc_lock_trylock for MIPS. --- nptl/ChangeLog | 6 ++++++ nptl/sysdeps/pthread/bits/libc-lockP.h | 10 ++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) (limited to 'nptl') diff --git a/nptl/ChangeLog b/nptl/ChangeLog index 0f31b4dbe4..545b2c2152 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,3 +1,9 @@ +2012-08-15 Tom de Vries + Maxim Kuvyrkov + + * sysdeps/pthread/bits/libc-lockP.h (__libc_lock_lock) + (__libc_lock_trylock): Allow pre-existing definitions. + 2012-08-15 Maxim Kuvyrkov * pthread_spin_lock.c: New file. diff --git a/nptl/sysdeps/pthread/bits/libc-lockP.h b/nptl/sysdeps/pthread/bits/libc-lockP.h index 0ebac917d7..7adaeb4398 100644 --- a/nptl/sysdeps/pthread/bits/libc-lockP.h +++ b/nptl/sysdeps/pthread/bits/libc-lockP.h @@ -176,9 +176,12 @@ typedef pthread_key_t __libc_key_t; /* Lock the named lock variable. */ #if !defined NOT_IN_libc || defined IS_IN_libpthread -# define __libc_lock_lock(NAME) \ +# ifndef __libc_lock_lock +# define __libc_lock_lock(NAME) \ ({ lll_lock (NAME, LLL_PRIVATE); 0; }) +# endif #else +# undef __libc_lock_lock # define __libc_lock_lock(NAME) \ __libc_maybe_call (__pthread_mutex_lock, (&(NAME)), 0) #endif @@ -189,9 +192,12 @@ typedef pthread_key_t __libc_key_t; /* Try to lock the named lock variable. */ #if !defined NOT_IN_libc || defined IS_IN_libpthread -# define __libc_lock_trylock(NAME) \ +# ifndef __libc_lock_trylock +# define __libc_lock_trylock(NAME) \ lll_trylock (NAME) +# endif #else +# undef __libc_lock_trylock # define __libc_lock_trylock(NAME) \ __libc_maybe_call (__pthread_mutex_trylock, (&(NAME)), 0) #endif -- cgit 1.4.1