From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id 6MpFOrSvumpHCBMAWB0awg (envelope-from ) for ; Mon, 28 Sep 2026 14:19:32 -0400 Authentication-Results: simark.ca; dkim=pass (2048-bit key; unprotected) header.d=polymtl.ca header.i=@polymtl.ca header.a=rsa-sha256 header.s=oct2025 header.b=EaKx9v+3; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id D447D1E06B; Mon, 28 Sep 2026 14:19:32 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-5.4 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED autolearn=ham autolearn_force=no version=4.0.1 Received: from vm01.sourceware.org (vm01.sourceware.org [IPv6:2620:52:6:3111::32]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 610AB1E01F for ; Mon, 28 Sep 2026 14:19:31 -0400 (EDT) Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id EE5B54B9DB6E for ; Mon, 28 Sep 2026 18:19:29 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org EE5B54B9DB6E Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=polymtl.ca header.i=@polymtl.ca header.a=rsa-sha256 header.s=oct2025 header.b=EaKx9v+3 Received: from smtp.polymtl.ca (smtp.polymtl.ca [132.207.4.11]) by sourceware.org (Postfix) with ESMTPS id 214E84B9DB63 for ; Mon, 28 Sep 2026 18:19:05 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 214E84B9DB63 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=polymtl.ca Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=polymtl.ca ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 214E84B9DB63 Authentication-Results: sourceware.org; arc=none smtp.remote-ip=132.207.4.11 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1790619545; cv=none; b=HAY3j0iK0TyyUc8Azeg6cGYMj6iJcbfMFHraLGwebL8T2kKCW0EXBRN1yxRkMNuWRY9QybvtbfrOBDxzF3bVUwWpKFGKW6PzdcmGgt3OGmUBfJR/UC/ziXLzKse++4ndVtdLPuO27Ue6kHeJhxkN8xJ26H6A0jEmwqsk9ZzaB3Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1790619545; c=relaxed/simple; bh=TlVrx78syYpfsumtlXf49Km/BGGvTD5Hbe27TPIOu70=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=leLZTXrwkgEI0It2NfawCrcKOypdLRuZy6jcIqc1hTm2A+Qihwq2PaUxYRiD8S2iNhZRym3qb1MWY5ndirK/Rdi9LURn3NtLmjoFGXFHiTUqBl+/+ZEzbOMEGU2DmrhQQwI5dGY3NipRgj2gTWMptuYoKMMjF4OX2gmBc9mYBEo= ARC-Authentication-Results: i=1; sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=polymtl.ca header.i=@polymtl.ca header.a=rsa-sha256 header.s=oct2025 header.b=EaKx9v+3 DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 214E84B9DB63 Received: from simark.ca (simark.ca [158.69.221.121]) (authenticated bits=0) by smtp.polymtl.ca (8.14.7/8.14.7) with ESMTP id 68SIIup9139250 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 28 Sep 2026 14:19:01 -0400 DKIM-Filter: OpenDKIM Filter v2.11.0 smtp.polymtl.ca 68SIIup9139250 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=polymtl.ca; s=oct2025; t=1790619542; bh=sV9B4LR0npJcGg75sgXK2aWCCqe8m5qOWu8wkUFPL9c=; h=From:To:Cc:Subject:Date:From; b=EaKx9v+35HprrwXWmH/Jtd+e66XSl4neH+ShhQSEebEySQZ/uZXvP1OJJCCYoXhaF 653Vfhu/xEZJUvhhYTNF2YnJbjl7rM9MSbIuaEp+B3hWtKbUC6BOIdDDhazDtNTyfR 0Q43BnXfhQEItKYYayuft5Xr9yT52CR4hRo6QL9+J8LZxMgdyhrNNdi12I3hB3gtna ZbMtJ3PyyzOe2FyIyiXpxYkP+Ndfrjgva5tCL3gedBNwy1xzKPkykBrqHQZRzDFMO8 k1rxrI+G5oKUFdcna1wZ921r9cwgB4WkW+68D8pkenSZWNuEHpw1d1z3sGUWAvcbDg 17uadeUNcB7BQ== Received: by simark.ca (Postfix) id 54BCE1E01F; Mon, 28 Sep 2026 14:18:56 -0400 (EDT) From: simon.marchi@polymtl.ca To: gdb-patches@sourceware.org Cc: Simon Marchi Subject: [PATCH] gdb: fix nan in scoped_time_it output Date: Mon, 28 Sep 2026 14:18:48 -0400 Message-ID: <20260928181855.3217561-1-simon.marchi@polymtl.ca> X-Mailer: git-send-email 2.55.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Poly-FromMTA: (simark.ca [158.69.221.121]) at Mon, 28 Sep 2026 18:18:56 +0000 X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces~public-inbox=simark.ca@sourceware.org From: Simon Marchi With "maintenance set per-command time on", a scope that takes less than a millisecond prints: Time for "...": wall 0.000, user 0.000, sys 0.000, user+sys 0.000, -nan % CPU The durations are converted to an integer millisecond count before the CPU usage is computed, so a sub-millisecond scope truncates the wall time to zero, and the division produces a NaN (or an infinity, if the CPU time is not zero). We don't really care about sub-millisecond durations for the purpose of this tool, so just add a check for `wall_ms == 0`, and report the CPU usage as 0% if true. This is purely cosmetic. Change-Id: Iaf682bef4b537d6dbb58e82f7727c0ea079088aa --- gdb/maint.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gdb/maint.c b/gdb/maint.c index 8027429e6d39..22954f624efe 100644 --- a/gdb/maint.c +++ b/gdb/maint.c @@ -1230,7 +1230,8 @@ scoped_time_it::~scoped_time_it () "user+sys %.03f, %.01f %% CPU\n", m_what, wall_ms / 1000.0, user_ms / 1000.0, sys_ms / 1000.0, user_plus_sys_ms / 1000.0, - user_plus_sys_ms * 100.0 / wall_ms); + (wall_ms == 0 + ? 0.0 : user_plus_sys_ms * 100.0 / wall_ms)); gdb_stdlog->write_async_safe (str.data (), str.size ()); } base-commit: 421bec796fa3a06179856da870a13cf71ddf5df2 -- 2.55.0