From e87c073ecc05fa903b0ce88b9237d45dea96ca22 Mon Sep 17 00:00:00 2001 From: Eugene Syromyatnikov 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 [ 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 };