lkml.org 
[lkml]   [2011]   [Sep]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 01/26] dynamic_debug: drop enabled field from struct _ddebug, use flags & _DPRINTK_FLAGS_PRINT
    Date
    From: Jim Cromie <jim.cromie@gmail.com>

    Currently any enabled dynamic-debug flag on a pr_debug callsite will enable
    printing, even if _DPRINTK_FLAGS_PRINT is off. Checking print flag directly
    allows "-p" to disable callsites without fussing with other flags, so
    the following disables everything:

    echo -p > $DBGFS/dynamic_debug/control

    Signed-off-by: Jim Cromie <jim.cromie@gmail.com>
    ---
    include/linux/dynamic_debug.h | 8 +++-----
    lib/dynamic_debug.c | 4 ----
    2 files changed, 3 insertions(+), 9 deletions(-)

    diff --git a/include/linux/dynamic_debug.h b/include/linux/dynamic_debug.h
    index 8aec680..ed7df3d 100644
    --- a/include/linux/dynamic_debug.h
    +++ b/include/linux/dynamic_debug.h
    @@ -28,7 +28,6 @@ struct _ddebug {
    #define _DPRINTK_FLAGS_INCL_TID (1<<4)
    #define _DPRINTK_FLAGS_DEFAULT 0
    unsigned int flags:8;
    - char enabled;
    } __attribute__((aligned(8)));


    @@ -63,13 +62,12 @@ extern int __dynamic_netdev_dbg(struct _ddebug *descriptor,
    .format = (fmt), \
    .lineno = __LINE__, \
    .flags = _DPRINTK_FLAGS_DEFAULT, \
    - .enabled = false, \
    }

    #define dynamic_pr_debug(fmt, ...) \
    do { \
    DECLARE_DYNAMIC_DEBUG_METADATA(descriptor, fmt); \
    - if (unlikely(descriptor.enabled)) \
    + if (unlikely(descriptor.flags & _DPRINTK_FLAGS_PRINT)) \
    __dynamic_pr_debug(&descriptor, pr_fmt(fmt), \
    ##__VA_ARGS__); \
    } while (0)
    @@ -77,7 +75,7 @@ do { \
    #define dynamic_dev_dbg(dev, fmt, ...) \
    do { \
    DECLARE_DYNAMIC_DEBUG_METADATA(descriptor, fmt); \
    - if (unlikely(descriptor.enabled)) \
    + if (unlikely(descriptor.flags & _DPRINTK_FLAGS_PRINT)) \
    __dynamic_dev_dbg(&descriptor, dev, fmt, \
    ##__VA_ARGS__); \
    } while (0)
    @@ -85,7 +83,7 @@ do { \
    #define dynamic_netdev_dbg(dev, fmt, ...) \
    do { \
    DECLARE_DYNAMIC_DEBUG_METADATA(descriptor, fmt); \
    - if (unlikely(descriptor.enabled)) \
    + if (unlikely(descriptor.flags & _DPRINTK_FLAGS_PRINT)) \
    __dynamic_netdev_dbg(&descriptor, dev, fmt, \
    ##__VA_ARGS__); \
    } while (0)
    diff --git a/lib/dynamic_debug.c b/lib/dynamic_debug.c
    index 4138574..f2fb0c0 100644
    --- a/lib/dynamic_debug.c
    +++ b/lib/dynamic_debug.c
    @@ -152,10 +152,6 @@ static void ddebug_change(const struct ddebug_query *query,
    if (newflags == dp->flags)
    continue;
    dp->flags = newflags;
    - if (newflags)
    - dp->enabled = 1;
    - else
    - dp->enabled = 0;
    if (verbose)
    pr_info("changed %s:%d [%s]%s %s\n",
    dp->filename, dp->lineno,
    --
    1.7.4.4


    \
     
     \ /
      Last update: 2011-09-21 23:59    [W:4.641 / U:0.044 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site