• Jim Cromie's avatar
    dyndbg: allow anchored match on format query term · 4b334484
    Jim Cromie authored
    This should work:
    
      echo module=amd* format=^[IF_TRACE]: +p  >/proc/dynamic_debug/control
    
    consider drivers/gpu/drm/amd/display/include/logger_types.h:
    It has 11 defines like:
    
      #define DC_LOG_IF_TRACE(...) pr_debug("[IF_TRACE]:"__VA_ARGS__)
    
    These defines are used 804 times at recent count; they are a good use
    case to evaluate existing format-message based classifications of
    *pr_debug*.  Those macros prefix the supplied format with a fixed
    string, I'd expect most existing message classification schemes to do
    something similar.
    
    Hence we want to be able to anchor our match to the beginning of the
    format string, allowing easy construction of clear and precise
    queries, leveraging the existing classification scheme to enable and
    disable those callsites.
    
    Note that unlike other search terms, formats are implicitly floating
    substring matches, without the need for explicit wildcards.
    
    This makes no attempt at wider regex features, just the one we need.
    
    TLDR: Using the anchor also means the []s are less helpful for
    disamiguating the prefix from a random in-message occurrence, allowing
    shorter prefixes.
    
    Acked-by: <jbaron@akamai.com>
    Signed-off-by: default avatarJim Cromie <jim.cromie@gmail.com>
    Link: https://lore.kernel.org/r/20200719231058.1586423-17-jim.cromie@gmail.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    4b334484
dynamic_debug.c 27.3 KB