diff options
author | Dmitry V. Levin <ldv@strace.io> | 2021-03-27 08:00:00 +0000 |
---|---|---|
committer | Dmitry V. Levin <ldv@strace.io> | 2021-03-27 08:00:00 +0000 |
commit | e6033ef77fddb3b59026e8fedd9543e209716a36 (patch) | |
tree | fe0f52e1e85aea2d3e4196e1b5583abd26161bcc | |
parent | 6c10374247bfe020e0450c02d809cdc4d8e955e8 (diff) | |
download | strace-e6033ef77fddb3b59026e8fedd9543e209716a36.tar.gz |
xlat: update MPOL_* constants
* src/xlat/mpol_mode_flags.in (MPOL_F_NUMA_BALANCING): New constant
introduced by Linux kernel commit v5.12-rc1~40^2~13.
* src/numa.c (print_mode): Add MPOL_F_NUMA_BALANCING to the flags mask.
* NEWS: Mention this change.
* tests/mbind.c (mpol_modes): Check it.
* tests/set_mempolicy.c (mpol_modes): Likewise.
-rw-r--r-- | NEWS | 2 | ||||
-rw-r--r-- | src/numa.c | 5 | ||||
-rw-r--r-- | src/xlat/mpol_mode_flags.in | 1 | ||||
-rw-r--r-- | tests/mbind.c | 36 | ||||
-rw-r--r-- | tests/set_mempolicy.c | 22 |
5 files changed, 41 insertions, 25 deletions
@@ -3,7 +3,7 @@ Noteworthy changes in release ?.?? (????-??-??) * Improvements * Updated decoding of IFLA_BRPORT_* netlink attributes to match Linux 5.12. - * Updated lists of DEVCONF_*, IORING_*, and KVM_* constants. + * Updated lists of DEVCONF_*, IORING_*, KVM_*, and MPOL_* constants. * Bug fixes * Fixed build using bionic libc. diff --git a/src/numa.c b/src/numa.c index ac7a873bf..81cb22ded 100644 --- a/src/numa.c +++ b/src/numa.c @@ -60,8 +60,9 @@ SYS_FUNC(migrate_pages) static void print_mode(struct tcb *const tcp, const kernel_ulong_t mode_arg) { - const kernel_ulong_t flags_mask = - MPOL_F_STATIC_NODES | MPOL_F_RELATIVE_NODES; + const kernel_ulong_t flags_mask = MPOL_F_STATIC_NODES | + MPOL_F_RELATIVE_NODES | + MPOL_F_NUMA_BALANCING; const kernel_ulong_t mode = mode_arg & ~flags_mask; const unsigned int flags = mode_arg & flags_mask; diff --git a/src/xlat/mpol_mode_flags.in b/src/xlat/mpol_mode_flags.in index eeef95348..e647fb58e 100644 --- a/src/xlat/mpol_mode_flags.in +++ b/src/xlat/mpol_mode_flags.in @@ -1,2 +1,3 @@ MPOL_F_STATIC_NODES (1U << 15) MPOL_F_RELATIVE_NODES (1U << 14) +MPOL_F_NUMA_BALANCING (1U << 13) diff --git a/tests/mbind.c b/tests/mbind.c index 52210ba56..5d562c6cf 100644 --- a/tests/mbind.c +++ b/tests/mbind.c @@ -76,32 +76,40 @@ static struct { { ARG_STR(0x4001), "0x4001 /* MPOL_PREFERRED|MPOL_F_RELATIVE_NODES */", "MPOL_PREFERRED|MPOL_F_RELATIVE_NODES" }, - { ARG_STR(0xc002), - "0xc002 /* MPOL_BIND|MPOL_F_STATIC_NODES|MPOL_F_RELATIVE_NODES */", - "MPOL_BIND|MPOL_F_STATIC_NODES|MPOL_F_RELATIVE_NODES" }, + { ARG_STR(0x2002), + "0x2002 /* MPOL_BIND|MPOL_F_NUMA_BALANCING */", + "MPOL_BIND|MPOL_F_NUMA_BALANCING" }, + { ARG_STR(0xe003), + "0xe003 /* MPOL_INTERLEAVE|MPOL_F_STATIC_NODES|MPOL_F_RELATIVE_NODES" + "|MPOL_F_NUMA_BALANCING */", + "MPOL_INTERLEAVE|MPOL_F_STATIC_NODES|MPOL_F_RELATIVE_NODES" + "|MPOL_F_NUMA_BALANCING" }, { ARG_STR(0x5), "0x5 /* MPOL_??? */", "0x5 /* MPOL_??? */" }, - { ARG_STR(0xffff3fff), - "0xffff3fff /* MPOL_??? */", - "0xffff3fff /* MPOL_??? */" }, + { ARG_STR(0xffff1fff), + "0xffff1fff /* MPOL_??? */", + "0xffff1fff /* MPOL_??? */" }, { ARG_STR(0xffffffff), - "0xffffffff /* MPOL_F_STATIC_NODES|MPOL_F_RELATIVE_NODES|0xffff3fff */", - "MPOL_F_STATIC_NODES|MPOL_F_RELATIVE_NODES|0xffff3fff" }, + "0xffffffff /* MPOL_F_STATIC_NODES|MPOL_F_RELATIVE_NODES" + "|MPOL_F_NUMA_BALANCING|0xffff1fff */", + "MPOL_F_STATIC_NODES|MPOL_F_RELATIVE_NODES|MPOL_F_NUMA_BALANCING" + "|0xffff1fff" }, # if SIZEOF_LONG > 4 { 0xffffffff00000000UL, "0xffffffff00000000", "0xffffffff00000000 /* MPOL_??? */", "0xffffffff00000000 /* MPOL_??? */" }, - { 0xffffffffffff3fffUL, - "0xffffffffffff3fff", - "0xffffffffffff3fff /* MPOL_??? */", - "0xffffffffffff3fff /* MPOL_??? */" }, + { 0xffffffffffff1fffUL, + "0xffffffffffff1fff", + "0xffffffffffff1fff /* MPOL_??? */", + "0xffffffffffff1fff /* MPOL_??? */" }, { -1UL, "0xffffffffffffffff", "0xffffffffffffffff /* MPOL_F_STATIC_NODES|MPOL_F_RELATIVE_NODES" - "|0xffffffffffff3fff */", - "MPOL_F_STATIC_NODES|MPOL_F_RELATIVE_NODES|0xffffffffffff3fff" }, + "|MPOL_F_NUMA_BALANCING|0xffffffffffff1fff */", + "MPOL_F_STATIC_NODES|MPOL_F_RELATIVE_NODES|MPOL_F_NUMA_BALANCING" + "|0xffffffffffff1fff" }, # endif }; diff --git a/tests/set_mempolicy.c b/tests/set_mempolicy.c index 3d8c3ce83..88eee4bc4 100644 --- a/tests/set_mempolicy.c +++ b/tests/set_mempolicy.c @@ -74,18 +74,24 @@ static struct { { ARG_STR(0x4001), "0x4001 /* MPOL_PREFERRED|MPOL_F_RELATIVE_NODES */", "MPOL_PREFERRED|MPOL_F_RELATIVE_NODES" }, - { ARG_STR(0xc002), - "0xc002 /* MPOL_BIND|MPOL_F_STATIC_NODES|MPOL_F_RELATIVE_NODES */", - "MPOL_BIND|MPOL_F_STATIC_NODES|MPOL_F_RELATIVE_NODES" }, + { ARG_STR(0x2002), + "0x2002 /* MPOL_BIND|MPOL_F_NUMA_BALANCING */", + "MPOL_BIND|MPOL_F_NUMA_BALANCING" }, + { ARG_STR(0xe003), + "0xe003 /* MPOL_INTERLEAVE|MPOL_F_STATIC_NODES|MPOL_F_RELATIVE_NODES" + "|MPOL_F_NUMA_BALANCING */", + "MPOL_INTERLEAVE|MPOL_F_STATIC_NODES|MPOL_F_RELATIVE_NODES" + "|MPOL_F_NUMA_BALANCING" }, { ARG_STR(0x5), "0x5 /* MPOL_??? */", "0x5 /* MPOL_??? */" }, - { ARG_STR(0xffff3fff), - "0xffff3fff /* MPOL_??? */", - "0xffff3fff /* MPOL_??? */" }, + { ARG_STR(0xffff1fff), + "0xffff1fff /* MPOL_??? */", + "0xffff1fff /* MPOL_??? */" }, { ARG_STR(0xffffffff), - "0xffffffff /* MPOL_F_STATIC_NODES|MPOL_F_RELATIVE_NODES|0xffff3fff */", - "MPOL_F_STATIC_NODES|MPOL_F_RELATIVE_NODES|0xffff3fff" } + "0xffffffff /* MPOL_F_STATIC_NODES|MPOL_F_RELATIVE_NODES" + "|MPOL_F_NUMA_BALANCING|0xffff1fff */", + "MPOL_F_STATIC_NODES|MPOL_F_RELATIVE_NODES|MPOL_F_NUMA_BALANCING|0xffff1fff" } }; static void |