]> Git Repo - qemu.git/commitdiff
qht-bench: relax test_start/stop atomic accesses
authorEmilio G. Cota <[email protected]>
Fri, 14 Oct 2016 09:54:51 +0000 (11:54 +0200)
committerPaolo Bonzini <[email protected]>
Mon, 24 Oct 2016 13:27:19 +0000 (15:27 +0200)
test_start/stop are used only as flags to loop on. Barriers are unnecessary,
since no dependent data is transferred among threads apart from the flags
themselves.

This commit relaxes the three accesses to test_start/stop that were
not yet relaxed.

Signed-off-by: Emilio G. Cota <[email protected]>
tests/qht-bench.c

index 76360a0cf598fc9fab394a5aa4f6d45f3c2e4af1..2afa09d85959ccacf94e5acc97613a3098f8c16a 100644 (file)
@@ -193,7 +193,7 @@ static void *thread_func(void *p)
     rcu_register_thread();
 
     atomic_inc(&n_ready_threads);
-    while (!atomic_mb_read(&test_start)) {
+    while (!atomic_read(&test_start)) {
         cpu_relax();
     }
 
@@ -393,11 +393,11 @@ static void run_test(void)
     while (atomic_read(&n_ready_threads) != n_rw_threads + n_rz_threads) {
         cpu_relax();
     }
-    atomic_mb_set(&test_start, true);
+    atomic_set(&test_start, true);
     do {
         remaining = sleep(duration);
     } while (remaining);
-    atomic_mb_set(&test_stop, true);
+    atomic_set(&test_stop, true);
 
     for (i = 0; i < n_rw_threads; i++) {
         qemu_thread_join(&rw_threads[i]);
This page took 0.027885 seconds and 4 git commands to generate.