From: Dave Young Add WARN_ON_SECS macro for some serious cases which need to repeat the warnings, but with some ratelimiting. Signed-off-by: Dave Young Acked-by: Paul E. McKenney Tested-by: Paul E. McKenney Signed-off-by: Andrew Morton --- include/asm-generic/bug.h | 9 +++++++++ 1 file changed, 9 insertions(+) diff -puN include/asm-generic/bug.h~add-warn_on_secs-macro include/asm-generic/bug.h --- a/include/asm-generic/bug.h~add-warn_on_secs-macro +++ a/include/asm-generic/bug.h @@ -2,6 +2,7 @@ #define _ASM_GENERIC_BUG_H #include +#include #ifdef CONFIG_BUG @@ -75,6 +76,14 @@ extern void warn_on_slowpath(const char unlikely(__ret_warn_once); \ }) +#define WARN_ON_SECS(condition, secs) ({ \ + int __ret_warn_on = !!(condition); \ + if (unlikely(__ret_warn_on)) \ + if (__ratelimit(secs * HZ, 1)) \ + WARN_ON(1); \ + unlikely(__ret_warn_on); \ +}) + #ifdef CONFIG_SMP # define WARN_ON_SMP(x) WARN_ON(x) #else _