All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Pavel Dovgaluk" <Pavel.Dovgaluk@ispras.ru>
To: 'Paolo Bonzini' <pbonzini@redhat.com>, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 3/4] why is runstate_is_running needed?
Date: Wed, 7 Oct 2015 11:14:54 +0300	[thread overview]
Message-ID: <002b01d100d8$3fb0eab0$bf12c010$@Dovgaluk@ispras.ru> (raw)
In-Reply-To: <1444161658-15038-4-git-send-email-pbonzini@redhat.com>

> From: Paolo Bonzini [mailto:paolo.bonzini@gmail.com] On Behalf Of Paolo Bonzini
> Sent: Tuesday, October 06, 2015 11:01 PM
> To: qemu-devel@nongnu.org
> Cc: pavel.dovgaluk@ispras.ru
> Subject: [PATCH 3/4] why is runstate_is_running needed?
> 
> It doesn't seem correct to call it for all checkpoints, but why
> is it right for timerlist_run_timers?

Because replaying shouldn't proceed when machine is stopped.
These checks could be also useful for creating snapshots in record mode,
but I don't remember exact reasons of adding them. I'll check your changes 
for the current version.

> ---
>  qemu-timer.c   | 9 +++------
>  stubs/replay.c | 5 -----
>  2 files changed, 3 insertions(+), 11 deletions(-)
> 
> diff --git a/qemu-timer.c b/qemu-timer.c
> index 3c6e4c3..f16e422 100644
> --- a/qemu-timer.c
> +++ b/qemu-timer.c
> @@ -488,20 +488,17 @@ bool timerlist_run_timers(QEMUTimerList *timer_list)
>          break;
>      default:
>      case QEMU_CLOCK_VIRTUAL:
> -        if ((replay_mode != REPLAY_MODE_NONE && !runstate_is_running())
> -            || !replay_checkpoint(CHECKPOINT_CLOCK_VIRTUAL)) {
> +        if (!replay_checkpoint(CHECKPOINT_CLOCK_VIRTUAL)) {
>              goto out;
>          }
>          break;
>      case QEMU_CLOCK_HOST:
> -        if ((replay_mode != REPLAY_MODE_NONE && !runstate_is_running())
> -            || !replay_checkpoint(CHECKPOINT_CLOCK_HOST)) {
> +        if (!replay_checkpoint(CHECKPOINT_CLOCK_HOST)) {
>              goto out;
>          }
>          break;
>      case QEMU_CLOCK_VIRTUAL_RT:
> -        if ((replay_mode != REPLAY_MODE_NONE && !runstate_is_running())
> -            || !replay_checkpoint(CHECKPOINT_CLOCK_VIRTUAL_RT)) {
> +        if (!replay_checkpoint(CHECKPOINT_CLOCK_VIRTUAL_RT)) {
>              goto out;
>          }
>          break;
> diff --git a/stubs/replay.c b/stubs/replay.c
> index 71fa7d5..42d01b5 100755
> --- a/stubs/replay.c
> +++ b/stubs/replay.c
> @@ -22,11 +22,6 @@ bool replay_checkpoint(ReplayCheckpoint checkpoint)
>      return true;
>  }
> 
> -int runstate_is_running(void)
> -{
> -    abort();
> -}
> -
>  bool replay_events_enabled(void)
>  {
>      return false;
> --
> 2.5.0
> 


Pavel Dovgalyuk

  reply	other threads:[~2015-10-07  8:14 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-06 20:00 [Qemu-devel] [RFH PATCH 0/4] record/replay fixups and doubts Paolo Bonzini
2015-10-06 20:00 ` [Qemu-devel] [PATCH 1/4] replay: generalize ptimer event to bottom halves Paolo Bonzini
2015-10-07  7:53   ` Pavel Dovgaluk
2015-10-06 20:00 ` [Qemu-devel] [PATCH 2/4] more replay fixes Paolo Bonzini
2015-10-06 20:13   ` Eric Blake
2015-10-07  8:11   ` Pavel Dovgaluk
2015-10-06 20:00 ` [Qemu-devel] [PATCH 3/4] why is runstate_is_running needed? Paolo Bonzini
2015-10-07  8:14   ` Pavel Dovgaluk [this message]
     [not found]   ` <22126.3941414238$1444205724@news.gmane.org>
2015-10-07  8:46     ` Paolo Bonzini
2015-10-07  9:37   ` Pavel Dovgaluk
2015-10-06 20:00 ` [Qemu-devel] [PATCH 4/4] events doubts Paolo Bonzini
2015-10-07  8:21   ` Pavel Dovgaluk
     [not found]   ` <35633.6639299572$1444206177@news.gmane.org>
2015-10-07  8:52     ` Paolo Bonzini
2015-10-07  9:50       ` Pavel Dovgaluk
2015-10-07 10:23         ` Paolo Bonzini
2015-10-07 10:42           ` Pavel Dovgaluk
2015-10-07 10:48             ` Paolo Bonzini
2015-10-07 10:51               ` Pavel Dovgaluk
2015-10-07 14:59                 ` Paolo Bonzini
2015-10-13  8:10 ` [Qemu-devel] [RFH PATCH 0/4] record/replay fixups and doubts Pavel Dovgaluk
2015-10-13 16:39   ` Paolo Bonzini
2015-10-23  7:28 ` Pavel Dovgaluk
2015-10-23  8:12   ` 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='002b01d100d8$3fb0eab0$bf12c010$@Dovgaluk@ispras.ru' \
    --to=pavel.dovgaluk@ispras.ru \
    --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.