.BR MPOL_INTERLEAVE ,
.BR MPOL_WEIGHTED_INTERLEAVE ,
.BR MPOL_PREFERRED ,
+.BR MPOL_PREFERRED_MANY ,
or
.B MPOL_LOCAL
(which are described in detail below).
arguments specify the empty set, then the memory is allocated on
the node of the CPU that triggered the allocation.
.TP
+.BR MPOL_PREFERRED_MANY " (since Linux 5.15)"
+.\" commit b27abaccf8e8b012f126da0c2a1ab32723ec8b9f
+Specifies a set of nodes for allocation; see
+.BR set_mempolicy (2)
+.TP
.BR MPOL_LOCAL " (since Linux 3.8)"
.\" commit 479e2802d09f1e18a97262c4c6f8f17ae5884bd8
.\" commit f2a07f40dbc603c15f8b06e6ec7f768af67b424f
.BR MPOL_INTERLEAVE ,
.BR MPOL_WEIGHTED_INTERLEAVE ,
.BR MPOL_PREFERRED ,
+.BR MPOL_PREFERRED_MANY ,
or
.B MPOL_LOCAL
(which are described in detail below).
specifies "local allocation"
(like the system default policy discussed above).
.TP
+.BR MPOL_PREFERRED_MANY " (since Linux 5.15)"
+.\" commit b27abaccf8e8b012f126da0c2a1ab32723ec8b9f
+This mode specifies a preference for nodes
+from which the kernel will try to allocate from.
+This differs from
+.B MPOL_PREFERRED
+in that it accepts a set of nodes
+versus a single node.
+This policy is intended to benefit page allocations
+where specific memory types
+(i.e. non-volatile, high-bandwidth, or accelerator memory)
+are of greater importance than node location.
+.TP
.BR MPOL_LOCAL " (since Linux 3.8)"
.\" commit 479e2802d09f1e18a97262c4c6f8f17ae5884bd8
.\" commit f2a07f40dbc603c15f8b06e6ec7f768af67b424f