linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 00/17] dynamic_debug cleanups, query features, export
@ 2020-06-20 18:06 Jim Cromie
  2020-06-20 18:06 ` [PATCH v4 01/17] dyndbg-docs: eschew file /full/path query in docs Jim Cromie
                   ` (16 more replies)
  0 siblings, 17 replies; 21+ messages in thread
From: Jim Cromie @ 2020-06-20 18:06 UTC (permalink / raw)
  To: jbaron, linux-kernel, akpm, gregkh; +Cc: linux, Jim Cromie

this is v4, changes from previous:
 - dropped flags extensions, one internal optimization kept
 - export ddebug_exec_queries() - done previously, but warrants attention
 - add ^anchor to format matching
 
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/


Jim Cromie (17):

Patchset starts with 11 cleanups;
 - change section name from vague "__verbose" to "__dyndbg"
 - cleaner docs, drop obsolete comment & useless debug prints,
   refine verbosity, fix a BUG_ON, ram reporting miscounts. etc..

  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

accept combined file:line & file:func forms
file inode.c:100-200		# file & line-range
file inode.c:start_*		# file & function

  dyndbg: refactor parse_linerange out of ddebug_parse_query
  dyndbg: accept 'file foo.c:func1' and 'file foo.c:10-100'

accept keyword=value, not just "keyword value" (and not keyword:value)
  dyndbg: accept query terms like file=bar and module=foo

  dyndbg: export ddebug_exec_queries

This will afford module authors complete run-time control over all the
*pr_debug* callsites theyve coded.  They can attach a callback to
their existing debug interface (drm.debug for example), and map bits,
bytes, or strings to particular queries.

  dyndbg: allow anchored match on format query term

This makes "format=^PCI" work, which is far more specific than just
"format=PCI".  It is ideal for the most common convention in logging;
a string prefix which classifies the log-entry in some way.

  dyndbg: combine flags & mask into a struct, simplify with it
  1 less parameter on the stack.


 .../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                           | 263 ++++++++++--------
 5 files changed, 169 insertions(+), 135 deletions(-)

-- 
2.26.2


^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2020-07-16 20:30 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-20 18:06 [PATCH v4 00/17] dynamic_debug cleanups, query features, export Jim Cromie
2020-06-20 18:06 ` [PATCH v4 01/17] dyndbg-docs: eschew file /full/path query in docs Jim Cromie
2020-06-20 18:06 ` [PATCH v4 02/17] dyndbg-docs: initialization is done early, not arch Jim Cromie
2020-06-20 18:06 ` [PATCH v4 03/17] dyndbg: drop obsolete comment on ddebug_proc_open Jim Cromie
2020-06-20 18:06 ` [PATCH v4 04/17] dyndbg: refine debug verbosity; 1 is basic, 2 more chatty Jim Cromie
2020-06-20 18:06 ` [PATCH v4 05/17] dyndbg: rename __verbose section to __dyndbg Jim Cromie
2020-06-20 18:06 ` [PATCH v4 06/17] dyndbg: fix overcounting of ram used by dyndbg Jim Cromie
2020-06-20 18:06 ` [PATCH v4 07/17] dyndbg: fix a BUG_ON in ddebug_describe_flags Jim Cromie
2020-06-20 18:06 ` [PATCH v4 08/17] dyndbg: fix pr_err with empty string Jim Cromie
2020-06-20 18:06 ` [PATCH v4 09/17] dyndbg: prefer declarative init in caller, to memset in callee Jim Cromie
2020-06-20 18:06 ` [PATCH v4 10/17] dyndbg: make ddebug_tables list LIFO for add/remove_module Jim Cromie
2020-06-20 18:06 ` [PATCH v4 11/17] dyndbg: use gcc ?: to reduce word count Jim Cromie
2020-06-20 18:06 ` [PATCH v4 12/17] dyndbg: refactor parse_linerange out of ddebug_parse_query Jim Cromie
2020-06-20 18:06 ` [PATCH v4 13/17] dyndbg: accept 'file foo.c:func1' and 'file foo.c:10-100' Jim Cromie
2020-07-14  2:26   ` Jason Baron
2020-07-16 16:49     ` jim.cromie
2020-07-16 20:30       ` Jason Baron
2020-06-20 18:06 ` [PATCH v4 14/17] dyndbg: accept query terms like file=bar and module=foo Jim Cromie
2020-06-20 18:06 ` [PATCH v4 15/17] dyndbg: export ddebug_exec_queries Jim Cromie
2020-06-20 18:06 ` [PATCH v4 16/17] dyndbg: allow anchored match on format query term Jim Cromie
2020-06-20 18:06 ` [PATCH v4 17/17] dyndbg: combine flags & mask into a struct, simplify with it Jim Cromie

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).