aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/smp.h
diff options
context:
space:
mode:
authorPeter Zijlstra <peterz@infradead.org>2017-03-22 11:35:59 +0100
committerThomas Gleixner <tglx@linutronix.de>2017-03-23 19:10:10 +0100
commitbebe5b514345f09be2c15e414d076b02ecb9cce8 (patch)
tree6cc89f5210cc01abf5b0195bfd577e46d08bb8fd /include/linux/smp.h
parentfutex: Rework futex_lock_pi() to use rt_mutex_*_proxy_lock() (diff)
downloadlinux-dev-bebe5b514345f09be2c15e414d076b02ecb9cce8.tar.xz
linux-dev-bebe5b514345f09be2c15e414d076b02ecb9cce8.zip
futex: Futex_unlock_pi() determinism
The problem with returning -EAGAIN when the waiter state mismatches is that it becomes very hard to proof a bounded execution time on the operation. And seeing that this is a RT operation, this is somewhat important. While in practise; given the previous patch; it will be very unlikely to ever really take more than one or two rounds, proving so becomes rather hard. However, now that modifying wait_list is done while holding both hb->lock and wait_lock, the scenario can be avoided entirely by acquiring wait_lock while still holding hb-lock. Doing a hand-over, without leaving a hole. Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Cc: juri.lelli@arm.com Cc: bigeasy@linutronix.de Cc: xlpang@redhat.com Cc: rostedt@goodmis.org Cc: mathieu.desnoyers@efficios.com Cc: jdesfossez@efficios.com Cc: dvhart@infradead.org Cc: bristot@redhat.com Link: http://lkml.kernel.org/r/20170322104152.112378812@infradead.org Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'include/linux/smp.h')
0 files changed, 0 insertions, 0 deletions