mirror of https://github.com/xemu-project/xemu.git
qht-bench: relax test_start/stop atomic accesses
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 <cota@braap.org>
This commit is contained in:
parent
803cf26a9e
commit
977ec47de0
|
@ -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]);
|
||||
|
|
Loading…
Reference in New Issue