summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSven Schnelle <svens@linux.ibm.com>2023-01-12 14:10:52 +0100
committerDmitry V. Levin <ldv@strace.io>2023-01-30 13:54:29 +0000
commitdb4f02c8e312fee52639cac8a309bbde87846231 (patch)
treee13a8d8c71cbb1a6ad13da1ae39c7ba0262da4e9
parent9c794e2a32b76f880bb9bbe73cdf2980e36211da (diff)
downloadstrace-db4f02c8e312fee52639cac8a309bbde87846231.tar.gz
membarrier: add MEMBARRIER_CMD_GET_REGISTRATIONS flag
Signed-off-by: Sven Schnelle <svens@linux.ibm.com> * src/xlat/membarrier_cmds.in (MEMBARRIER_CMD_GET_REGISTRATIONS): New constant which is likely to be introduced in Linux kernel v6.3. * tests/membarrier.c (main): Update expected output. * NEWS: Mention the change.
-rw-r--r--NEWS2
-rw-r--r--src/xlat/membarrier_cmds.in1
-rw-r--r--tests/membarrier.c10
3 files changed, 12 insertions, 1 deletions
diff --git a/NEWS b/NEWS
index e838ca10a..dca78dc97 100644
--- a/NEWS
+++ b/NEWS
@@ -4,7 +4,7 @@ Noteworthy changes in release ?.? (????-??-??)
* Improvements
* Implemented decoding of IFLA_BRPORT_MAB and IFLA_DEVLINK_PORT
netlink attributes.
- * Updated lists of ALG_*, BPF_*, IFLA_*, and KEY_* constants.
+ * Updated lists of ALG_*, BPF_*, IFLA_*, KEY_*, and MEMBARRIER_* constants.
* Updated lists of ioctl commands from Linux 6.2.
Noteworthy changes in release 6.1 (2022-12-12)
diff --git a/src/xlat/membarrier_cmds.in b/src/xlat/membarrier_cmds.in
index cfa683328..86124bd1e 100644
--- a/src/xlat/membarrier_cmds.in
+++ b/src/xlat/membarrier_cmds.in
@@ -8,3 +8,4 @@ MEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_CORE (1 << 5)
MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE (1 << 6)
MEMBARRIER_CMD_PRIVATE_EXPEDITED_RSEQ (1 << 7)
MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_RSEQ (1 << 8)
+MEMBARRIER_CMD_GET_REGISTRATIONS (1 << 9)
diff --git a/tests/membarrier.c b/tests/membarrier.c
index c04873419..10261eb02 100644
--- a/tests/membarrier.c
+++ b/tests/membarrier.c
@@ -80,6 +80,16 @@ main(void)
"MEMBARRIER_CMD_PRIVATE_EXPEDITED_RSEQ|"
"MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_RSEQ";
break;
+ case 2|4|8|16|128|256|512:
+ text = "MEMBARRIER_CMD_GLOBAL_EXPEDITED|"
+ "MEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITED|"
+ "MEMBARRIER_CMD_PRIVATE_EXPEDITED|"
+ "MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED|"
+ "MEMBARRIER_CMD_PRIVATE_EXPEDITED_RSEQ|"
+ "MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_RSEQ|"
+ "MEMBARRIER_CMD_GET_REGISTRATIONS";
+ break;
+
default:
error_msg_and_fail("membarrier returned %#x, does"
" the test have to be updated?", rc);