From nobody Thu Nov 6 12:12:22 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; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1540929454539921.1131404694653; Tue, 30 Oct 2018 12:57:34 -0700 (PDT) Received: from localhost ([::1]:55244 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gHa8n-0005pe-Ff for importer@patchew.org; Tue, 30 Oct 2018 15:57:29 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48226) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gHa28-00082R-Vp for qemu-devel@nongnu.org; Tue, 30 Oct 2018 15:50:38 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gHa26-0002Il-EJ for qemu-devel@nongnu.org; Tue, 30 Oct 2018 15:50:36 -0400 Received: from mail-wm1-x330.google.com ([2a00:1450:4864:20::330]:37514) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gHa26-00022C-2H for qemu-devel@nongnu.org; Tue, 30 Oct 2018 15:50:34 -0400 Received: by mail-wm1-x330.google.com with SMTP id p2-v6so12455445wmc.2 for ; Tue, 30 Oct 2018 12:50:19 -0700 (PDT) Received: from 640k.lan ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id g76-v6sm17480094wmd.25.2018.10.30.12.50.16 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 30 Oct 2018 12:50:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=Z2dLXAjqPsYiDE2KG3TA3x3OxiKYmk9EUCnKtZXwwok=; b=bQ0VnKSyDT9KGF0A7BoIUloXOZEJDn9wwCzh4/1ycwAb9itTEvN1wspaMUnSTny1YL iY6gBV1jLe/vJolBeoj6KsEtnmujKyTzvGBd8Y4TLg2qomAlYSwgSoBvqDfv1I/tdIM+ BDww5UOLmk+mgy4IH+u94UEF/qZJamkNq+oIahEI8eN2dZc9WozEczeyWKmhGUDSvgoU l/kWvzQIgtgNl4QfTwTYaavjGMC30SmPzU+eLOpcOx8H6vXaWVKHcoI/oBBUHlQvsYiY lZRYQgX4I+MTT7CPha+EH0C+qB+6dRGmzLdvgjSZ7t94gxUCcI9gC/x4pqRjwdkFQPDW Dkwg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=Z2dLXAjqPsYiDE2KG3TA3x3OxiKYmk9EUCnKtZXwwok=; b=hKJhAd9+Zv7cpPovyPdDJtoYVlRGpWoaZ8qjkRLmFRELygM2/O8Smwj88+8AHjA5Eh qjXpy2okWhgJsuMigJFuL8fHewh5Dq9FnuxUfLOEj+vpid8Nc2s4SZjEX83torB3H/eb jOuwuqLF0wUkscOu+DQbJJfnmDPN9QQWR4vmRypLQpL71mxc0NRrsCvX+2P0yVh/843X SpNDyuH3Ffdbv8pXB4z1n1uWp0RpfHKiZRu1JfH5bs3aXYiogd57dtHwidurBeN+6kLG tIftJm0LHPBdu4Eyy+SmcJDhvPZZva+od8Me/6XUo4unwVXY0wyKOb/q1MDbdTE5lRUE svTw== X-Gm-Message-State: AGRZ1gI4mJJe1bptMsttn/BjaNRo1eoR42DXBbzx2/9t1JKjHZkMcfZI LgviDzg8cq/HN5jhfZchrbZWY4Ed X-Google-Smtp-Source: AJdET5dqxEEZ0VxY/jPMubdHV1wA8L5PCbukTpzhYNJaVxaKqwaYFheUiUQifzeK4RXH5jGWQcgQHw== X-Received: by 2002:a1c:bce:: with SMTP id 197-v6mr60520wml.15.1540929017680; Tue, 30 Oct 2018 12:50:17 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Tue, 30 Oct 2018 20:50:02 +0100 Message-Id: <1540929011-19894-2-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1540929011-19894-1-git-send-email-pbonzini@redhat.com> References: <1540929011-19894-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::330 Subject: [Qemu-devel] [PULL 01/10] 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: Clement Deschamps Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Clement Deschamps 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 Message-Id: <20181021142103.19014-1-clement.deschamps@greensocs.com> Signed-off-by: Paolo Bonzini --- cpus.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/cpus.c b/cpus.c index 3978f63..a2b33cc 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 1.8.3.1