From: Jim Cromie <jim.cromie@gmail.com>
To: jbaron@akamai.com, linux-kernel@vger.kernel.org,
akpm@linuxfoundation.org, gregkh@linuxfoundation.org
Cc: linux@rasmusvillemoes.dk, Jim Cromie <jim.cromie@gmail.com>
Subject: [PATCH v5 00/18] dynamic_debug fixes, cleanups, features, export
Date: Sun, 19 Jul 2020 17:10:40 -0600 [thread overview]
Message-ID: <20200719231058.1586423-1-jim.cromie@gmail.com> (raw)
this is v5, changes from previous:
- moved a chunk from patch 13 to 12, per Jason
- shorten logging prefix to "dyndbg", drop __func__
- now with more commit-log advocacy
- shuffle EXPORT_GPL(ddebug_exec_queries) last.
- v4+ series Acked-by: jbaron@akamai.com
v4: https://lore.kernel.org/lkml/20200620180643.887546-1-jim.cromie@gmail.com/
v3: https://lore.kernel.org/lkml/20200617162536.611386-1-jim.cromie@gmail.com/
v2: https://lore.kernel.org/lkml/20200613155738.2249399-1-jim.cromie@gmail.com/
v1: https://lore.kernel.org/lkml/20200605162645.289174-1-jim.cromie@gmail.com/
Patchset starts with cleanups;
- change section name from vague "__verbose" to specific "__dyndbg"
- cleaner docs, drop obsolete comment & useless debug prints,
- refine verbose/debug logging
- fix a BUG_ON, ram reporting miscounts. etc..
Then adds query parsing conveniences
- allow "file inode.c:100-200" # combined file & line-range
- allow "file inode.c:start_*" # file & function
- accept "module=foo" query form
internal improvement
- combine flags & mask in a struct, clean 3 func interfaces with it.
make precise format queries easier
- accept "format=^ClassString" anchored query
finally, EXPORT_GPL(ddebug_exec_queries)
This gives module authors complete run-time control over all their
*pr_debug* callsites (when CONFIG_DYNAMIC_DEBUG=y).
Following the drm.debug UI model, drm.debug_chan2 could be wired to a
callback which invokes ddebug_exec_queries to toggle arbitary groups
of pr_debug callsites.
Useful callsite groups would exploit existing message-prefix
classifcation schemes:
"format=^[IF_TRACE]: +p; format=^[SURFACE]: +p" >control
Jim Cromie (18):
dyndbg-docs: eschew file /full/path query in docs
dyndbg-docs: initialization is done early, not arch
dyndbg: drop obsolete comment on ddebug_proc_open
dyndbg: refine debug verbosity; 1 is basic, 2 more chatty
dyndbg: rename __verbose section to __dyndbg
dyndbg: fix overcounting of ram used by dyndbg
dyndbg: fix a BUG_ON in ddebug_describe_flags
dyndbg: fix pr_err with empty string
dyndbg: prefer declarative init in caller, to memset in callee
dyndbg: make ddebug_tables list LIFO for add/remove_module
dyndbg: use gcc ?: to reduce word count
dyndbg: refactor parse_linerange out of ddebug_parse_query
dyndbg: accept 'file foo.c:func1' and 'file foo.c:10-100'
dyndbg: accept query terms like file=bar and module=foo
dyndbg: combine flags & mask into a struct, simplify with it
dyndbg: allow anchored match on format query term
dyndbg: shorten our logging prefix, drop __func__
dyndbg: export ddebug_exec_queries
.../admin-guide/dynamic-debug-howto.rst | 29 +-
include/asm-generic/vmlinux.lds.h | 6 +-
include/linux/dynamic_debug.h | 4 +-
kernel/module.c | 2 +-
lib/dynamic_debug.c | 269 ++++++++++--------
5 files changed, 173 insertions(+), 137 deletions(-)
--
2.26.2
next reply other threads:[~2020-07-19 23:11 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-07-19 23:10 Jim Cromie [this message]
2020-07-19 23:10 ` [PATCH v5 01/18] dyndbg-docs: eschew file /full/path query in docs Jim Cromie
2020-07-19 23:10 ` [PATCH v5 02/18] dyndbg-docs: initialization is done early, not arch Jim Cromie
2020-07-19 23:10 ` [PATCH v5 03/18] dyndbg: drop obsolete comment on ddebug_proc_open Jim Cromie
2020-07-19 23:10 ` [PATCH v5 04/18] dyndbg: refine debug verbosity; 1 is basic, 2 more chatty Jim Cromie
2020-07-19 23:10 ` [PATCH v5 05/18] dyndbg: rename __verbose section to __dyndbg Jim Cromie
2020-07-19 23:10 ` [PATCH v5 06/18] dyndbg: fix overcounting of ram used by dyndbg Jim Cromie
2020-07-19 23:10 ` [PATCH v5 07/18] dyndbg: fix a BUG_ON in ddebug_describe_flags Jim Cromie
2020-07-19 23:10 ` [PATCH v5 08/18] dyndbg: fix pr_err with empty string Jim Cromie
2020-07-19 23:10 ` [PATCH v5 09/18] dyndbg: prefer declarative init in caller, to memset in callee Jim Cromie
2020-07-19 23:10 ` [PATCH v5 10/18] dyndbg: make ddebug_tables list LIFO for add/remove_module Jim Cromie
2020-07-19 23:10 ` [PATCH v5 11/18] dyndbg: use gcc ?: to reduce word count Jim Cromie
2020-07-19 23:10 ` [PATCH v5 12/18] dyndbg: refactor parse_linerange out of ddebug_parse_query Jim Cromie
2020-07-19 23:10 ` [PATCH v5 13/18] dyndbg: accept 'file foo.c:func1' and 'file foo.c:10-100' Jim Cromie
2020-07-19 23:10 ` [PATCH v5 14/18] dyndbg: accept query terms like file=bar and module=foo Jim Cromie
2020-07-19 23:10 ` [PATCH v5 15/18] dyndbg: combine flags & mask into a struct, simplify with it Jim Cromie
2020-07-19 23:10 ` [PATCH v5 16/18] dyndbg: allow anchored match on format query term Jim Cromie
2020-07-19 23:10 ` [PATCH v5 17/18] dyndbg: shorten our logging prefix, drop __func__ Jim Cromie
2020-07-19 23:10 ` [PATCH v5 18/18] dyndbg: export ddebug_exec_queries Jim Cromie
2020-07-24 13:48 ` [PATCH v5 00/18] dynamic_debug fixes, cleanups, features, export Jason Baron
2020-07-24 14:59 ` Greg KH
2020-07-24 15:00 ` Greg KH
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=20200719231058.1586423-1-jim.cromie@gmail.com \
--to=jim.cromie@gmail.com \
--cc=akpm@linuxfoundation.org \
--cc=gregkh@linuxfoundation.org \
--cc=jbaron@akamai.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@rasmusvillemoes.dk \
/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
all inboxes | Powered by JetHome®