|
From: | Richard Henderson |
Subject: | Re: [PATCH 3/9] replay: rewrite async event handling |
Date: | Tue, 26 Apr 2022 11:54:56 -0700 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.8.0 |
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.
+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 */ r~
[Prev in Thread] | Current Thread | [Next in Thread] |