summaryrefslogtreecommitdiff
path: root/include/linux/console_struct.h
diff options
context:
space:
mode:
authorWill Deacon <will.deacon@arm.com>2019-04-08 16:23:17 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-05-10 19:36:14 +0300
commit41d7bb19aa31f1079155c4e07bcb366cf424e8d8 (patch)
treec09232ad33087feaf4e367757fd7fb47a0981038 /include/linux/console_struct.h
parent3b928b59fae0e10d856f4a58e67839384239e507 (diff)
downloadlinux-41d7bb19aa31f1079155c4e07bcb366cf424e8d8.tar.xz
arm64: futex: Bound number of LDXR/STXR loops in FUTEX_WAKE_OP
commit 03110a5cb2161690ae5ac04994d47ed0cd6cef75 upstream. Our futex implementation makes use of LDXR/STXR loops to perform atomic updates to user memory from atomic context. This can lead to latency problems if we end up spinning around the LL/SC sequence at the expense of doing something useful. Rework our futex atomic operations so that we return -EAGAIN if we fail to update the futex word after 128 attempts. The core futex code will reschedule if necessary and we'll try again later. Cc: <stable@kernel.org> Fixes: 6170a97460db ("arm64: Atomic operations") Signed-off-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include/linux/console_struct.h')
0 files changed, 0 insertions, 0 deletions