[RFC PATCH v2 0/5] futex: Introducing throughput-optimized futexes

From: Waiman Long
Date: Tue Sep 20 2016 - 09:43:27 EST


v1->v2:
- Adds an explicit lock hand-off mechanism.
- Adds timeout support.
- Simplifies the required userspace code.
- Fixes a number of problems in the v1 code.

This patchset introduces a new futex implementation called
throughput-optimized (TO) futexes. It is similar to PI futexes in its
calling convention, but provides better throughput than the wait-wake
futexes by encouraging lock stealing and optimistic spinning.

Waiman Long (5):
futex: Add futex_set_timer() helper function
futex: Rename futex_pi_state to futex_state
futex: Throughput-optimized (TO) futexes
futex: Add timeout support to TO futexes
futex, doc: TO futexes document

Documentation/00-INDEX | 2 +
Documentation/to-futex.txt | 140 ++++++++
include/linux/sched.h | 4 +-
include/uapi/linux/futex.h | 4 +
kernel/futex.c | 810 +++++++++++++++++++++++++++++++++++++++-----
5 files changed, 869 insertions(+), 91 deletions(-)
create mode 100644 Documentation/to-futex.txt