From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53027) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1afNBV-0001P2-CL for qemu-devel@nongnu.org; Mon, 14 Mar 2016 03:45:05 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1afNBU-0003vT-EO for qemu-devel@nongnu.org; Mon, 14 Mar 2016 03:45:01 -0400 Received: from mail.ispras.ru ([83.149.199.45]:50501) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1afNBU-0003vP-6l for qemu-devel@nongnu.org; Mon, 14 Mar 2016 03:45:00 -0400 From: Pavel Dovgalyuk Date: Mon, 14 Mar 2016 10:44:59 +0300 Message-ID: <20160314074459.4980.20779.stgit@PASHA-ISP> In-Reply-To: <20160314074429.4980.34777.stgit@PASHA-ISP> References: <20160314074429.4980.34777.stgit@PASHA-ISP> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Subject: [Qemu-devel] [PATCH v5 5/7] replay: bh scheduling fix List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: edgar.iglesias@xilinx.com, peter.maydell@linaro.org, igor.rubinov@gmail.com, alex.bennee@linaro.org, mark.burton@greensocs.com, real@ispras.ru, hines@cert.org, batuzovk@ispras.ru, maria.klimushenkova@ispras.ru, pavel.dovgaluk@ispras.ru, pbonzini@redhat.com, kwolf@redhat.com, stefanha@redhat.com, fred.konrad@greensocs.com This patch fixes scheduling of bottom halves when record/replay is enabled. Now BH are not added to replay queue when asynchronous events are disabled. This may happen in startup and loadvm/savevm phases of execution. Signed-off-by: Pavel Dovgalyuk --- replay/replay-events.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/replay/replay-events.c b/replay/replay-events.c index ca940f7..4aa8034 100644 --- a/replay/replay-events.c +++ b/replay/replay-events.c @@ -135,7 +135,7 @@ void replay_add_event(ReplayAsyncEventKind event_kind, void replay_bh_schedule_event(QEMUBH *bh) { - if (replay_mode != REPLAY_MODE_NONE) { + if (replay_mode != REPLAY_MODE_NONE && events_enabled) { uint64_t id = replay_get_current_step(); replay_add_event(REPLAY_ASYNC_EVENT_BH, bh, NULL, id); } else {