[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20200803221510.170674-1-posk@posk.io>
Date: Mon, 3 Aug 2020 15:15:06 -0700
From: Peter Oskolkov <posk@...k.io>
To: Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>, Ingo Molnar <mingo@...nel.org>,
Peter Zijlstra <peterz@...radead.org>,
Darren Hart <dvhart@...radead.org>,
Vincent Guittot <vincent.guittot@...aro.org>
Cc: Peter Oskolkov <posk@...gle.com>, Andrei Vagin <avagin@...gle.com>,
Paul Turner <pjt@...gle.com>, Ben Segall <bsegall@...gle.com>,
Aaron Lu <aaron.lwe@...il.com>
Subject: [PATCH for 5.9 v2 0/4] FUTEX_SWAP (tip/locking/core)
From: Peter Oskolkov <posk@...gle.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
Powered by blists - more mailing lists