projects
/
urcu.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
rculfhash: fix get first / get next iterator
[urcu.git]
/
tests
/
rcutorture.h
diff --git
a/tests/rcutorture.h
b/tests/rcutorture.h
index c5253d9cfead570db75313d237cd28b12b42e704..4c6f9daa86e7896ac2bf4060308fb85a99da4f83 100644
(file)
--- a/
tests/rcutorture.h
+++ b/
tests/rcutorture.h
@@
-79,7
+79,8
@@
char argsbuf[64];
#define GOFLAG_RUN 1
#define GOFLAG_STOP 2
#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
#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);
rcu_register_thread();
run_on(me);
uatomic_inc(&nthreadsrunning);
+ put_thread_offline();
while (goflag == GOFLAG_INIT)
poll(NULL, 0, 1);
while (goflag == GOFLAG_INIT)
poll(NULL, 0, 1);
-
mark_rcu_quiescent_stat
e();
+
put_thread_onlin
e();
while (goflag == GOFLAG_RUN) {
for (i = 0; i < RCU_READ_RUN; i++) {
rcu_read_lock();
while (goflag == GOFLAG_RUN) {
for (i = 0; i < RCU_READ_RUN; i++) {
rcu_read_lock();
@@
-285,9
+287,10
@@
void *rcu_read_stress_test(void *arg)
int pc;
rcu_register_thread();
int pc;
rcu_register_thread();
+ put_thread_offline();
while (goflag == GOFLAG_INIT)
poll(NULL, 0, 1);
while (goflag == GOFLAG_INIT)
poll(NULL, 0, 1);
-
mark_rcu_quiescent_stat
e();
+
put_thread_onlin
e();
while (goflag == GOFLAG_RUN) {
rcu_read_lock();
p = rcu_dereference(rcu_stress_current);
while (goflag == GOFLAG_RUN) {
rcu_read_lock();
p = rcu_dereference(rcu_stress_current);
This page took
0.023963 seconds
and
4
git commands to generate.