[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230721102237.268073801@infradead.org>
Date: Fri, 21 Jul 2023 12:22:37 +0200
From: Peter Zijlstra <peterz@...radead.org>
To: tglx@...utronix.de, axboe@...nel.dk
Cc: linux-kernel@...r.kernel.org, peterz@...radead.org,
mingo@...hat.com, dvhart@...radead.org, dave@...olabs.net,
andrealmeid@...lia.com, Andrew Morton <akpm@...ux-foundation.org>,
urezki@...il.com, hch@...radead.org, lstoakes@...il.com,
Arnd Bergmann <arnd@...db.de>, linux-api@...r.kernel.org,
linux-mm@...ck.org, linux-arch@...r.kernel.org,
malteskarupke@....de
Subject: [PATCH v1 00/14] futex: More futex2 bits
Hi,
New version of the futex2 patches. These are actually tested and appear to work
as expected.
I'm hoping to get at least the first 3 patches merged such that Jens can base
the io_uring futex patches on them.
Changes since v0:
- switched over to 'unsigned long' for values (Arnd)
- unshare vmalloc_huge() (Willy)
- added wait/requeue syscalls
- fixed NUMA to support sparse nodemask
- added FUTEX2_n vs FUTEX2_NUMA check to ensure
the node_id fits in the futex
- added selftests
- fixed a ton of silly bugs
---
arch/alpha/kernel/syscalls/syscall.tbl | 3 +
arch/arm/tools/syscall.tbl | 3 +
arch/arm64/include/asm/unistd32.h | 6 +
arch/ia64/kernel/syscalls/syscall.tbl | 3 +
arch/m68k/kernel/syscalls/syscall.tbl | 3 +
arch/microblaze/kernel/syscalls/syscall.tbl | 3 +
arch/mips/kernel/syscalls/syscall_n32.tbl | 3 +
arch/mips/kernel/syscalls/syscall_n64.tbl | 3 +
arch/mips/kernel/syscalls/syscall_o32.tbl | 3 +
arch/parisc/kernel/syscalls/syscall.tbl | 3 +
arch/powerpc/kernel/syscalls/syscall.tbl | 3 +
arch/s390/kernel/syscalls/syscall.tbl | 3 +
arch/sh/kernel/syscalls/syscall.tbl | 3 +
arch/sparc/kernel/syscalls/syscall.tbl | 3 +
arch/x86/entry/syscalls/syscall_32.tbl | 3 +
arch/x86/entry/syscalls/syscall_64.tbl | 3 +
arch/xtensa/kernel/syscalls/syscall.tbl | 3 +
include/linux/futex.h | 14 +-
include/linux/syscalls.h | 10 +
include/linux/vmalloc.h | 1 +
include/uapi/asm-generic/unistd.h | 9 +-
include/uapi/linux/futex.h | 17 +-
kernel/futex/core.c | 144 +++++++++++---
kernel/futex/futex.h | 96 ++++++++-
kernel/futex/pi.c | 12 +-
kernel/futex/requeue.c | 18 +-
kernel/futex/syscalls.c | 221 ++++++++++++++++-----
kernel/futex/waitwake.c | 80 ++++----
kernel/sys_ni.c | 3 +
mm/vmalloc.c | 7 +
.../selftests/futex/functional/futex_requeue.c | 100 +++++++++-
.../selftests/futex/functional/futex_wait.c | 56 +++++-
.../futex/functional/futex_wait_timeout.c | 14 +-
.../futex/functional/futex_wait_wouldblock.c | 28 ++-
.../selftests/futex/functional/futex_waitv.c | 15 +-
tools/testing/selftests/futex/functional/run.sh | 6 +
tools/testing/selftests/futex/include/futex2test.h | 39 ++++
37 files changed, 777 insertions(+), 167 deletions(-)
Powered by blists - more mailing lists