From e87c073ecc05fa903b0ce88b9237d45dea96ca22 Mon Sep 17 00:00:00 2001
From: Eugene Syromyatnikov <evgsyr@gmail.com>
Date: Thu, 8 Feb 2018 11:01:52 +0100
Subject: [PATCH 1/2] Update MEMBARRIER_CMD_* constants
* xlat/membarrier_cmds.in: Add new constants, rename
MEMBARRIER_CMD_SHARED to MEMBARRIER_CMD_GLOBAL.
* NEWS: Mention this.
* tests/membarrier.c (main): Update expected output.
Co-Authored-by: Dmitry V. Levin <ldv@altlinux.org>
[ ES: also patch files in tests-m32 and tests-mx32 directories, as well
as the generated xlat/membarriers_cmds.h ]
---
NEWS | 3 ++-
tests/membarrier.c | 25 ++++++++++++++++++++++---
xlat/membarrier_cmds.in | 12 ++++++++----
3 files changed, 32 insertions(+), 8 deletions(-)
Index: strace-4.12/tests/membarrier.c
===================================================================
--- strace-4.12.orig/tests/membarrier.c 2018-07-19 05:12:03.106834204 +0200
+++ strace-4.12/tests/membarrier.c 2018-07-19 05:47:43.260852729 +0200
@@ -47,17 +47,36 @@
switch (rc) {
case 1:
- text = "MEMBARRIER_CMD_SHARED";
+ text = "MEMBARRIER_CMD_GLOBAL";
break;
case 1|8:
- text = "MEMBARRIER_CMD_SHARED|"
+ text = "MEMBARRIER_CMD_GLOBAL|"
"MEMBARRIER_CMD_PRIVATE_EXPEDITED";
break;
case 1|8|16:
- text = "MEMBARRIER_CMD_SHARED|"
+ text = "MEMBARRIER_CMD_GLOBAL|"
"MEMBARRIER_CMD_PRIVATE_EXPEDITED|"
"MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED";
break;
+
+ case 1|2|4|8|16:
+ text = "MEMBARRIER_CMD_GLOBAL|"
+ "MEMBARRIER_CMD_GLOBAL_EXPEDITED|"
+ "MEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITED|"
+ "MEMBARRIER_CMD_PRIVATE_EXPEDITED|"
+ "MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED";
+ break;
+
+ case 1|2|4|8|16|32|64:
+ text = "MEMBARRIER_CMD_GLOBAL|"
+ "MEMBARRIER_CMD_GLOBAL_EXPEDITED|"
+ "MEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITED|"
+ "MEMBARRIER_CMD_PRIVATE_EXPEDITED|"
+ "MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED|"
+ "MEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_CORE|"
+ "MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE";
+ break;
+
default:
error_msg_and_fail("membarrier returned %#x, does"
" the test have to be updated?", rc);
Index: strace-4.12/tests-m32/membarrier.c
===================================================================
--- strace-4.12.orig/tests-m32/membarrier.c 2018-07-19 05:12:03.106834204 +0200
+++ strace-4.12/tests-m32/membarrier.c 2018-07-19 05:47:43.260852729 +0200
@@ -47,17 +47,36 @@
switch (rc) {
case 1:
- text = "MEMBARRIER_CMD_SHARED";
+ text = "MEMBARRIER_CMD_GLOBAL";
break;
case 1|8:
- text = "MEMBARRIER_CMD_SHARED|"
+ text = "MEMBARRIER_CMD_GLOBAL|"
"MEMBARRIER_CMD_PRIVATE_EXPEDITED";
break;
case 1|8|16:
- text = "MEMBARRIER_CMD_SHARED|"
+ text = "MEMBARRIER_CMD_GLOBAL|"
"MEMBARRIER_CMD_PRIVATE_EXPEDITED|"
"MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED";
break;
+
+ case 1|2|4|8|16:
+ text = "MEMBARRIER_CMD_GLOBAL|"
+ "MEMBARRIER_CMD_GLOBAL_EXPEDITED|"
+ "MEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITED|"
+ "MEMBARRIER_CMD_PRIVATE_EXPEDITED|"
+ "MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED";
+ break;
+
+ case 1|2|4|8|16|32|64:
+ text = "MEMBARRIER_CMD_GLOBAL|"
+ "MEMBARRIER_CMD_GLOBAL_EXPEDITED|"
+ "MEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITED|"
+ "MEMBARRIER_CMD_PRIVATE_EXPEDITED|"
+ "MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED|"
+ "MEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_CORE|"
+ "MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE";
+ break;
+
default:
error_msg_and_fail("membarrier returned %#x, does"
" the test have to be updated?", rc);
Index: strace-4.12/tests-mx32/membarrier.c
===================================================================
--- strace-4.12.orig/tests-mx32/membarrier.c 2018-07-19 05:12:03.106834204 +0200
+++ strace-4.12/tests-mx32/membarrier.c 2018-07-19 05:47:43.260852729 +0200
@@ -47,17 +47,36 @@
switch (rc) {
case 1:
- text = "MEMBARRIER_CMD_SHARED";
+ text = "MEMBARRIER_CMD_GLOBAL";
break;
case 1|8:
- text = "MEMBARRIER_CMD_SHARED|"
+ text = "MEMBARRIER_CMD_GLOBAL|"
"MEMBARRIER_CMD_PRIVATE_EXPEDITED";
break;
case 1|8|16:
- text = "MEMBARRIER_CMD_SHARED|"
+ text = "MEMBARRIER_CMD_GLOBAL|"
"MEMBARRIER_CMD_PRIVATE_EXPEDITED|"
"MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED";
break;
+
+ case 1|2|4|8|16:
+ text = "MEMBARRIER_CMD_GLOBAL|"
+ "MEMBARRIER_CMD_GLOBAL_EXPEDITED|"
+ "MEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITED|"
+ "MEMBARRIER_CMD_PRIVATE_EXPEDITED|"
+ "MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED";
+ break;
+
+ case 1|2|4|8|16|32|64:
+ text = "MEMBARRIER_CMD_GLOBAL|"
+ "MEMBARRIER_CMD_GLOBAL_EXPEDITED|"
+ "MEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITED|"
+ "MEMBARRIER_CMD_PRIVATE_EXPEDITED|"
+ "MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED|"
+ "MEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_CORE|"
+ "MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE";
+ break;
+
default:
error_msg_and_fail("membarrier returned %#x, does"
" the test have to be updated?", rc);
Index: strace-4.12/xlat/membarrier_cmds.in
===================================================================
--- strace-4.12.orig/xlat/membarrier_cmds.in 2018-07-19 05:12:03.106834204 +0200
+++ strace-4.12/xlat/membarrier_cmds.in 2018-07-19 05:36:28.224374142 +0200
@@ -1,4 +1,8 @@
-MEMBARRIER_CMD_QUERY 0
-MEMBARRIER_CMD_SHARED 1
-MEMBARRIER_CMD_PRIVATE_EXPEDITED 8
-MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED 16
+MEMBARRIER_CMD_QUERY 0
+MEMBARRIER_CMD_GLOBAL 1 << 0
+MEMBARRIER_CMD_GLOBAL_EXPEDITED 1 << 1
+MEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITED 1 << 2
+MEMBARRIER_CMD_PRIVATE_EXPEDITED 1 << 3
+MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED 1 << 4
+MEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_CORE 1 << 5
+MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE 1 << 6
Index: strace-4.12/xlat/membarrier_cmds.h
===================================================================
--- strace-4.12.orig/xlat/membarrier_cmds.h 2018-07-19 04:50:23.523169050 +0200
+++ strace-4.12/xlat/membarrier_cmds.h 2018-07-19 05:49:44.237325487 +0200
@@ -2,14 +2,26 @@
#if !(defined(MEMBARRIER_CMD_QUERY) || (defined(HAVE_DECL_MEMBARRIER_CMD_QUERY) && HAVE_DECL_MEMBARRIER_CMD_QUERY))
# define MEMBARRIER_CMD_QUERY 0
#endif
-#if !(defined(MEMBARRIER_CMD_SHARED) || (defined(HAVE_DECL_MEMBARRIER_CMD_SHARED) && HAVE_DECL_MEMBARRIER_CMD_SHARED))
-# define MEMBARRIER_CMD_SHARED 1
+#if !(defined(MEMBARRIER_CMD_GLOBAL) || (defined(HAVE_DECL_MEMBARRIER_CMD_GLOBAL) && HAVE_DECL_MEMBARRIER_CMD_GLOBAL))
+# define MEMBARRIER_CMD_GLOBAL 1 << 0
+#endif
+#if !(defined(MEMBARRIER_CMD_GLOBAL_EXPEDITED) || (defined(HAVE_DECL_MEMBARRIER_CMD_GLOBAL_EXPEDITED) && HAVE_DECL_MEMBARRIER_CMD_GLOBAL_EXPEDITED))
+# define MEMBARRIER_CMD_GLOBAL_EXPEDITED 1 << 1
+#endif
+#if !(defined(MEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITED) || (defined(HAVE_DECL_MEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITED) && HAVE_DECL_MEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITED))
+# define MEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITED 1 << 2
#endif
#if !(defined(MEMBARRIER_CMD_PRIVATE_EXPEDITED) || (defined(HAVE_DECL_MEMBARRIER_CMD_PRIVATE_EXPEDITED) && HAVE_DECL_MEMBARRIER_CMD_PRIVATE_EXPEDITED))
-# define MEMBARRIER_CMD_PRIVATE_EXPEDITED 8
+# define MEMBARRIER_CMD_PRIVATE_EXPEDITED 1 << 3
#endif
#if !(defined(MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED) || (defined(HAVE_DECL_MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED) && HAVE_DECL_MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED))
-# define MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED 16
+# define MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED 1 << 4
+#endif
+#if !(defined(MEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_CORE) || (defined(HAVE_DECL_MEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_CORE) && HAVE_DECL_MEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_CORE))
+# define MEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_CORE 1 << 5
+#endif
+#if !(defined(MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE) || (defined(HAVE_DECL_MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE) && HAVE_DECL_MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE))
+# define MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE 1 << 6
#endif
#ifdef IN_MPERS
@@ -21,9 +33,13 @@
static
const struct xlat membarrier_cmds[] = {
XLAT(MEMBARRIER_CMD_QUERY),
- XLAT(MEMBARRIER_CMD_SHARED),
+ XLAT(MEMBARRIER_CMD_GLOBAL),
+ XLAT(MEMBARRIER_CMD_GLOBAL_EXPEDITED),
+ XLAT(MEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITED),
XLAT(MEMBARRIER_CMD_PRIVATE_EXPEDITED),
XLAT(MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED),
+ XLAT(MEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_CORE),
+ XLAT(MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE),
XLAT_END
};