[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 22/69] rcutorture: remove synchronize_rcu from reader
From: |
Paolo Bonzini |
Subject: |
[Qemu-devel] [PULL 22/69] rcutorture: remove synchronize_rcu from readers |
Date: |
Tue, 13 Mar 2018 23:46:32 +0100 |
This gives much worse numbers for readers, especially if synchronize_rcu
is made more expensive as is the case with --enable-membarrier. Before:
$ tests/rcutorture 10 stress 10
n_reads: 98304 n_updates: 529 n_mberror: 0
rcu_stress_count: 98302 2 0 0 0 0 0 0 0 0 0
After:
$ tests/rcutorture 10 stress 10
n_reads: 165158482 n_updates: 429 n_mberror: 0
rcu_stress_count: 165154364 4118 0 0 0 0 0 0 0 0 0
Signed-off-by: Paolo Bonzini <address@hidden>
---
tests/rcutorture.c | 4 ----
1 file changed, 4 deletions(-)
diff --git a/tests/rcutorture.c b/tests/rcutorture.c
index 4002ecf123..49311c82ea 100644
--- a/tests/rcutorture.c
+++ b/tests/rcutorture.c
@@ -238,7 +238,6 @@ long long rcu_stress_count[RCU_STRESS_PIPE_LEN + 1];
static void *rcu_read_stress_test(void *arg)
{
int i;
- int itercnt = 0;
struct rcu_stress *p;
int pc;
long long n_reads_local = 0;
@@ -269,9 +268,6 @@ static void *rcu_read_stress_test(void *arg)
}
rcu_stress_local[pc]++;
n_reads_local++;
- if ((++itercnt % 0x1000) == 0) {
- synchronize_rcu();
- }
}
qemu_mutex_lock(&counts_mutex);
n_reads += n_reads_local;
--
2.14.3
- [Qemu-devel] [PULL 11/69] chardev: fix handling of EAGAIN for TCP chardev, (continued)
- [Qemu-devel] [PULL 11/69] chardev: fix handling of EAGAIN for TCP chardev, Paolo Bonzini, 2018/03/13
- [Qemu-devel] [PULL 10/69] vl: export machine_init_done, Paolo Bonzini, 2018/03/13
- [Qemu-devel] [PULL 08/69] hw: Do not include "sysemu/block-backend.h" if it is not necessary, Paolo Bonzini, 2018/03/13
- [Qemu-devel] [PULL 13/69] chardev: allow telnet gsource to switch gcontext, Paolo Bonzini, 2018/03/13
- [Qemu-devel] [PULL 15/69] chardev: use chardev's gcontext for async connect, Paolo Bonzini, 2018/03/13
- [Qemu-devel] [PULL 12/69] chardev: update net listener gcontext, Paolo Bonzini, 2018/03/13
- [Qemu-devel] [PULL 14/69] chardev: introduce chr_machine_done hook, Paolo Bonzini, 2018/03/13
- [Qemu-devel] [PULL 16/69] chardev: tcp: postpone async connection setup, Paolo Bonzini, 2018/03/13
- [Qemu-devel] [PULL 19/69] hw/i386: make IOMMUs configurable via default-configs/, Paolo Bonzini, 2018/03/13
- [Qemu-devel] [PULL 18/69] scsi: support NDOB (no data-out buffer) for WRITE SAME commands, Paolo Bonzini, 2018/03/13
- [Qemu-devel] [PULL 22/69] rcutorture: remove synchronize_rcu from readers,
Paolo Bonzini <=
- [Qemu-devel] [PULL 21/69] hw/mips/jazz: Fix implicit creation of "-drive if=scsi" devices, Paolo Bonzini, 2018/03/13
- [Qemu-devel] [PULL 17/69] chardev: tcp: let TLS run on chardev context, Paolo Bonzini, 2018/03/13
- [Qemu-devel] [PULL 20/69] Polish the version strings containing the package version, Paolo Bonzini, 2018/03/13
- [Qemu-devel] [PULL 24/69] rcu: make memory barriers more explicit, Paolo Bonzini, 2018/03/13
- [Qemu-devel] [PULL 23/69] docs: document atomic_load_acquire and atomic_store_release, Paolo Bonzini, 2018/03/13
- [Qemu-devel] [PULL 25/69] membarrier: introduce qemu/sys_membarrier.h, Paolo Bonzini, 2018/03/13
- [Qemu-devel] [PULL 26/69] membarrier: add --enable-membarrier, Paolo Bonzini, 2018/03/13
- [Qemu-devel] [PULL 28/69] hw/dma/i8257: Rename DMA_init() to i8257_dma_init(), Paolo Bonzini, 2018/03/13
- [Qemu-devel] [PULL 27/69] hw/isa: Move parallel_hds_isa_init() to hw/char/parallel-isa.c, Paolo Bonzini, 2018/03/13
- [Qemu-devel] [PULL 30/69] MAINTAINERS: Fix the PC87312 include path, Paolo Bonzini, 2018/03/13