[PATCH 3/3] Add adaptive elision to rwlocks v2
Andi Kleen
ak@linux.intel.com
Thu Jun 19 20:53:00 GMT 2014
> 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
More information about the Libc-alpha
mailing list