Move DEBUG_FULL_MB to properly named CONFIG_URCU_AVOID_SIGNALS
authorMathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Wed, 8 Jul 2009 04:13:13 +0000 (00:13 -0400)
committerMathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Wed, 8 Jul 2009 04:13:13 +0000 (00:13 -0400)
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Makefile
Makefile64
README
urcu-static.h
urcu.c

index 658a7fb5b57b9326217232eb3b1ca07a7f6c162d..98f9c4ac3d5c3839e410142c607716d33341f294 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -34,7 +34,9 @@ endif
 
 #debug
 #CFLAGS=-Wall -g
-#CFLAGS+=-DDEBUG_FULL_MB
+
+#Build the library without using signals. Slower read-side.
+#CFLAGS+=-DCONFIG_URCU_AVOID_SIGNALS
 
 #Changing the signal number used by the library. SIGUSR1 by default.
 #CFLAGS+=-DSIGURCU=SIGUSR2
@@ -75,19 +77,19 @@ test_looplen: test_looplen.c urcu.h
        $(CC) ${CFLAGS} $(LDFLAGS) -o $@ $(SRC_DEP)
 
 test_urcu_mb: urcu-mb.o test_urcu.c urcu.h
-       $(CC) -DDEBUG_FULL_MB ${CFLAGS} $(LDFLAGS) -o $@ $(SRC_DEP)
+       $(CC) -DCONFIG_URCU_AVOID_SIGNALS ${CFLAGS} $(LDFLAGS) -o $@ $(SRC_DEP)
 
 test_urcu_gc: urcu.o test_urcu_gc.c urcu.h
        $(CC) ${CFLAGS} $(LDFLAGS) -o $@ $(SRC_DEP)
 
 test_urcu_gc_mb: urcu-mb.o test_urcu_gc.c urcu.h
-       $(CC) -DDEBUG_FULL_MB ${CFLAGS} $(LDFLAGS) -o $@ $(SRC_DEP)
+       $(CC) -DCONFIG_URCU_AVOID_SIGNALS ${CFLAGS} $(LDFLAGS) -o $@ $(SRC_DEP)
 
 test_urcu_lgc: urcu.o test_urcu_gc.c urcu.h
        $(CC) -DTEST_LOCAL_GC ${CFLAGS} $(LDFLAGS) -o $@ $(SRC_DEP)
 
 test_urcu_lgc_mb: urcu-mb.o test_urcu_gc.c urcu.h
-       $(CC) -DTEST_LOCAL_GC -DDEBUG_FULL_MB ${CFLAGS} $(LDFLAGS) -o $@ $(SRC_DEP)
+       $(CC) -DTEST_LOCAL_GC -DCONFIG_URCU_AVOID_SIGNALS ${CFLAGS} $(LDFLAGS) -o $@ $(SRC_DEP)
 
 test_qsbr: urcu-qsbr.o test_qsbr.c urcu-qsbr.h
        $(CC) ${CFLAGS} $(LDFLAGS) -o $@ $(SRC_DEP)
@@ -129,7 +131,7 @@ urcu.o: urcu.c urcu.h
        $(CC) -fPIC ${CFLAGS} $(LDFLAGS) -c -o $@ $(SRC_DEP)
 
 urcu-mb.o: urcu.c urcu.h
-       $(CC) -fPIC -DDEBUG_FULL_MB ${CFLAGS} $(LDFLAGS) -c -o $@ $(SRC_DEP)
+       $(CC) -fPIC -DCONFIG_URCU_AVOID_SIGNALS ${CFLAGS} $(LDFLAGS) -c -o $@ $(SRC_DEP)
 
 urcu-qsbr.o: urcu-qsbr.c urcu-qsbr.h
        $(CC) -fPIC ${CFLAGS} $(LDFLAGS) -c -o $@ $(SRC_DEP)
index 9c655685423496832f14c513a01fb51e0ced0cba..ba36fec70ec03fd602dcb7eca526bfe6dd329cf8 100644 (file)
@@ -17,7 +17,9 @@ endif
 
 #debug
 #CFLAGS=-m64 -Wall -g
-#CFLAGS+=-DDEBUG_FULL_MB
+
+#Build the library without using signals. Slower read-side.
+#CFLAGS+=-DCONFIG_URCU_AVOID_SIGNALS
 
 #Changing the signal number used by the library. SIGUSR1 by default.
 #CFLAGS+=-DSIGURCU=SIGUSR2
@@ -58,19 +60,19 @@ test_looplen: test_looplen.c urcu.h
        $(CC) ${CFLAGS} $(LDFLAGS) -o $@ $(SRC_DEP)
 
 test_urcu_mb: urcu-mb.o test_urcu.c urcu.h
-       $(CC) -DDEBUG_FULL_MB ${CFLAGS} $(LDFLAGS) -o $@ $(SRC_DEP)
+       $(CC) -DCONFIG_URCU_AVOID_SIGNALS ${CFLAGS} $(LDFLAGS) -o $@ $(SRC_DEP)
 
 test_urcu_gc: urcu.o test_urcu_gc.c urcu.h
        $(CC) ${CFLAGS} $(LDFLAGS) -o $@ $(SRC_DEP)
 
 test_urcu_gc_mb: urcu-mb.o test_urcu_gc.c urcu.h
-       $(CC) -DDEBUG_FULL_MB ${CFLAGS} $(LDFLAGS) -o $@ $(SRC_DEP)
+       $(CC) -DCONFIG_URCU_AVOID_SIGNALS ${CFLAGS} $(LDFLAGS) -o $@ $(SRC_DEP)
 
 test_urcu_lgc: urcu.o test_urcu_gc.c urcu.h
        $(CC) -DTEST_LOCAL_GC ${CFLAGS} $(LDFLAGS) -o $@ $(SRC_DEP)
 
 test_urcu_lgc_mb: urcu-mb.o test_urcu_gc.c urcu.h
-       $(CC) -DTEST_LOCAL_GC -DDEBUG_FULL_MB ${CFLAGS} $(LDFLAGS) -o $@ $(SRC_DEP)
+       $(CC) -DTEST_LOCAL_GC -DCONFIG_URCU_AVOID_SIGNALS ${CFLAGS} $(LDFLAGS) -o $@ $(SRC_DEP)
 
 test_qsbr: urcu-qsbr.o test_qsbr.c urcu-qsbr.h
        $(CC) ${CFLAGS} $(LDFLAGS) -o $@ $(SRC_DEP)
@@ -112,7 +114,7 @@ urcu.o: urcu.c urcu.h
        $(CC) -fPIC ${CFLAGS} $(LDFLAGS) -c -o $@ $(SRC_DEP)
 
 urcu-mb.o: urcu.c urcu.h
-       $(CC) -fPIC -DDEBUG_FULL_MB ${CFLAGS} $(LDFLAGS) -c -o $@ $(SRC_DEP)
+       $(CC) -fPIC -DCONFIG_URCU_AVOID_SIGNALS ${CFLAGS} $(LDFLAGS) -c -o $@ $(SRC_DEP)
 
 urcu-qsbr.o: urcu-qsbr.c urcu-qsbr.h
        $(CC) -fPIC ${CFLAGS} $(LDFLAGS) -c -o $@ $(SRC_DEP)
diff --git a/README b/README
index 2fae654de9a0aac1bf4e5ea83eebb70656757283..ae8b6619cb5645dfcab48f3bf96d257b20b42973 100644 (file)
--- a/README
+++ b/README
@@ -36,16 +36,16 @@ Being careful with signals
        some non-restartable system calls to fail with errno = EINTR. Care
        should be taken to restart system calls manually if they fail with this
        error. A list of non-restartable system calls may be found in
-       signal(7).
+       signal(7). To ensure the Userspace RCU library does not use signals,
+       define CONFIG_URCU_AVOID_SIGNALS at compile-time.
 
-Usage of DEBUG_FULL_MB
+Usage of CONFIG_URCU_AVOID_SIGNALS
 
-       DEBUG_FULL_MB uses full SMP barriers for readers. This eliminates the
-       need for signals but results in slower reads.
+       CONFIG_URCU_AVOID_SIGNALS uses full SMP barriers for readers. This
+       eliminates the need for signals but results in slower reads.
 
 
 Usage of DEBUG_YIELD
 
        DEBUG_YIELD is used to add random delays in the code for testing
        purposes.
-
index 1b3527fd2de649b087a502ec42af2098ba095ec3..1921097dbb8596a9d134fecdea5e2bcfe9444c2d 100644 (file)
 #define YIELD_READ     (1 << 0)
 #define YIELD_WRITE    (1 << 1)
 
-/* Updates without DEBUG_FULL_MB are much slower. Account this in the delay */
-#ifdef DEBUG_FULL_MB
+/*
+ * Updates without CONFIG_URCU_AVOID_SIGNALS are much slower. Account this in
+ * the delay.
+ */
+#ifdef CONFIG_URCU_AVOID_SIGNALS
 /* maximum sleep delay, in us */
 #define MAX_SLEEP 50
 #else
@@ -161,7 +164,7 @@ static inline void debug_yield_init(void)
 }
 #endif
 
-#ifdef DEBUG_FULL_MB
+#ifdef CONFIG_URCU_AVOID_SIGNALS
 static inline void reader_barrier()
 {
        smp_mb();
diff --git a/urcu.c b/urcu.c
index 51c279f3aa91e7731ce4016f88af4fa7cd7d0025..8fae8faea8f4bd7b260cdcf6df69777a753a9b58 100644 (file)
--- a/urcu.c
+++ b/urcu.c
@@ -36,7 +36,7 @@
 /* Do not #define _LGPL_SOURCE to ensure we can emit the wrapper symbols */
 #include "urcu.h"
 
-#ifndef DEBUG_FULL_MB
+#ifndef CONFIG_URCU_AVOID_SIGNALS
 void __attribute__((constructor)) urcu_init(void);
 void __attribute__((destructor)) urcu_exit(void);
 #else
@@ -127,7 +127,7 @@ static void switch_next_urcu_qparity(void)
        STORE_SHARED(urcu_gp_ctr, urcu_gp_ctr ^ RCU_GP_CTR_BIT);
 }
 
-#ifdef DEBUG_FULL_MB
+#ifdef CONFIG_URCU_AVOID_SIGNALS
 #ifdef HAS_INCOHERENT_CACHES
 static void force_mb_single_thread(struct reader_registry *index)
 {
@@ -139,7 +139,7 @@ static void force_mb_all_threads(void)
 {
        smp_mb();
 }
-#else /* #ifdef DEBUG_FULL_MB */
+#else /* #ifdef CONFIG_URCU_AVOID_SIGNALS */
 #ifdef HAS_INCOHERENT_CACHES
 static void force_mb_single_thread(struct reader_registry *index)
 {
@@ -206,7 +206,7 @@ static void force_mb_all_threads(void)
        }
        smp_mb();       /* read ->need_mb before ending the barrier */
 }
-#endif /* #else #ifdef DEBUG_FULL_MB */
+#endif /* #else #ifdef CONFIG_URCU_AVOID_SIGNALS */
 
 void wait_for_quiescent_state(void)
 {
@@ -420,7 +420,7 @@ void rcu_unregister_thread(void)
        internal_urcu_unlock();
 }
 
-#ifndef DEBUG_FULL_MB
+#ifndef CONFIG_URCU_AVOID_SIGNALS
 static void sigurcu_handler(int signo, siginfo_t *siginfo, void *context)
 {
        /*
@@ -473,4 +473,4 @@ void urcu_exit(void)
        assert(act.sa_sigaction == sigurcu_handler);
        free(registry);
 }
-#endif /* #ifndef DEBUG_FULL_MB */
+#endif /* #ifndef CONFIG_URCU_AVOID_SIGNALS */
This page took 0.028762 seconds and 4 git commands to generate.