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