From: Jim Cromie <jim.cromie@gmail.com>
To: jbaron@akamai.com, gregkh@linuxfoundation.org,
ukaszb@chromium.org, louis.chauvet@bootlin.com,
linux-kernel@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org,
intel-gvt-dev@lists.freedesktop.org,
intel-gfx@lists.freedesktop.org, daniel.vetter@ffwll.ch,
tvrtko.ursulin@linux.intel.com, jani.nikula@intel.com,
ville.syrjala@linux.intel.com, Jim Cromie <jim.cromie@gmail.com>,
linux-doc@vger.kernel.org
Subject: [PATCH v3 03/54] docs/dyndbg: explain flags parse 1st
Date: Wed, 2 Apr 2025 11:41:05 -0600 [thread overview]
Message-ID: <20250402174156.1246171-4-jim.cromie@gmail.com> (raw)
In-Reply-To: <20250402174156.1246171-1-jim.cromie@gmail.com>
When writing queries to >control, flags are parsed 1st, since they are
the only required field, and they require specific compositions. So
if the flags draw an error (on those specifics), then keyword errors
aren't reported. This can be mildly confusing/annoying, so explain it
instead.
cc: linux-doc@vger.kernel.org
Signed-off-by: Jim Cromie <jim.cromie@gmail.com>
Reviewed-by: Louis Chauvet <louis.chauvet@bootlin.com>
---
Documentation/admin-guide/dynamic-debug-howto.rst | 15 ++++++++++++---
1 file changed, 12 insertions(+), 3 deletions(-)
diff --git a/Documentation/admin-guide/dynamic-debug-howto.rst b/Documentation/admin-guide/dynamic-debug-howto.rst
index 4ac18c0a1d95..63a511f2337b 100644
--- a/Documentation/admin-guide/dynamic-debug-howto.rst
+++ b/Documentation/admin-guide/dynamic-debug-howto.rst
@@ -109,9 +109,18 @@ The match-spec's select *prdbgs* from the catalog, upon which to apply
the flags-spec, all constraints are ANDed together. An absent keyword
is the same as keyword "*".
-
-A match specification is a keyword, which selects the attribute of
-the callsite to be compared, and a value to compare against. Possible
+Note: because the match-spec can be empty, the flags are checked 1st,
+then the pairs of keyword values. Flag errs will hide keyword errs:
+
+ bash-5.2# ddcmd mod bar +foo
+ dyndbg: read 13 bytes from userspace
+ dyndbg: query 0: "mod bar +foo" mod:*
+ dyndbg: unknown flag 'o'
+ dyndbg: flags parse failed
+ dyndbg: processed 1 queries, with 0 matches, 1 errs
+
+So a match-spec is a keyword, which selects the attribute of the
+callsite to be compared, and a value to compare against. Possible
keywords are:::
match-spec ::= 'func' string |
--
2.49.0
next prev parent reply other threads:[~2025-04-02 17:42 UTC|newest]
Thread overview: 80+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-02 17:41 [PATCH v3 00/54] Fix CONFIG_DRM_USE_DYNAMIC_DEBUG=y Jim Cromie
2025-04-02 17:41 ` [PATCH v3 01/54] vmlinux.lds.h: fixup HEADERED_SECTION{,_BY} macros Jim Cromie
2025-04-15 9:59 ` Louis Chauvet
2025-04-02 17:41 ` [PATCH v3 02/54] docs/dyndbg: update examples \012 to \n Jim Cromie
2025-04-15 9:59 ` Louis Chauvet
2025-04-02 17:41 ` Jim Cromie [this message]
2025-04-02 17:41 ` [PATCH v3 04/54] test-dyndbg: fixup CLASSMAP usage error Jim Cromie
2025-04-02 17:41 ` [PATCH v3 05/54] dyndbg: reword "class unknown," to "class:_UNKNOWN_" Jim Cromie
2025-04-02 17:41 ` [PATCH v3 06/54] dyndbg: make ddebug_class_param union members same size Jim Cromie
2025-04-02 17:41 ` [PATCH v3 07/54] dyndbg: drop NUM_TYPE_ARRAY Jim Cromie
2025-04-02 17:41 ` [PATCH v3 08/54] dyndbg: reduce verbose/debug clutter Jim Cromie
2025-04-02 17:41 ` [PATCH v3 09/54] dyndbg: refactor param_set_dyndbg_classes and below Jim Cromie
2025-04-02 17:41 ` [PATCH v3 10/54] dyndbg: tighten fn-sig of ddebug_apply_class_bitmap Jim Cromie
2025-04-02 17:41 ` [PATCH v3 11/54] dyndbg: replace classmap list with a vector Jim Cromie
2025-04-15 9:59 ` Louis Chauvet
2025-04-02 17:41 ` [PATCH v3 12/54] dyndbg: macrofy a 2-index for-loop pattern Jim Cromie
2025-04-02 17:41 ` [PATCH v3 13/54] dyndbg,module: make proper substructs in _ddebug_info Jim Cromie
2025-04-15 9:59 ` [PATCH v3 13/54] dyndbg, module: " Louis Chauvet
2025-04-02 17:41 ` [PATCH v3 14/54] dyndbg: hoist classmap-filter-by-modname up to ddebug_add_module Jim Cromie
2025-04-15 10:00 ` Louis Chauvet
2025-04-02 17:41 ` [PATCH v3 15/54] dyndbg: ddebug_table.mod_name down to _ddebug_info Jim Cromie
2025-04-02 17:41 ` [PATCH v3 16/54] dyndbg-API: remove DD_CLASS_TYPE_(DISJOINT|LEVEL)_NAMES and code Jim Cromie
2025-04-15 10:00 ` Louis Chauvet
2025-04-02 17:41 ` [PATCH v3 17/54] dyndbg-API: replace DECLARE_DYNDBG_CLASSMAP Jim Cromie
2025-04-15 10:01 ` Louis Chauvet
2025-04-15 19:38 ` jim.cromie
2025-04-02 17:41 ` [PATCH v3 18/54] selftests-dyndbg: add tools/testing/selftests/dynamic_debug/* Jim Cromie
2025-04-15 10:02 ` Louis Chauvet
2025-04-15 19:46 ` jim.cromie
2025-04-02 17:41 ` [PATCH v3 19/54] dyndbg: detect class_id reservation conflicts Jim Cromie
2025-04-15 10:03 ` Louis Chauvet
2025-04-02 17:41 ` [PATCH v3 20/54] dyndbg: check DYNAMIC_DEBUG_CLASSMAP_DEFINE args at compile-time Jim Cromie
2025-04-15 10:04 ` Louis Chauvet
2025-04-15 19:54 ` jim.cromie
2025-04-16 6:54 ` Louis Chauvet
2025-04-02 17:41 ` [PATCH v3 21/54] dyndbg-test: change do_prints testpoint to accept a loopct Jim Cromie
2025-04-15 10:04 ` Louis Chauvet
2025-04-15 20:15 ` jim.cromie
2025-04-02 17:41 ` [PATCH v3 22/54] dyndbg-API: promote DYNAMIC_DEBUG_CLASSMAP_PARAM to API Jim Cromie
2025-04-15 10:06 ` Louis Chauvet
2025-04-02 17:41 ` [PATCH v3 23/54] dyndbg: treat comma as a token separator Jim Cromie
2025-04-15 10:04 ` Louis Chauvet
2025-04-15 20:17 ` jim.cromie
2025-04-02 17:41 ` [PATCH v3 24/54] dyndbg: split multi-query strings with % Jim Cromie
2025-04-02 17:41 ` [PATCH v3 25/54] selftests-dyndbg: add test_mod_submod Jim Cromie
2025-04-02 17:41 ` [PATCH v3 26/54] dyndbg: change __dynamic_func_call_cls* macros into expressions Jim Cromie
2025-04-15 10:06 ` Louis Chauvet
2025-04-15 22:49 ` jim.cromie
2025-04-02 17:41 ` [PATCH v3 27/54] dyndbg: drop "protection" of class'd pr_debugs from legacy queries Jim Cromie
2025-04-15 10:06 ` Louis Chauvet
2025-04-02 17:41 ` [PATCH v3 28/54] dyndbg: restore classmap protection when theres a controlling_param Jim Cromie
2025-06-20 14:41 ` Sean Paul
2025-04-02 17:41 ` [PATCH v3 29/54] docs/dyndbg: add classmap info to howto Jim Cromie
2025-04-15 10:06 ` Louis Chauvet
2025-04-02 17:41 ` [PATCH v3 30/54] drm: use correct ccflags-y spelling Jim Cromie
2025-04-02 17:41 ` [PATCH v3 31/54] drm-dyndbg: adapt drm core to use dyndbg classmaps-v2 Jim Cromie
2025-04-02 17:41 ` [PATCH v3 32/54] drm-dyndbg: adapt DRM to invoke DYNAMIC_DEBUG_CLASSMAP_PARAM Jim Cromie
2025-04-02 17:41 ` [PATCH v3 33/54] drm-print: fix config-dependent unused variable Jim Cromie
2025-04-02 17:41 ` [PATCH v3 34/54] drm-dyndbg: DRM_CLASSMAP_USE in amdgpu driver Jim Cromie
2025-04-02 17:41 ` [PATCH v3 35/54] drm-dyndbg: DRM_CLASSMAP_USE in i915 driver Jim Cromie
2025-04-02 17:41 ` [PATCH v3 36/54] drm-dyndbg: DRM_CLASSMAP_USE in drm_crtc_helper Jim Cromie
2025-04-02 17:41 ` [PATCH v3 37/54] drm-dyndbg: DRM_CLASSMAP_USE in drm_dp_helper Jim Cromie
2025-04-02 17:41 ` [PATCH v3 38/54] drm-dyndbg: DRM_CLASSMAP_USE in nouveau Jim Cromie
2025-04-02 17:41 ` [PATCH v3 39/54] drm-dyndbg: add DRM_CLASSMAP_USE to Xe driver Jim Cromie
2025-04-02 17:41 ` [PATCH v3 40/54] drm-dyndbg: add DRM_CLASSMAP_USE to virtio_gpu Jim Cromie
2025-04-02 17:41 ` [PATCH v3 41/54] drm-dyndbg: add DRM_CLASSMAP_USE to simpledrm Jim Cromie
2025-04-02 17:41 ` [PATCH v3 42/54] drm-dyndbg: add DRM_CLASSMAP_USE to bochs Jim Cromie
2025-04-02 17:41 ` [PATCH v3 43/54] drm-dyndbg: add DRM_CLASSMAP_USE to etnaviv Jim Cromie
2025-04-02 17:41 ` [PATCH v3 44/54] drm-dyndbg: add DRM_CLASSMAP_USE to gma500 driver Jim Cromie
2025-04-02 17:41 ` [PATCH v3 45/54] drm-dyndbg: add DRM_CLASSMAP_USE to radeon Jim Cromie
2025-04-02 17:41 ` [PATCH v3 46/54] drm-dyndbg: add DRM_CLASSMAP_USE to vmwgfx driver Jim Cromie
2025-04-02 17:41 ` [PATCH v3 47/54] drm-dyndbg: add DRM_CLASSMAP_USE to vkms driver Jim Cromie
2025-04-02 17:41 ` [PATCH v3 48/54] drm-dyndbg: add DRM_CLASSMAP_USE to udl driver Jim Cromie
2025-04-02 17:41 ` [PATCH v3 49/54] drm-dyndbg: add DRM_CLASSMAP_USE to mgag200 driver Jim Cromie
2025-04-02 17:41 ` [PATCH v3 50/54] drm-dyndbg: add DRM_CLASSMAP_USE to the gud driver Jim Cromie
2025-04-02 17:41 ` [PATCH v3 51/54] drm-dyndbg: add DRM_CLASSMAP_USE to the qxl driver Jim Cromie
2025-04-02 17:41 ` [PATCH v3 52/54] drm-dyndbg: add DRM_CLASSMAP_USE to the drm_gem_shmem_helper driver Jim Cromie
2025-04-02 17:41 ` [PATCH v3 53/54] drm: restore CONFIG_DRM_USE_DYNAMIC_DEBUG un-BROKEN Jim Cromie
2025-04-15 10:00 ` Louis Chauvet
2025-04-02 17:41 ` [PATCH v3 54/54] drm: RFC - make drm_dyndbg_user.o for drm-*_helpers, drivers Jim Cromie
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250402174156.1246171-4-jim.cromie@gmail.com \
--to=jim.cromie@gmail.com \
--cc=amd-gfx@lists.freedesktop.org \
--cc=daniel.vetter@ffwll.ch \
--cc=dri-devel@lists.freedesktop.org \
--cc=gregkh@linuxfoundation.org \
--cc=intel-gfx@lists.freedesktop.org \
--cc=intel-gvt-dev@lists.freedesktop.org \
--cc=jani.nikula@intel.com \
--cc=jbaron@akamai.com \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=louis.chauvet@bootlin.com \
--cc=tvrtko.ursulin@linux.intel.com \
--cc=ukaszb@chromium.org \
--cc=ville.syrjala@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox