qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH 3/9] replay: rewrite async event handling


From: Pavel Dovgalyuk
Subject: Re: [PATCH 3/9] replay: rewrite async event handling
Date: Wed, 4 May 2022 09:58:27 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.7.0

On 26.04.2022 21:54, Richard Henderson wrote:
On 4/22/22 04:53, Pavel Dovgalyuk wrote:
This patch decouples checkpoints and async events.
It was a tricky part of replay implementation. Now it becomes
much simpler and easier to maintain.

Signed-off-by: Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>

Looks ok, as far as I can follow.  With a couple of nits,

Acked-by: Richard Henderson <richard.henderson@linaro.org>

--- a/replay/replay-snapshot.c
+++ b/replay/replay-snapshot.c
@@ -61,7 +61,6 @@ static const VMStateDescription vmstate_replay = {
          VMSTATE_UINT64(block_request_id, ReplayState),
          VMSTATE_INT32(read_event_kind, ReplayState),
          VMSTATE_UINT64(read_event_id, ReplayState),
-        VMSTATE_INT32(read_event_checkpoint, ReplayState),
          VMSTATE_END_OF_LIST()
      },
  };

Bump version_id and minimum_version_id.

I bumped replay log version. This vmstate is useless without replay log
and won't be loaded with the old logs.


+void replay_async_events(void)
+{
+    static bool processing = false;
+    /* If we are already processing the events, recursion may occur
+        in case of incorrect implementation when HW event modifies timers.
+        Timer modification may invoke the icount warp, event processing,
+        and cause the recursion. */

Format multi-line comments per coding style:

   /*
    * block
    */


Thanks.



reply via email to

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