From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B0AC24F4733; Sat, 5 Sep 2026 18:13:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788632020; cv=none; b=jf1jgsQz0xiaMC49od4V48QAjzbQWLfWiyRJkz6wgLPbdvoKXoQuY9y4Z833ZW5YTq13ZJmi6AskNLeCAG7mD4YjWc6b8l3IhC6Qam0LMS9IWO/Fz8QHwG79vhvfo8EjaGcz2mQ9bB4P6QGoKvxNk3e5u7xxxYxktos4X47aRqE= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788632020; c=relaxed/simple; bh=/TSf4cfwRiWoLBn1QpiIpPf7eaHrbRpB7P6ajEP2eVw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=B7+/7Dfs8H7pQ40rIMh+RgMSBF5Zu+YgqHtF6fDK+2AHOkL6Xxn34EokEF4vXgDIjs1mu4dkMWvP1lXlJtocZKLHaQ5ey4xyRYWFrRE2+jogQ4sRx0ReNwhiyNP15ld96s0TfWd81FVd9L4tEU2IbmUPtbIbCu/lrrE2h28Z/F0= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=p2pdoVI9; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="p2pdoVI9" Received: by smtp.kernel.org (Postfix) with ESMTPS id 8FE52C2BCB3; Sat, 5 Sep 2026 18:13:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1788632020; bh=/TSf4cfwRiWoLBn1QpiIpPf7eaHrbRpB7P6ajEP2eVw=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=p2pdoVI9BE+AUU4CUWAdlLUgwnicGyLNI6jVvR9TVcchxhsFEd972ZAwMR+V485PP Caa8NuYqdPconJAdf/zbjOowOLllzyELfvNFIgcfV3UX1uQ0bDMrXWelChOKjvoBsq OR+dtbqkvgfiAeyTFvwhQIIFkDn8ExPzkxMknnWSIbU86db/4pOJF4HUL0W327WGi7 Qi3I3h7cEYWvGWN2jkPypcrbe695KuSvd3TQugl8qvDTosfRYElL62whHXVjothg/4 +UxOMX/RDr0vBf1DI2Dx3dlZYYQv7f3o0AT9Yshd3ZuEHAC6O+ypHIQLoQ4pgjhpKX IDcDU03oZuViA== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7E1BEC624D6; Sat, 5 Sep 2026 18:13:40 +0000 (UTC) From: Jim Cromie via B4 Relay Date: Sat, 05 Sep 2026 12:13:30 -0600 Subject: [PATCH v8 16/43] dyndbg: reduce verbose/debug clutter Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20260905-dd-cmap-part2-clean-v8-16-a4cc0674f6fd@gmail.com> References: <20260905-dd-cmap-part2-clean-v8-0-a4cc0674f6fd@gmail.com> In-Reply-To: <20260905-dd-cmap-part2-clean-v8-0-a4cc0674f6fd@gmail.com> To: Jason Baron , Shuah Khan , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Arnd Bergmann , Luis Chamberlain , Petr Pavlu , Daniel Gomez , Sami Tolvanen , Aaron Tomlin , Andrew Morton , Jonathan Corbet , Shuah Khan , Greg Kroah-Hartman , Nathan Chancellor , Nicolas Schier Cc: linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-arch@vger.kernel.org, linux-modules@vger.kernel.org, linux-doc@vger.kernel.org, linux-kbuild@vger.kernel.org, Jim Cromie , Louis Chauvet X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1788632017; l=5249; i=jim.cromie@gmail.com; s=20260203; h=from:subject:message-id; bh=t37j4WX9rmGZnaxWZRllxKHD7tuZeHqRl4wVkmg6M8Q=; b=ye2bTc3Stss7Jjmq9Y6dE3edZ5bDFrOUZFaWMwdrDSd3KvVFBZSPn4LRMypoAa4x4govaZRTp HJhVQv7NTkDBvCXyZAVjm18fSxD2FKWmiynpAtkMbMEWbmjuMGI3Aw7 X-Developer-Key: i=jim.cromie@gmail.com; a=ed25519; pk=C6E5ODlPQo7ZBynATXH9wg7K6HxP0pIXyf4s38Qw0XE= X-Endpoint-Received: by B4 Relay for jim.cromie@gmail.com/20260203 with auth_id=958 X-Original-From: Jim Cromie Reply-To: jim.cromie@gmail.com From: Jim Cromie currently, for verbose=3, these are logged (blank lines for clarity): dyndbg: query 0: "class DRM_UT_CORE +p" mod:* dyndbg: split into words: "class" "DRM_UT_CORE" "+p" dyndbg: op='+' dyndbg: flags=0x1 dyndbg: *flagsp=0x1 *maskp=0xffffffff dyndbg: parsed: func="" file="" module="" format="" lineno=0-0 class=... dyndbg: no matches for query dyndbg: no-match: func="" file="" module="" format="" lineno=0-0 class=... dyndbg: processed 1 queries, with 0 matches, 0 errs That is excessive, so this patch: - shrinks 3 lines of 2nd stanza to single line - drops 1st 2 lines of 3rd stanza 3rd line is like 1st, with result, not procedure. 2nd line is just status, retold in 4th, with more info. New output: dyndbg: query 0: "class DRM_UT_CORE +p" dyndbg: split into words: "class" "DRM_UT_CORE" "+p" dyndbg: op='+' flags=0x1 maskp=0xffffffff dyndbg: processed 1 queries, with 0 matches, 0 errs Also drop several verbose=3 messages in ddebug_add_module. When modprobing a module, dyndbg currently logs/says "add-module", and then "skipping" if the module has no prdbgs. Instead just check 1st and return quietly. Unmatched query diagnostics are intentionally restricted to verbose level 3 (v3pr_info_dq) to reduce dmesg output clutter on standard verbose levels (verbose=1 and verbose=2), aligning with the overall de-cluttering of dynamic debug logging. Signed-off-by: Jim Cromie Reviewed-by: Louis Chauvet --- v7: update fingerprints of grammar-errs changed here v4: rename vpr_dq_info to v3pr_dq_info to tell its active logging level adjust some vX levels per doc'd intentions v2: RvB after SoB trivial change to verbose-debug output line to output the actual "module" keyword rather than "mod:", and do so only when the module is constrained by the callchain (ie as part of a modprobe). was: query X: "(keyword value)* [+-=]flags" mod:* now: query X: "(keyword value)* [+-=]flags" or query X: module FOO "keyword value)* [+-=]flags" IOW, adjust output to reflect the input grammar more closely. --- lib/dynamic_debug.c | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/lib/dynamic_debug.c b/lib/dynamic_debug.c index 122c2c9a1254..b2892be2de36 100644 --- a/lib/dynamic_debug.c +++ b/lib/dynamic_debug.c @@ -128,7 +128,7 @@ do { \ #define v3pr_info(fmt, ...) vnpr_info(3, fmt, ##__VA_ARGS__) #define v4pr_info(fmt, ...) vnpr_info(4, fmt, ##__VA_ARGS__) -static void vpr_info_dq(const struct ddebug_query *query, const char *msg) +static void v3pr_info_dq(const struct ddebug_query *query, const char *msg) { /* trim any trailing newlines */ int fmtlen = 0; @@ -283,9 +283,6 @@ static int ddebug_change(const struct ddebug_query *query, } mutex_unlock(&ddebug_lock); - if (!nfound && verbose) - pr_info("no matches for query\n"); - return nfound; } @@ -494,7 +491,6 @@ static int ddebug_parse_query(char *words[], int nwords, */ query->module = modname; - vpr_info_dq(query, "parsed"); return 0; } @@ -518,7 +514,6 @@ static int ddebug_parse_flags(const char *str, struct flag_settings *modifiers) pr_err("bad flag-op %c, at start of %s\n", *str, str); return -EINVAL; } - v3pr_info("op='%c'\n", op); for (; *str ; ++str) { for (i = ARRAY_SIZE(opt_array) - 1; i >= 0; i--) { @@ -532,7 +527,6 @@ static int ddebug_parse_flags(const char *str, struct flag_settings *modifiers) return -EINVAL; } } - v3pr_info("flags=0x%x\n", modifiers->flags); /* calculate final flags, mask based upon op */ switch (op) { @@ -548,7 +542,7 @@ static int ddebug_parse_flags(const char *str, struct flag_settings *modifiers) modifiers->flags = 0; break; } - v3pr_info("*flagsp=0x%x *maskp=0x%x\n", modifiers->flags, modifiers->mask); + v3pr_info("op='%c' flags=0x%x maskp=0x%x\n", op, modifiers->flags, modifiers->mask); return 0; } @@ -577,7 +571,7 @@ static int ddebug_exec_query(char *query_string, const char *modname) } /* actually go and implement the change */ nfound = ddebug_change(&query, &modifiers); - vpr_info_dq(&query, nfound ? "applied" : "no-match"); + v3pr_info_dq(&query, nfound ? "applied" : "no-match"); return nfound; } @@ -600,7 +594,10 @@ static int ddebug_exec_queries(char *query, const char *modname) if (!query || !*query || *query == '#') continue; - vpr_info("query %d: \"%s\" mod:%s\n", i, query, modname ?: "*"); + if (modname) + v2pr_info("query %d: module %s \"%s\"\n", i, modname, query); + else + v2pr_info("query %d: \"%s\"\n", i, query); rc = ddebug_exec_query(query, modname); if (rc < 0) { @@ -1167,11 +1164,10 @@ static int ddebug_add_module(struct _ddebug_info *di, const char *modname) { struct ddebug_table *dt; - v3pr_info("add-module: %s.%d sites\n", modname, di->num_descs); - if (!di->num_descs) { - v3pr_info(" skip %s\n", modname); + if (!di->num_descs) return 0; - } + + v3pr_info("add-module: %s %d sites\n", modname, di->num_descs); dt = kzalloc_obj(*dt); if (dt == NULL) { -- 2.55.0