[PATCH for 5.9 v2 0/4] FUTEX_SWAP (tip/locking/core)
From: Peter Oskolkov
Date: Mon Aug 03 2020 - 18:15:17 EST
From: Peter Oskolkov <posk@xxxxxxxxxx>
This patchset introduces FUTEX_SWAP operation for fast
task context switching (aided by futexes). Detailed
use cases and reasoning are included in the commit message
of the first patch in the patchset.
v1->v2:
- split two #defines in futex.h into a small first patch
- detailed the use cases and reasoning in the commit message
of the first patch
- renamed wake_up_process_prefer_current_cpu into wake_up_swap.
Peter Oskolkov (4):
futex: introduce FUTEX_SWAP operation
futex: implement FUTEX_SWAP as wake+wait.
futex/sched: add wake_up_swap, use in FUTEX_SWAP
selftests/futex: add futex_swap selftest
include/linux/sched.h | 6 +
include/uapi/linux/futex.h | 2 +
kernel/futex.c | 86 +++++--
kernel/sched/core.c | 5 +
kernel/sched/fair.c | 3 +
kernel/sched/sched.h | 1 +
.../selftests/futex/functional/.gitignore | 1 +
.../selftests/futex/functional/Makefile | 1 +
.../selftests/futex/functional/futex_swap.c | 209 ++++++++++++++++++
.../selftests/futex/include/futextest.h | 19 ++
10 files changed, 318 insertions(+), 15 deletions(-)
create mode 100644 tools/testing/selftests/futex/functional/futex_swap.c
--
2.25.1