This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 03/14] Add elision to pthread_mutex_{try,timed,un}lock


On 06/28/2013 03:59 PM, Andi Kleen wrote:
>>> -  switch (__builtin_expect (PTHREAD_MUTEX_TYPE (mutex),
>>> +  switch (__builtin_expect (PTHREAD_MUTEX_TYPE_ELISION (mutex),
>>>  			    PTHREAD_MUTEX_TIMED_NP))
>>>      {
>>>        /* Recursive mutex.  */
>>> +    case PTHREAD_MUTEX_RECURSIVE_NP|PTHREAD_MUTEX_ELISION_NP:
>>
>> Why isn't this a unique type in pthreadP.h?
>>
>> e.g. PTHREAD_MUTEX_RECURSIVE_ELISION_NP?
> 
> There is currently no recursive elided mutex.
> It would seem odd to add a type that doesn't exist.
> 
> I just added the check here, so that if someone 
> enables elision explicitely for recursive locks,
> it's a nop, and not an assert failure.
>
> In the future when recursive mutexes are elided I'll
> add that type too.

That makes sense. Please add a comment to that effect.

Cheers,
Carlos.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]