Merge branch 'master' into urcu/ht-shrink
[urcu.git] / tests / rcutorture.h
index aba74b0bcdadc70971af0e5e66225cfcaa034a62..4c6f9daa86e7896ac2bf4060308fb85a99da4f83 100644 (file)
@@ -79,7 +79,8 @@ char argsbuf[64];
 #define GOFLAG_RUN  1
 #define GOFLAG_STOP 2
 
-int goflag __attribute__((__aligned__(CAA_CACHE_LINE_SIZE))) = GOFLAG_INIT;
+volatile int goflag __attribute__((__aligned__(CAA_CACHE_LINE_SIZE)))
+        = GOFLAG_INIT;
 
 #define RCU_READ_RUN 1000
 
@@ -126,9 +127,10 @@ void *rcu_read_perf_test(void *arg)
        rcu_register_thread();
        run_on(me);
        uatomic_inc(&nthreadsrunning);
+       put_thread_offline();
        while (goflag == GOFLAG_INIT)
                poll(NULL, 0, 1);
-       mark_rcu_quiescent_state();
+       put_thread_online();
        while (goflag == GOFLAG_RUN) {
                for (i = 0; i < RCU_READ_RUN; i++) {
                        rcu_read_lock();
@@ -156,7 +158,7 @@ void *rcu_update_perf_test(void *arg)
        if ((random() & 0xf00) == 0) {
                struct call_rcu_data *crdp;
 
-               crdp = create_call_rcu_data(0);
+               crdp = create_call_rcu_data(0, -1);
                if (crdp != NULL) {
                        fprintf(stderr,
                                "Using per-thread call_rcu() worker.\n");
@@ -285,9 +287,10 @@ void *rcu_read_stress_test(void *arg)
        int pc;
 
        rcu_register_thread();
+       put_thread_offline();
        while (goflag == GOFLAG_INIT)
                poll(NULL, 0, 1);
-       mark_rcu_quiescent_state();
+       put_thread_online();
        while (goflag == GOFLAG_RUN) {
                rcu_read_lock();
                p = rcu_dereference(rcu_stress_current);
@@ -385,7 +388,7 @@ void *rcu_fake_update_stress_test(void *arg)
        if ((random() & 0xf00) == 0) {
                struct call_rcu_data *crdp;
 
-               crdp = create_call_rcu_data(0);
+               crdp = create_call_rcu_data(0, -1);
                if (crdp != NULL) {
                        fprintf(stderr,
                                "Using per-thread call_rcu() worker.\n");
This page took 0.023085 seconds and 4 git commands to generate.