From nobody Thu Nov 6 06:17:51 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1540132079635830.8388401206759; Sun, 21 Oct 2018 07:27:59 -0700 (PDT) Received: from localhost ([::1]:59103 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gEEhw-00013a-K6 for importer@patchew.org; Sun, 21 Oct 2018 10:27:56 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33563) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gEEfD-0007cG-21 for qemu-devel@nongnu.org; Sun, 21 Oct 2018 10:25:11 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gEEbr-0000t9-5I for qemu-devel@nongnu.org; Sun, 21 Oct 2018 10:21:44 -0400 Received: from greensocs.com ([193.104.36.180]:38143) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gEEbq-0000rv-QV for qemu-devel@nongnu.org; Sun, 21 Oct 2018 10:21:39 -0400 Received: from localhost (localhost [127.0.0.1]) by greensocs.com (Postfix) with ESMTP id 9D5B05C025D; Sun, 21 Oct 2018 16:21:28 +0200 (CEST) Received: from greensocs.com ([127.0.0.1]) by localhost (gs-01.greensocs.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id i-4kprfcx2Jw; Sun, 21 Oct 2018 16:21:27 +0200 (CEST) Received: by greensocs.com (Postfix, from userid 998) id E29B85C0267; Sun, 21 Oct 2018 16:21:27 +0200 (CEST) Received: from localhost.localdomain (lfbn-1-8164-133.w90-112.abo.wanadoo.fr [90.112.73.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: clement.deschamps@greensocs.com) by greensocs.com (Postfix) with ESMTPSA id 9C50E5C025D; Sun, 21 Oct 2018 16:21:27 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=greensocs.com; s=mail; t=1540131688; bh=uPJ6AAU87ij0vj0TKMLyflLaQ9cGpa7XNqe+rNchcRQ=; h=From:To:Cc:Subject:Date; b=jvKl3h4REf412ujS90Ot5aUcP3fB/t4bB4gHp5Hs6i5f5ftSbB3vRV/RkiO5K16CB 9KVpGAY//Ag+RrcR6cr2NytfdAZGl1YvRWvLlOHG0utDcG3vPkjarW93BBHXq8/6HD sTIJc8r7MTowSKPtHjCt0sjE4JuXsC1YQJZkTHV8= X-Virus-Scanned: amavisd-new at greensocs.com Authentication-Results: gs-01.greensocs.com (amavisd-new); dkim=pass (1024-bit key) header.d=greensocs.com header.b=uRep4AQ7; dkim=pass (1024-bit key) header.d=greensocs.com header.b=uRep4AQ7 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=greensocs.com; s=mail; t=1540131687; bh=uPJ6AAU87ij0vj0TKMLyflLaQ9cGpa7XNqe+rNchcRQ=; h=From:To:Cc:Subject:Date; b=uRep4AQ70FTo+ocX3EnWlW2aTOkxlqyR/FLNztXbVbNnv8Mu6IAsz/jAho4Rl5H3l roDSJrWR3D8S7lOpH20ndPz+ngA91IrpAjcgu5gOZxwMnN6yIoW3Ygc+zLkOqtbKiK DZPD8xjbhIHs8OcQw08OROR3pdVBQHSye2RqsMYk= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=greensocs.com; s=mail; t=1540131687; bh=uPJ6AAU87ij0vj0TKMLyflLaQ9cGpa7XNqe+rNchcRQ=; h=From:To:Cc:Subject:Date; b=uRep4AQ70FTo+ocX3EnWlW2aTOkxlqyR/FLNztXbVbNnv8Mu6IAsz/jAho4Rl5H3l roDSJrWR3D8S7lOpH20ndPz+ngA91IrpAjcgu5gOZxwMnN6yIoW3Ygc+zLkOqtbKiK DZPD8xjbhIHs8OcQw08OROR3pdVBQHSye2RqsMYk= From: Clement Deschamps To: qemu-devel@nongnu.org Date: Sun, 21 Oct 2018 16:21:03 +0200 Message-Id: <20181021142103.19014-1-clement.deschamps@greensocs.com> X-Mailer: git-send-email 2.19.1 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 193.104.36.180 Subject: [Qemu-devel] [PATCH] icount: fix deadlock when all cpus are sleeping X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: pbonzini@redhat.com, Clement Deschamps , artem.k.pisarenko@gmail.com, Pavel.Dovgaluk@ispras.ru Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (found 2 invalid signatures) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" When all cpus are sleeping (e.g in WFI), to avoid a deadlock in the main_loop, wake it up in order to start the warp timer. Signed-off-by: Clement Deschamps --- cpus.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/cpus.c b/cpus.c index bb2a511483..798d43623a 100644 --- a/cpus.c +++ b/cpus.c @@ -1554,6 +1554,14 @@ static void *qemu_tcg_rr_cpu_thread_fn(void *arg) atomic_mb_set(&cpu->exit_request, 0); } =20 + if (use_icount && all_cpu_threads_idle()) { + /* + * When all cpus are sleeping (e.g in WFI), to avoid a deadlock + * in the main_loop, wake it up in order to start the warp tim= er. + */ + qemu_notify_event(); + } + qemu_tcg_rr_wait_io_event(cpu ? cpu : first_cpu); deal_with_unplugged_cpus(); } --=20 2.19.1