All of lore.kernel.org
 help / color / mirror / Atom feed
From: "KONRAD Frédéric" <fred.konrad@greensocs.com>
To: Paolo Bonzini <pbonzini@redhat.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:35:01 +0200	[thread overview]
Message-ID: <51938F05.8060203@greensocs.com> (raw)
In-Reply-To: <5193849D.4070408@redhat.com>

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;                                                      \

Thanks,
Fred
>> Thanks,
>> Fred
>>
>>

  reply	other threads:[~2013-05-15 13:40 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 [this message]
2013-05-15 13:46     ` Paolo Bonzini

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=51938F05.8060203@greensocs.com \
    --to=fred.konrad@greensocs.com \
    --cc=mark.burton@greensocs.com \
    --cc=pbonzini@redhat.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.