From: Paolo Bonzini <pbonzini@redhat.com>
To: "KONRAD Frédéric" <fred.konrad@greensocs.com>
Cc: Mark Burton <mark.burton@greensocs.com>,
qemu-devel <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] [RFC] save/restore with icount enabled.
Date: Wed, 15 May 2013 15:46:19 +0200 [thread overview]
Message-ID: <519391AB.8030603@redhat.com> (raw)
In-Reply-To: <51938F05.8060203@greensocs.com>
Il 15/05/2013 15:35, KONRAD Frédéric ha scritto:
> On 15/05/2013 14:50, Paolo Bonzini wrote:
>> Il 15/05/2013 11:31, KONRAD Frédéric ha scritto:
>>> Hi,
>>>
>>> We are trying to do a simple save/restore on the VM with icount enabled.
>>>
>>> We saw that qemu_icount_bias and qemu_icount in cpus.c are not
>>> saved/restored,
>>> and icount_extra, icount_decr in CPUState neither, so the vm_clock is
>>> just
>>> growing normally after restoring the VM is that normal?
>>>
>>> We think that this is making the "replay" undeterminastic, which is
>>> bad for
>>> reverse execution.
>>>
>>> Is there a good reason for them not being saved?
>> No. You can probably move icount to timers_state. Something like
>> zeroing qemu_icount in cpu_disable_ticks() is required in order to save
>> qemu_icount_bias like the other members of timers_state. There is even
>> a dummy field that you can reuse to avoid the pain of adding a
>> subsection to vmstate_timers. :)
>>
>> Paolo
>
> Yes nice point :).
>
> What about icount_extra and icount_decr defined in CPU_COMMON? in
> cpu-defs.h?
>
> int64_t icount_extra; /* Instructions until next timer event. */ \
> /* Number of cycles left, with interrupt flag in high bit. \
> This allows a single read-compare-cbranch-write sequence to test \
> for both decrementer underflow and exceptions. */ \
> union { \
> uint32_t u32; \
> icount_decr_u16 u16; \
> } icount_decr; \
I'm not sure, I don't know that part well. But IIRC they are recomputed
every time the VM restarts, so you don't need to save them?
Paolo
prev parent reply other threads:[~2013-05-15 13:46 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-15 9:31 [Qemu-devel] [RFC] save/restore with icount enabled KONRAD Frédéric
2013-05-15 12:50 ` Paolo Bonzini
2013-05-15 13:35 ` KONRAD Frédéric
2013-05-15 13:46 ` Paolo Bonzini [this message]
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=519391AB.8030603@redhat.com \
--to=pbonzini@redhat.com \
--cc=fred.konrad@greensocs.com \
--cc=mark.burton@greensocs.com \
--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.