Steven Rostedt 992caf7f17 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
2021-08-17 19:06:11 +02:00
..
2021-08-10 13:09:28 +02:00
2021-04-27 18:14:38 -07:00
2021-06-29 12:07:18 -07:00
2021-06-10 20:59:05 -04:00
2021-04-08 16:04:20 -07:00
2021-06-18 11:43:08 +02:00
2021-05-07 00:26:33 -07:00
2021-07-11 11:06:09 -07:00
2020-12-14 16:40:27 -08:00
2020-12-17 13:01:31 -08:00
2020-12-14 16:40:27 -08:00
2021-06-18 11:43:09 +02:00
2020-12-01 10:30:28 +00:00
2021-06-18 11:43:07 +02:00
2021-05-07 00:26:34 -07:00