qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [RFC] Undeterministic behaviour with icount.


From: Paolo Bonzini
Subject: Re: [Qemu-devel] [RFC] Undeterministic behaviour with icount.
Date: Wed, 10 Jul 2013 15:45:24 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130514 Thunderbird/17.0.6

Il 08/07/2013 19:32, Frederic Konrad ha scritto:
> Hi everybody,
> 
> We get some issues with reverse execution caused by indeterminism.
> 
> Something catched our attention:
> static void icount_warp_rt(void *opaque), cpus.c:276
> 
> We have the feeling that icount is synchronized with rt_clock, is that
> possible?

When the CPU is idle, yes.

Note that the same thing happened before the series you linked.  This is
the relevant code:

-        /* Wait for either IO to occur or the next
-           timer event.  */
-        add = qemu_next_deadline();
-        /* We advance the timer before checking for IO.
-           Limit the amount we advance so that early IO
-           activity won't get the guest too far ahead.  */
-        if (add > 10000000)
-            add = 10000000;
-        delta += add;
-        qemu_icount += qemu_icount_round (add);

It was adding to the icount while waiting for the next timer event to
happen.

> According to this Paolo's series
> <http://lists.gnu.org/archive/html/qemu-devel/2011-04/msg01271.html>
> this must be called when the cpus are sleeping, but
> I saw this called frequently during the execution, is that the expected
> behaviour?

What workload are you running?  For anything that is not CPU bound I'd
expect that to be the case.

Paolo

> If not what's the best way to fix that?




reply via email to

[Prev in Thread] Current Thread [Next in Thread]