lkml.org 
[lkml]   [2011]   [Jul]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[29/35] bug.h: Add WARN_RATELIMIT
    2.6.32-longterm review patch.  If anyone has any objections, please let us know.

    ------------------


    From: Joe Perches <joe@perches.com>

    [ Upstream commit b3eec79b0776e5340a3db75b34953977c7e5086e ]

    Add a generic mechanism to ratelimit WARN(foo, fmt, ...) messages
    using a hidden per call site static struct ratelimit_state.

    Also add an __WARN_RATELIMIT variant to be able to use a specific
    struct ratelimit_state.

    Signed-off-by: Joe Perches <joe@perches.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    ---
    include/asm-generic/bug.h | 16 ++++++++++++++++
    1 file changed, 16 insertions(+)

    --- a/include/asm-generic/bug.h
    +++ b/include/asm-generic/bug.h
    @@ -50,6 +50,22 @@ struct bug_entry {
    #define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while(0)
    #endif

    +#define __WARN_RATELIMIT(condition, state, format...) \
    +({ \
    + int rtn = 0; \
    + if (unlikely(__ratelimit(state))) \
    + rtn = WARN(condition, format); \
    + rtn; \
    +})
    +
    +#define WARN_RATELIMIT(condition, format...) \
    +({ \
    + static DEFINE_RATELIMIT_STATE(_rs, \
    + DEFAULT_RATELIMIT_INTERVAL, \
    + DEFAULT_RATELIMIT_BURST); \
    + __WARN_RATELIMIT(condition, &_rs, format); \
    +})
    +
    /*
    * WARN(), WARN_ON(), WARN_ON_ONCE, and so on can be used to report
    * significant issues that need prompt attention if they should ever



    \
     
     \ /
      Last update: 2011-07-09 08:01    [W:0.022 / U:0.096 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site