qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [RFC PATCH v8 08/21] cpu: replay instructions sequence


From: Pavel Dovgaluk
Subject: Re: [Qemu-devel] [RFC PATCH v8 08/21] cpu: replay instructions sequence
Date: Mon, 16 Feb 2015 16:37:44 +0300

> From: Paolo Bonzini [mailto:address@hidden On Behalf Of Paolo Bonzini
> On 16/02/2015 14:27, Pavel Dovgaluk wrote:
> >> From: Paolo Bonzini [mailto:address@hidden On Behalf Of Paolo Bonzini
> >> On 16/02/2015 13:26, Pavel Dovgaluk wrote:
> >>>>>>> I think in this case there are no events at all - just reading timers 
> >>>>>>> values
> >>>>>>> that were made while recording.
> >>>>>>> We have to replay these reads by waking iothread.
> >>>>>
> >>>>> I think the right place for this is in replay_read_next_clock then.
> >>> It doesn't fit. Log file is not read until all instructions are executed.
> >>> And the next read from the file should be performed by iothread which 
> >>> should
> >>> be notified and waked up.
> >>
> >> I still don't understand.  If you're getting EXCP_INTERRUPT it means:
> >>
> >> 1) that cpu_signal was called
> >
> > No, it isn't. That is the branch when icount is expired.
> > And when it is expired in replay mode we have to wake up iothread,
> > because nobody will care about this.
> 
> Then it's done here in qemu_tcg_cpu_thread_fn:

Do you mean that I should put iothread notification right here?
Or that this code duplicates my patch?
If the second one then I guess that it doesn't help and I need to make 
additional checks about it.

> 
>         if (use_icount) {
>             int64_t deadline = qemu_clock_deadline_ns_all(QEMU_CLOCK_VIRTUAL);
> 
>             if (deadline == 0) {
>                 qemu_clock_notify(QEMU_CLOCK_VIRTUAL);
>             }
>         }
> 
> If you need to move the 4 lines inside the if elsewhere, that I guess it's 
> okay.

Pavel Dovgalyuk




reply via email to

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