Messages in this thread | | | From | Peter Oskolkov <> | Subject | [PATCH for 5.9 v2 0/4] FUTEX_SWAP (tip/locking/core) | Date | Mon, 3 Aug 2020 15:15:06 -0700 |
| |
From: Peter Oskolkov <posk@google.com>
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
| |