Messages in this thread | | | Date | Tue, 11 Mar 2008 20:20:37 +0100 | From | Marcin Slusarz <> | Subject | Re: [PATCH] [2/3] add WARN_ON_SECS macro |
| |
On Mon, Mar 10, 2008 at 02:34:37PM +0800, Dave Young wrote: > Add WARN_ON_SECS macro for some serious case which need repeat the > warnings, but with some ratelimit. > > Signed-off-by: Dave Young <hidave.darkstar@gmail.com> > > --- > include/asm-generic/bug.h | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff -upr linux/include/asm-generic/bug.h linux.new/include/asm-generic/bug.h > --- linux/include/asm-generic/bug.h 2008-03-10 13:27:03.000000000 +0800 > +++ linux.new/include/asm-generic/bug.h 2008-03-10 13:27:14.000000000 +0800 > @@ -3,6 +3,7 @@ > > #include <linux/compiler.h> > > + > #ifdef CONFIG_BUG > > #ifdef CONFIG_GENERIC_BUG > @@ -75,6 +76,13 @@ 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(condition); \ > +}) > + > #ifdef CONFIG_SMP > # define WARN_ON_SMP(x) WARN_ON(x) > #else
Do you really want to check the condition twice?
Marcin
| |