aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/spinlock_types_raw.h
diff options
context:
space:
mode:
authorSteven Rostedt <rostedt@goodmis.org>2021-08-15 23:29:25 +0200
committerIngo Molnar <mingo@kernel.org>2021-08-17 19:06:11 +0200
commit992caf7f17243d736fc996770bac6566103778f6 (patch)
treeb3782229183ce8c5a02f24d1f28590b7a1f517fe /include/linux/spinlock_types_raw.h
parentlocking/rtmutex: Implement equal priority lock stealing (diff)
downloadlinux-dev-992caf7f17243d736fc996770bac6566103778f6.tar.xz
linux-dev-992caf7f17243d736fc996770bac6566103778f6.zip
locking/rtmutex: Add adaptive spinwait mechanism
Going to sleep when locks are contended can be quite inefficient when the contention time is short and the lock owner is running on a different CPU. The MCS mechanism cannot be used because MCS is strictly FIFO ordered while for rtmutex based locks the waiter ordering is priority based. Provide a simple adaptive spinwait mechanism which currently restricts the spinning to the top priority waiter. [ tglx: Provide a contemporary changelog, extended it to all rtmutex based locks and updated it to match the other spin on owner implementations ] Originally-by: Gregory Haskins <ghaskins@novell.com> Signed-off-by: Steven Rostedt <rostedt@goodmis.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Signed-off-by: Ingo Molnar <mingo@kernel.org> Link: https://lore.kernel.org/r/20210815211305.912050691@linutronix.de
Diffstat (limited to 'include/linux/spinlock_types_raw.h')
0 files changed, 0 insertions, 0 deletions