* sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S: Checking
whether there are more than one thread makes no sense here since we only call the slow path if the locks are taken. * sysdeps/unix/sysv/linux/x86_64/libc-lowlevellock.S: Likewise.
This commit is contained in:
parent
4b5e7304ed
commit
0154658d3d
@ -1,5 +1,10 @@
|
||||
2007-05-29 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S: Checking
|
||||
whether there are more than one thread makes no sense here since
|
||||
we only call the slow path if the locks are taken.
|
||||
* sysdeps/unix/sysv/linux/x86_64/libc-lowlevellock.S: Likewise.
|
||||
|
||||
* sysdeps/unix/sysv/linux/internaltypes.h: Introduce
|
||||
COND_NWAITERS_SHIFT.
|
||||
* pthread_cond_destroy.c: Use COND_NWAITERS_SHIFT instead of
|
||||
|
@ -19,16 +19,6 @@
|
||||
|
||||
#include <kernel-features.h>
|
||||
|
||||
/* In libc.so we do not unconditionally use the lock prefix. Only if
|
||||
the application is using threads. */
|
||||
#ifndef UP
|
||||
# define LOCK \
|
||||
cmpl $0, %gs:MULTIPLE_THREADS_OFFSET; \
|
||||
je 0f; \
|
||||
lock; \
|
||||
0:
|
||||
#endif
|
||||
|
||||
/* All locks in libc are private. Use the kernel feature if possible. */
|
||||
#define FUTEX_PRIVATE_FLAG 128
|
||||
#ifdef __ASSUME_PRIVATE_FUTEX
|
||||
|
@ -80,7 +80,7 @@ struct pthread_condattr
|
||||
of bits needed to represent the ID of the clock. COND_NWAITERS_SHIFT
|
||||
is the number of bits reserved for other purposes like the clock. */
|
||||
#define COND_CLOCK_BITS 1
|
||||
#define COND_NWAITERS_SHIFT 8
|
||||
#define COND_NWAITERS_SHIFT 1
|
||||
|
||||
|
||||
/* Read-write lock variable attribute data structure. */
|
||||
|
@ -19,16 +19,6 @@
|
||||
|
||||
#include <kernel-features.h>
|
||||
|
||||
/* In libc.so we do not unconditionally use the lock prefix. Only if
|
||||
the application is using threads. */
|
||||
#ifndef UP
|
||||
# define LOCK \
|
||||
cmpl $0, __libc_multiple_threads(%rip); \
|
||||
je 0f; \
|
||||
lock; \
|
||||
0:
|
||||
#endif
|
||||
|
||||
/* All locks in libc are private. Use the kernel feature if possible. */
|
||||
#define FUTEX_PRIVATE_FLAG 128
|
||||
#ifdef __ASSUME_PRIVATE_FUTEX
|
||||
|
Loading…
x
Reference in New Issue
Block a user