aboutsummaryrefslogtreecommitdiff
path: root/libio
diff options
context:
space:
mode:
authorWill Newton <will.newton@linaro.org>2014-05-01 14:25:44 +0100
committerWill Newton <will.newton@linaro.org>2014-05-01 14:25:44 +0100
commit6d96f5e4c0500b19d1c2f4edc37536d2bc592260 (patch)
treead912b5ae2daab515103f9703b5d8fa7015571de /libio
parent4fa262fa9e8836f2e513e3ea56797dab2d75e6de (diff)
downloadglibc-6d96f5e4c0500b19d1c2f4edc37536d2bc592260.tar
glibc-6d96f5e4c0500b19d1c2f4edc37536d2bc592260.tar.gz
glibc-6d96f5e4c0500b19d1c2f4edc37536d2bc592260.tar.bz2
glibc-6d96f5e4c0500b19d1c2f4edc37536d2bc592260.zip
ARM: Remove lowlevellock.c
lowlevellock.c for arm differs from the generic lowlevellock.c only in insignificant ways, so can be removed. Happily, this fixes BZ 15119 (unnecessary busy loop in __lll_timedlock_wait on arm). The notable differences between the arm and generic implementations are: 1) arm __lll_timedlock_wait has a fast path out if futex has been set to 0 between since the function was called. This seems unlikely to happen very often, so it seems at worst harmless to lose this fast path. 2) Some function in arm's lowlevellock.c set futex to 2 if it was 1. The generic version always sets the futex to 2. As futex can only be 0, 1 or 2 on entry into these functions, the behaviour is equivalent. (If the futex manages to be 0 on entry then we've just lost another unlikely fast path out.) There are no test suite regressions. Note that hppa and sparc also have their own lowlevellock.c. I believe hppa can also be removed, so I'll send a separate patch for that shortly. sparc's seems to be genuinely needed as it uses a different locking structure. Also note that the analysis at https://sourceware.org/ml/libc-ports/2013-02/msg00021.html indicates a further locking performance bug to fix - I've got a partial patch for that which I can submit once I've finished testing. 2014-05-01 Bernard Ogden <bernie.ogden@linaro.org> [BZ #15119] * sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.c: Remove file.
Diffstat (limited to 'libio')
0 files changed, 0 insertions, 0 deletions