From: Paolo Bonzini <pbonzini@redhat.com>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: QEMU Developers <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] [PULL 00/11] RCU, scsi, modules, icount changes for 2015-01-30
Date: Mon, 02 Feb 2015 15:55:54 +0100 [thread overview]
Message-ID: <54CF8FFA.8010207@redhat.com> (raw)
In-Reply-To: <CAFEAcA_QDqw8gD5=B5=_d7kzZcU5tzxcpcUnWj5eQJuyjZEKCw@mail.gmail.com>
On 02/02/2015 15:36, Peter Maydell wrote:
> (Strictly speaking "local" isn't POSIX sh, but dash seems to cope
> with it, which is the major non-POSIX shell, and we have a couple
> of instances in configure already. Still, why do we need these
> variables to be local?)
Just for cleanliness; they aren't supposed to be used outside the function.
> Also some clang warnings:
> CC tests/rcutorture.o
> /Users/pm215/src/qemu/tests/rcutorture.c:260:13: warning: variable 'garbage' is
> uninitialized when used here [-Wuninitialized]
> garbage++;
> ^~~~~~~
> /Users/pm215/src/qemu/tests/rcutorture.c:244:25: note: initialize the variable
> 'garbage' to silence this warning
> volatile int garbage;
> ^
> = 0
> 1 warning generated.
Fixed.
> And the rcutorture test seems to hang on OSX, or at least take way
> longer than anything we put in 'make check' ought to take.
It should only take 2-3 seconds.
Can you try this:
diff --git a/tests/rcutorture.c b/tests/rcutorture.c
index e94caf2..b17b4a6 100644
--- a/tests/rcutorture.c
+++ b/tests/rcutorture.c
@@ -168,7 +168,7 @@ static void perftestrun(int nthreads, int duration,
int nreaders, int nupdaters)
g_usleep(1000);
}
goflag = GOFLAG_RUN;
- sleep(duration);
+ g_usleep(duration * G_USEC_PER_SEC);
goflag = GOFLAG_STOP;
wait_all_threads();
printf("n_reads: %lld n_updates: %ld nreaders: %d nupdaters: %d
duration: %d\n",
@@ -344,7 +344,7 @@ static void stresstest(int nreaders, int duration)
create_thread(rcu_fake_update_stress_test);
}
goflag = GOFLAG_RUN;
- sleep(duration);
+ g_usleep(duration * G_USEC_PER_SEC);
goflag = GOFLAG_STOP;
wait_all_threads();
printf("n_reads: %lld n_updates: %ld n_mberror: %d\n",
@@ -374,7 +374,7 @@ static void gtest_stress(int nreaders, int duration)
create_thread(rcu_fake_update_stress_test);
}
goflag = GOFLAG_RUN;
- sleep(duration);
+ g_usleep(duration * G_USEC_PER_SEC);
goflag = GOFLAG_STOP;
wait_all_threads();
g_assert_cmpint(n_mberror, ==, 0);
(though I doubt it matters: tests/fdc-test uses sleep(3) already)
and if it still fails, catch a backtrace of all threads?
Thanks,
Paolo
next prev parent reply other threads:[~2015-02-02 14:56 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-30 15:19 [Qemu-devel] [PULL 00/11] RCU, scsi, modules, icount changes for 2015-01-30 Paolo Bonzini
2015-01-30 15:19 ` [Qemu-devel] [PULL 01/11] rcu: add rcu library Paolo Bonzini
2015-01-30 15:19 ` [Qemu-devel] [PULL 02/11] rcu: add rcutorture Paolo Bonzini
2015-01-30 15:19 ` [Qemu-devel] [PULL 03/11] rcu: allow nesting of rcu_read_lock/rcu_read_unlock Paolo Bonzini
2015-01-30 15:19 ` [Qemu-devel] [PULL 04/11] rcu: add call_rcu Paolo Bonzini
2015-01-30 15:19 ` [Qemu-devel] [PULL 05/11] memory: remove assertion on memory_region_destroy Paolo Bonzini
2015-01-30 15:19 ` [Qemu-devel] [PULL 06/11] memory: protect current_map by RCU Paolo Bonzini
2015-01-30 15:19 ` [Qemu-devel] [PULL 07/11] memory: avoid ref/unref in memory_region_find Paolo Bonzini
2015-01-30 15:19 ` [Qemu-devel] [PULL 08/11] cpu-exec: simplify align_clocks Paolo Bonzini
2015-01-30 15:19 ` [Qemu-devel] [PULL 09/11] cpu-exec: simplify init_delay_params Paolo Bonzini
2015-01-30 15:19 ` [Qemu-devel] [PULL 10/11] scsi: Fix scsi_req_cancel_async for no aiocb req Paolo Bonzini
2015-01-30 15:19 ` [Qemu-devel] [PULL 11/11] configure: Default to enable module build Paolo Bonzini
2015-02-02 14:36 ` [Qemu-devel] [PULL 00/11] RCU, scsi, modules, icount changes for 2015-01-30 Peter Maydell
2015-02-02 14:55 ` Paolo Bonzini [this message]
2015-02-02 15:03 ` Peter Maydell
2015-02-02 15:27 ` Paolo Bonzini
-- strict thread matches above, loose matches on Subject: below --
2015-01-30 15:01 Paolo Bonzini
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=54CF8FFA.8010207@redhat.com \
--to=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.