mirror of git://sourceware.org/git/glibc.git
Update.
2004-03-23 Ulrich Drepper <drepper@redhat.com> * sysdeps/ia64/pt-machine.h (BUSY_WAIT_NOP): Define. * sysdeps/x86_64/pt-machine.h (BUSY_WAIT_NOP): Likewise.
This commit is contained in:
parent
16b06b70b5
commit
e408880b81
|
|
@ -1,3 +1,8 @@
|
||||||
|
2004-03-23 Ulrich Drepper <drepper@redhat.com>
|
||||||
|
|
||||||
|
* sysdeps/ia64/pt-machine.h (BUSY_WAIT_NOP): Define.
|
||||||
|
* sysdeps/x86_64/pt-machine.h (BUSY_WAIT_NOP): Likewise.
|
||||||
|
|
||||||
2004-03-12 Ulrich Drepper <drepper@redhat.com>
|
2004-03-12 Ulrich Drepper <drepper@redhat.com>
|
||||||
|
|
||||||
* sysdeps/unix/sysv/linux/bits/local_lim.h: Add HOST_NAME_MAX.
|
* sysdeps/unix/sysv/linux/bits/local_lim.h: Add HOST_NAME_MAX.
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Machine-dependent pthreads configuration and inline functions.
|
/* Machine-dependent pthreads configuration and inline functions.
|
||||||
IA-64 version.
|
IA-64 version.
|
||||||
Copyright (C) 1999, 2000, 2002, 2003 Free Software Foundation, Inc.
|
Copyright (C) 1999, 2000, 2002, 2003, 2004 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
|
@ -127,4 +127,7 @@ testandset (int *spinlock)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Indicate that we are looping. */
|
||||||
|
#define BUSY_WAIT_NOP __asm__ ("hint @pause")
|
||||||
|
|
||||||
#endif /* pt-machine.h */
|
#endif /* pt-machine.h */
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Machine-dependent pthreads configuration and inline functions.
|
/* Machine-dependent pthreads configuration and inline functions.
|
||||||
x86-64 version.
|
x86-64 version.
|
||||||
Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
|
Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
|
@ -219,4 +219,7 @@ extern int __arch_prctl (int __code, unsigned long __addr);
|
||||||
/* Maximum size of the stack if the rlimit is unlimited. */
|
/* Maximum size of the stack if the rlimit is unlimited. */
|
||||||
#define ARCH_STACK_MAX_SIZE 32*1024*1024
|
#define ARCH_STACK_MAX_SIZE 32*1024*1024
|
||||||
|
|
||||||
|
/* The ia32e really want some help to prevent overheating. */
|
||||||
|
#define BUSY_WAIT_NOP __asm__ ("rep; nop")
|
||||||
|
|
||||||
#endif /* pt-machine.h */
|
#endif /* pt-machine.h */
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,8 @@
|
||||||
2004-03-23 Ulrich Drepper <drepper@redhat.com>
|
2004-03-23 Ulrich Drepper <drepper@redhat.com>
|
||||||
|
|
||||||
|
* sysdeps/unix/sysv/linux/i386/lowlevellock.h (lll_mutex_trylock):
|
||||||
|
No need to restrict type of ret. Make it int. Add comment.
|
||||||
|
|
||||||
* sysdeps/unix/sysv/linux/i386/lowlevellock.h (lll_mutex_trylock):
|
* sysdeps/unix/sysv/linux/i386/lowlevellock.h (lll_mutex_trylock):
|
||||||
Remove unnecessary setne instruction.
|
Remove unnecessary setne instruction.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -102,8 +102,13 @@ extern int __lll_mutex_unlock_wake (int *__futex)
|
||||||
__attribute ((regparm (1))) attribute_hidden;
|
__attribute ((regparm (1))) attribute_hidden;
|
||||||
|
|
||||||
|
|
||||||
|
/* NB: in the lll_mutex_trylock macro we simply return the value in %eax
|
||||||
|
after the cmpxchg instruction. In case the operation succeded this
|
||||||
|
value is zero. In case the operation failed, the cmpxchg instruction
|
||||||
|
has loaded the current value of the memory work which is guaranteed
|
||||||
|
to be nonzero. */
|
||||||
#define lll_mutex_trylock(futex) \
|
#define lll_mutex_trylock(futex) \
|
||||||
({ unsigned char ret; \
|
({ int ret; \
|
||||||
__asm __volatile (LOCK_INSTR "cmpxchgl %2, %1" \
|
__asm __volatile (LOCK_INSTR "cmpxchgl %2, %1" \
|
||||||
: "=a" (ret), "=m" (futex) \
|
: "=a" (ret), "=m" (futex) \
|
||||||
: "r" (LLL_MUTEX_LOCK_INITIALIZER_LOCKED), "m" (futex),\
|
: "r" (LLL_MUTEX_LOCK_INITIALIZER_LOCKED), "m" (futex),\
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue