* [Qemu-devel] [PATCH] icount: disable icount with multiprocessor guests
@ 2013-09-24 15:52 Paolo Bonzini
2013-09-24 23:39 ` Peter Maydell
0 siblings, 1 reply; 3+ messages in thread
From: Paolo Bonzini @ 2013-09-24 15:52 UTC (permalink / raw)
To: qemu-devel; +Cc: peter.maydell
If -icount is enabled with multiprocessor guests, all CPUs increment
the same counter, which then basically runs too fast by a factor of
smp_cpus. This makes little sense and complicates further a feature
whose implementation is pretty obscure already.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
cpus.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/cpus.c b/cpus.c
index 6fb2bc8..e74166e 100644
--- a/cpus.c
+++ b/cpus.c
@@ -401,6 +401,11 @@ void configure_icount(const char *option)
return;
}
+ if (smp_cpus > 1) {
+ fprintf(stderr, "-icount is not allowed with SMP guests\n");
+ exit(1);
+ }
+
icount_warp_timer = timer_new_ns(QEMU_CLOCK_REALTIME,
icount_warp_rt, NULL);
if (strcmp(option, "auto") != 0) {
--
1.8.3.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [Qemu-devel] [PATCH] icount: disable icount with multiprocessor guests
2013-09-24 15:52 [Qemu-devel] [PATCH] icount: disable icount with multiprocessor guests Paolo Bonzini
@ 2013-09-24 23:39 ` Peter Maydell
2013-09-27 8:23 ` Paolo Bonzini
0 siblings, 1 reply; 3+ messages in thread
From: Peter Maydell @ 2013-09-24 23:39 UTC (permalink / raw)
To: Paolo Bonzini; +Cc: QEMU Developers
On 25 September 2013 00:52, Paolo Bonzini <pbonzini@redhat.com> wrote:
> If -icount is enabled with multiprocessor guests, all CPUs increment
> the same counter, which then basically runs too fast by a factor of
> smp_cpus. This makes little sense and complicates further a feature
> whose implementation is pretty obscure already.
Just forbidding -icount with SMP configs seems like the wrong
fix, though -- why wouldn't you want the deterministic execution
icount (claims it) gives you with an SMP config?
-- PMM
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Qemu-devel] [PATCH] icount: disable icount with multiprocessor guests
2013-09-24 23:39 ` Peter Maydell
@ 2013-09-27 8:23 ` Paolo Bonzini
0 siblings, 0 replies; 3+ messages in thread
From: Paolo Bonzini @ 2013-09-27 8:23 UTC (permalink / raw)
To: Peter Maydell; +Cc: QEMU Developers
Il 25/09/2013 01:39, Peter Maydell ha scritto:
> On 25 September 2013 00:52, Paolo Bonzini <pbonzini@redhat.com> wrote:
>> If -icount is enabled with multiprocessor guests, all CPUs increment
>> the same counter, which then basically runs too fast by a factor of
>> smp_cpus. This makes little sense and complicates further a feature
>> whose implementation is pretty obscure already.
>
> Just forbidding -icount with SMP configs seems like the wrong
> fix, though -- why wouldn't you want the deterministic execution
> icount (claims it) gives you with an SMP config?
Right now, the SMP version of icount is all but deterministic. I/O and
rt_clock timers cause the TCG thread to relinquish the BQL, and the
round-robin will switch to the next VCPU. Perhaps once the TCG loop
breaks free of the BQL we can modify icount to trigger a VCPU switch
every 2^16 instructions or something like that, and revert this patch.
Paolo
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2013-09-27 8:23 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-09-24 15:52 [Qemu-devel] [PATCH] icount: disable icount with multiprocessor guests Paolo Bonzini
2013-09-24 23:39 ` Peter Maydell
2013-09-27 8:23 ` Paolo Bonzini
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).