History

Merge branch 'locking/core' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into io_uring-futex

Pull in locking/core from the tip tree, to get the futex2 dependencies from Peter Zijlstra. * 'locking/core' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (24 commits) locking/ww_mutex/test: Make sure we bail out instead of livelock locking/ww_mutex/test: Fix potential workqueue corruption locking/ww_mutex/test: Use prng instead of rng to avoid hangs at bootup futex: Add sys_futex_requeue() futex: Add flags2 argument to futex_requeue() futex: Propagate flags into get_futex_key() futex: Add sys_futex_wait() futex: FLAGS_STRICT futex: Add sys_futex_wake() futex: Validate futex value against futex size futex: Flag conversion futex: Extend the FUTEX2 flags futex: Clarify FUTEX2 flags asm-generic: ticket-lock: Optimize arch_spin_value_unlocked() futex/pi: Fix recursive rt_mutex waiter state locking/rtmutex: Add a lockdep assert to catch potential nested blocking locking/rtmutex: Use rt_mutex specific scheduler helpers sched: Provide rt_mutex specific scheduler helpers sched: Extract __schedule_loop() locking/rtmutex: Avoid unconditional slowpath for DEBUG_RT_MUTEXES ...

Jens Axboe committed 3 years ago

Commit 52e856c2 parents 73c7e7a cfa92b640 files · +708 −207Browse files

Showing the changes to include/uapi (2 of 40 files). Show all

Unified · Split

2 files
  1. include/uapi/asm-generic/unistd.h +7 −1
  2. include/uapi/linux/futex.h +28 −3
include/uapi/asm-generic/unistd.h+7−1
@@ -822,9 +822,15 @@ __SYSCALL(__NR_cachestat, sys_cachestat) · 821 unmodified lines
822822
823823 #define __NR_fchmodat2 452
824824 __SYSCALL(__NR_fchmodat2, sys_fchmodat2)
825+#define __NR_futex_wake 454
826+__SYSCALL(__NR_futex_wake, sys_futex_wake)
827+#define __NR_futex_wait 455
828+__SYSCALL(__NR_futex_wait, sys_futex_wait)
829+#define __NR_futex_requeue 456
830+__SYSCALL(__NR_futex_requeue, sys_futex_requeue)
825831
826832 #undef __NR_syscalls
827−#define __NR_syscalls 453
833+#define __NR_syscalls 457
828834
829835 /*
830836 * 32 bit systems traditionally used different
include/uapi/linux/futex.h+28−3
@@ -44,10 +44,35 @@ · 43 unmodified lines
4444 FUTEX_PRIVATE_FLAG)
4545
4646 /*
47− * Flags to specify the bit length of the futex word for futex2 syscalls.
48− * Currently, only 32 is supported.
47+ * Flags for futex2 syscalls.
48+ *
49+ * NOTE: these are not pure flags, they can also be seen as:
50+ *
51+ * union {
52+ * u32 flags;
53+ * struct {
54+ * u32 size : 2,
55+ * numa : 1,
56+ * : 4,
57+ * private : 1;
58+ * };
59+ * };
4960 */
50−#define FUTEX_32 2
61+#define FUTEX2_SIZE_U8 0x00
62+#define FUTEX2_SIZE_U16 0x01
63+#define FUTEX2_SIZE_U32 0x02
64+#define FUTEX2_SIZE_U64 0x03
65+#define FUTEX2_NUMA 0x04
66+ /* 0x08 */
67+ /* 0x10 */
68+ /* 0x20 */
69+ /* 0x40 */
70+#define FUTEX2_PRIVATE FUTEX_PRIVATE_FLAG
71+
72+#define FUTEX2_SIZE_MASK 0x03
73+
74+/* do not use */
75+#define FUTEX_32 FUTEX2_SIZE_U32 /* historical accident :-( */
5176
5277 /*
5378 * Max numbers of elements in a futex_waitv array

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t