selftests/rseq: Remove RSEQ_SKIP_FASTPATH code
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Tue, 22 Nov 2022 20:39:11 +0000 (15:39 -0500)
committerPeter Zijlstra <peterz@infradead.org>
Tue, 27 Dec 2022 11:52:12 +0000 (12:52 +0100)
This code is not currently build by the test Makefile, adds complexity,
and is not overall useful considering that the abort handling loops to
retry the fast-path.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lore.kernel.org/r/20221122203932.231377-10-mathieu.desnoyers@efficios.com
tools/testing/selftests/rseq/param_test.c
tools/testing/selftests/rseq/rseq-arm.h
tools/testing/selftests/rseq/rseq-arm64.h
tools/testing/selftests/rseq/rseq-mips.h
tools/testing/selftests/rseq/rseq-ppc.h
tools/testing/selftests/rseq/rseq-riscv.h
tools/testing/selftests/rseq/rseq-s390.h
tools/testing/selftests/rseq/rseq-skip.h [deleted file]
tools/testing/selftests/rseq/rseq-x86.h

index ef29bc16f358f275b83e98a15c64e0c26f0bb6bf..9869369a8607506fdac058a3a89faeabbd6c65ba 100644 (file)
@@ -38,11 +38,7 @@ static int opt_yield, opt_signal, opt_sleep,
                opt_disable_rseq, opt_threads = 200,
                opt_disable_mod = 0, opt_test = 's', opt_mb = 0;
 
-#ifndef RSEQ_SKIP_FASTPATH
 static long long opt_reps = 5000;
-#else
-static long long opt_reps = 100;
-#endif
 
 static __thread __attribute__((tls_model("initial-exec")))
 unsigned int signals_delivered;
index 893a11eca9d51755dd6c1616f9dc1ec58bdec5c4..7445107f842bf88f29b61b45fb61d6059872f851 100644 (file)
@@ -79,10 +79,6 @@ do {                                                                 \
        RSEQ_WRITE_ONCE(*p, v);                                         \
 } while (0)
 
-#ifdef RSEQ_SKIP_FASTPATH
-#include "rseq-skip.h"
-#else /* !RSEQ_SKIP_FASTPATH */
-
 #define __RSEQ_ASM_DEFINE_TABLE(label, version, flags, start_ip,       \
                                post_commit_offset, abort_ip)           \
                ".pushsection __rseq_cs, \"aw\"\n\t"                    \
@@ -823,5 +819,3 @@ error2:
        rseq_bug("expected value comparison failed");
 #endif
 }
-
-#endif /* !RSEQ_SKIP_FASTPATH */
index cbe190a4d0056b2e30537d5f52217c5693877cb9..49c387fcd8685befe209538d78c77ecc5f878b5b 100644 (file)
@@ -85,10 +85,6 @@ do {                                                                         \
        }                                                                       \
 } while (0)
 
-#ifdef RSEQ_SKIP_FASTPATH
-#include "rseq-skip.h"
-#else /* !RSEQ_SKIP_FASTPATH */
-
 #define RSEQ_ASM_TMP_REG32     "w15"
 #define RSEQ_ASM_TMP_REG       "x15"
 #define RSEQ_ASM_TMP_REG_2     "x14"
@@ -691,5 +687,3 @@ error2:
        rseq_bug("expected value comparison failed");
 #endif
 }
-
-#endif /* !RSEQ_SKIP_FASTPATH */
index 878739fae2fdeb917be6ed817a854b2fa09bdd3f..dd199952d6499a59b043a212dc9ae91313ad176c 100644 (file)
@@ -60,10 +60,6 @@ do {                                                                 \
        RSEQ_WRITE_ONCE(*p, v);                                         \
 } while (0)
 
-#ifdef RSEQ_SKIP_FASTPATH
-#include "rseq-skip.h"
-#else /* !RSEQ_SKIP_FASTPATH */
-
 #if _MIPS_SZLONG == 64
 # define LONG                  ".dword"
 # define LONG_LA               "dla"
@@ -773,5 +769,3 @@ error2:
        rseq_bug("expected value comparison failed");
 #endif
 }
-
-#endif /* !RSEQ_SKIP_FASTPATH */
index bab8e0b9fb1154c00eca3191c9994e02fa0858bb..f82d95c1bb3f9aa0503b4345a42521280b624091 100644 (file)
@@ -36,10 +36,6 @@ do {                                                                 \
        RSEQ_WRITE_ONCE(*p, v);                                         \
 } while (0)
 
-#ifdef RSEQ_SKIP_FASTPATH
-#include "rseq-skip.h"
-#else /* !RSEQ_SKIP_FASTPATH */
-
 /*
  * The __rseq_cs_ptr_array and __rseq_cs sections can be used by debuggers to
  * better handle single-stepping through the restartable critical sections.
@@ -787,5 +783,3 @@ error2:
        rseq_bug("expected value comparison failed");
 #endif
 }
-
-#endif /* !RSEQ_SKIP_FASTPATH */
index 3a391c9bf4689af405b83b50fbebfa80069fcb5a..b16d943a63e1ebdebd2887bfc82cb7a333f8f7f7 100644 (file)
@@ -49,10 +49,6 @@ do {                                                                 \
        RSEQ_WRITE_ONCE(*(p), v);                                               \
 } while (0)
 
-#ifdef RSEQ_SKIP_FASTPATH
-#include "rseq-skip.h"
-#else /* !RSEQ_SKIP_FASTPATH */
-
 #define __RSEQ_ASM_DEFINE_TABLE(label, version, flags, start_ip,       \
                                post_commit_offset, abort_ip)           \
        ".pushsection   __rseq_cs, \"aw\"\n"                            \
@@ -673,5 +669,3 @@ error1:
        rseq_bug("cpu_id comparison failed");
 #endif
 }
-
-#endif /* !RSEQ_SKIP_FASTPATH */
index 4e6dc5f0cb4290b97cd9483d38ae6c506c4b6494..4d3286453bbfc820144e43441e23313e43295206 100644 (file)
@@ -28,10 +28,6 @@ do {                                                                 \
        RSEQ_WRITE_ONCE(*p, v);                                         \
 } while (0)
 
-#ifdef RSEQ_SKIP_FASTPATH
-#include "rseq-skip.h"
-#else /* !RSEQ_SKIP_FASTPATH */
-
 #ifdef __s390x__
 
 #define LONG_L                 "lg"
@@ -607,4 +603,3 @@ int rseq_cmpeqv_trymemcpy_storev_release(intptr_t *v, intptr_t expect,
        return rseq_cmpeqv_trymemcpy_storev(v, expect, dst, src, len,
                                            newv, cpu);
 }
-#endif /* !RSEQ_SKIP_FASTPATH */
diff --git a/tools/testing/selftests/rseq/rseq-skip.h b/tools/testing/selftests/rseq/rseq-skip.h
deleted file mode 100644 (file)
index 7b53dac..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-/* SPDX-License-Identifier: LGPL-2.1 OR MIT */
-/*
- * rseq-skip.h
- *
- * (C) Copyright 2017-2018 - Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
- */
-
-static inline __attribute__((always_inline))
-int rseq_cmpeqv_storev(intptr_t *v, intptr_t expect, intptr_t newv, int cpu)
-{
-       return -1;
-}
-
-static inline __attribute__((always_inline))
-int rseq_cmpnev_storeoffp_load(intptr_t *v, intptr_t expectnot,
-                              long voffp, intptr_t *load, int cpu)
-{
-       return -1;
-}
-
-static inline __attribute__((always_inline))
-int rseq_addv(intptr_t *v, intptr_t count, int cpu)
-{
-       return -1;
-}
-
-static inline __attribute__((always_inline))
-int rseq_cmpeqv_trystorev_storev(intptr_t *v, intptr_t expect,
-                                intptr_t *v2, intptr_t newv2,
-                                intptr_t newv, int cpu)
-{
-       return -1;
-}
-
-static inline __attribute__((always_inline))
-int rseq_cmpeqv_trystorev_storev_release(intptr_t *v, intptr_t expect,
-                                        intptr_t *v2, intptr_t newv2,
-                                        intptr_t newv, int cpu)
-{
-       return -1;
-}
-
-static inline __attribute__((always_inline))
-int rseq_cmpeqv_cmpeqv_storev(intptr_t *v, intptr_t expect,
-                             intptr_t *v2, intptr_t expect2,
-                             intptr_t newv, int cpu)
-{
-       return -1;
-}
-
-static inline __attribute__((always_inline))
-int rseq_cmpeqv_trymemcpy_storev(intptr_t *v, intptr_t expect,
-                                void *dst, void *src, size_t len,
-                                intptr_t newv, int cpu)
-{
-       return -1;
-}
-
-static inline __attribute__((always_inline))
-int rseq_cmpeqv_trymemcpy_storev_release(intptr_t *v, intptr_t expect,
-                                        void *dst, void *src, size_t len,
-                                        intptr_t newv, int cpu)
-{
-       return -1;
-}
index bd01dc41ca1306045215ffb9f156cd6a981a2928..e148dfb2f68a5b6370bc838ec29baa217e35fe44 100644 (file)
@@ -50,10 +50,6 @@ do {                                                                 \
        RSEQ_WRITE_ONCE(*p, v);                                         \
 } while (0)
 
-#ifdef RSEQ_SKIP_FASTPATH
-#include "rseq-skip.h"
-#else /* !RSEQ_SKIP_FASTPATH */
-
 #define __RSEQ_ASM_DEFINE_TABLE(label, version, flags,                 \
                                start_ip, post_commit_offset, abort_ip) \
                ".pushsection __rseq_cs, \"aw\"\n\t"                    \
@@ -629,8 +625,6 @@ int rseq_cmpeqv_trymemcpy_storev_release(intptr_t *v, intptr_t expect,
                                            newv, cpu);
 }
 
-#endif /* !RSEQ_SKIP_FASTPATH */
-
 #elif defined(__i386__)
 
 #define RSEQ_ASM_TP_SEGMENT    %%gs
@@ -657,10 +651,6 @@ do {                                                                       \
        RSEQ_WRITE_ONCE(*p, v);                                         \
 } while (0)
 
-#ifdef RSEQ_SKIP_FASTPATH
-#include "rseq-skip.h"
-#else /* !RSEQ_SKIP_FASTPATH */
-
 /*
  * Use eax as scratch register and take memory operands as input to
  * lessen register pressure. Especially needed when compiling in O0.
@@ -1360,6 +1350,4 @@ error2:
 #endif
 }
 
-#endif /* !RSEQ_SKIP_FASTPATH */
-
 #endif