This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH 3/3] Add adaptive elision to rwlocks v2
- From: Andi Kleen <ak at linux dot intel dot com>
- To: "H.J. Lu" <hjl dot tools at gmail dot com>
- Cc: Andi Kleen <andi at firstfloor dot org>, GNU C Library <libc-alpha at sourceware dot org>
- Date: Thu, 19 Jun 2014 13:52:40 -0700
- Subject: Re: [PATCH 3/3] Add adaptive elision to rwlocks v2
- Authentication-results: sourceware.org; auth=none
- References: <1399412209-28245-1-git-send-email-andi at firstfloor dot org> <1399412209-28245-4-git-send-email-andi at firstfloor dot org> <CAMe9rOp5k3a9fpPABPnoGY-FC60q29SF-+-5ojs4tg=gb4b1MA at mail dot gmail dot com>
> This is wrong for x32. We need something like
Ok. Looks good to me. I assume you'll handle it.
-Andi
>
> diff --git a/sysdeps/x86/nptl/bits/pthreadtypes.h
> b/sysdeps/x86/nptl/bits/pthreadtypes.h
> index b04c32b..bfb9034 100644
> --- a/sysdeps/x86/nptl/bits/pthreadtypes.h
> +++ b/sysdeps/x86/nptl/bits/pthreadtypes.h
> @@ -185,12 +185,17 @@ typedef union
> int __writer;
> int __shared;
> signed char __rwelision;
> +# ifdef __ILP32__
> + unsigned char __pad1[3];
> +# define __PTHREAD_RWLOCK_ELISION_EXTRA 0, {0, 0, 0 }
> +# else
> unsigned char __pad1[7];
> +# define __PTHREAD_RWLOCK_ELISION_EXTRA 0, {0, 0, 0, 0, 0, 0, 0 }
> +# endif
> unsigned long int __pad2;
> /* FLAGS must stay at this position in the structure to maintain
> binary compatibility. */
> unsigned int __flags;
> -# define __PTHREAD_RWLOCK_ELISION_EXTRA 0, {0, 0, 0, 0, 0, 0, 0 }
> # define __PTHREAD_RWLOCK_INT_FLAGS_SHARED 1
> } __data;
> # else
>
>
> H.J.
--
ak@linux.intel.com -- Speaking for myself only