]> www.infradead.org Git - users/jedix/linux-maple.git/commit
futex: Implement FUTEX2_MPOL
authorPeter Zijlstra <peterz@infradead.org>
Wed, 16 Apr 2025 16:29:17 +0000 (18:29 +0200)
committerPeter Zijlstra <peterz@infradead.org>
Sat, 3 May 2025 10:02:09 +0000 (12:02 +0200)
commitc042c505210dc3453f378df432c10fff3d471bc5
tree1d3ef6d9a73ec25e9ba97684717e60aaba4fdff4
parentcec199c5e39bde7191a08087cc3d002ccfab31ff
futex: Implement FUTEX2_MPOL

Extend the futex2 interface to be aware of mempolicy.

When FUTEX2_MPOL is specified and there is a MPOL_PREFERRED or
home_node specified covering the futex address, use that hash-map.

Notably, in this case the futex will go to the global node hashtable,
even if it is a PRIVATE futex.

When FUTEX2_NUMA|FUTEX2_MPOL is specified and the user specified node
value is FUTEX_NO_NODE, the MPOL lookup (as described above) will be
tried first before reverting to setting node to the local node.

[bigeasy: add CONFIG_FUTEX_MPOL, add MPOL to FUTEX2_VALID_MASK, write
the node only to user if FUTEX_NO_NODE was supplied]

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lore.kernel.org/r/20250416162921.513656-18-bigeasy@linutronix.de
include/linux/mmap_lock.h
include/uapi/linux/futex.h
init/Kconfig
kernel/futex/core.c
kernel/futex/futex.h