summaryrefslogtreecommitdiff
path: root/tests/rcutorture.c
diff options
context:
space:
mode:
authorAlex Bennée <alex.bennee@linaro.org>2020-02-25 12:46:54 +0000
committerAlex Bennée <alex.bennee@linaro.org>2020-02-25 17:42:59 +0000
commitea70ccff651d10625cb051521d7ac029874008c3 (patch)
tree97a5be9fdc2ab1d6735e702a190fda865db4df23 /tests/rcutorture.c
parent804c96848b18458e05d64a5fdda8ced29c2470a9 (diff)
downloadqemu-ea70ccff651d10625cb051521d7ac029874008c3.zip
tests/rcutorture: better document locking of stats
This is pure code motion with no functional effect. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-Id: <20200225124710.14152-4-alex.bennee@linaro.org>
Diffstat (limited to 'tests/rcutorture.c')
-rw-r--r--tests/rcutorture.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/tests/rcutorture.c b/tests/rcutorture.c
index e8b2169e7d..256d24ed5b 100644
--- a/tests/rcutorture.c
+++ b/tests/rcutorture.c
@@ -65,8 +65,6 @@
#include "qemu/rcu.h"
#include "qemu/thread.h"
-long long n_reads = 0LL;
-long n_updates = 0L;
int nthreadsrunning;
#define GOFLAG_INIT 0
@@ -78,11 +76,20 @@ static volatile int goflag = GOFLAG_INIT;
#define RCU_READ_RUN 1000
#define NR_THREADS 100
-static QemuMutex counts_mutex;
static QemuThread threads[NR_THREADS];
static struct rcu_reader_data *data[NR_THREADS];
static int n_threads;
+/*
+ * Statistical counts
+ *
+ * These are the sum of local counters at the end of a run.
+ * Updates are protected by a mutex.
+ */
+static QemuMutex counts_mutex;
+long long n_reads = 0LL;
+long n_updates = 0L;
+
static void create_thread(void *(*func)(void *))
{
if (n_threads >= NR_THREADS) {
@@ -230,8 +237,9 @@ struct rcu_stress {
struct rcu_stress rcu_stress_array[RCU_STRESS_PIPE_LEN] = { { 0 } };
struct rcu_stress *rcu_stress_current;
int rcu_stress_idx;
-
int n_mberror;
+
+/* Updates protected by counts_mutex */
long long rcu_stress_count[RCU_STRESS_PIPE_LEN + 1];