On Tue, 2011-05-17 at 13:33 -0700, Ben Greear wrote: > On 05/17/2011 12:53 PM, Joe Perches wrote: > > Another option is to add a WARN_RATELIMIT > > (there is already a WARN_ON_RATELIMIT) to avoid > > missing other messages. > > Something like: > > include/asm-generic/bug.h | 16 ++++++++++++++++ > > net/core/filter.c | 4 +++- > > 2 files changed, 19 insertions(+), 1 deletions(-) > > diff --git a/include/asm-generic/bug.h b/include/asm-generic/bug.h > > index e5a3f58..12b250c 100644 > > --- a/include/asm-generic/bug.h > > +++ b/include/asm-generic/bug.h > > @@ -165,6 +165,22 @@ extern void warn_slowpath_null(const char *file, const int line); > > #define WARN_ON_RATELIMIT(condition, state) \ > > WARN_ON((condition)&& __ratelimit(state)) > > > > +#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_ON_SMP() is for cases that the warning is either > > * meaningless for !SMP or may even cause failures. > > diff --git a/net/core/filter.c b/net/core/filter.c > > index 0eb8c44..0e3622f 100644 > > --- a/net/core/filter.c > > +++ b/net/core/filter.c > > @@ -350,7 +350,9 @@ load_b: > > continue; > > } > > default: > > - WARN_ON(1); > > + WARN_RATELIMIT(1, "Unknown code:%u jt:%u tf:%u k:%u\n", > > + fentry->code, fentry->jt, > > + fentry->jf, fentry->k); > > return 0; > > } > > } > > > Sounds fine to me. You want to just send an official > patch with all this? I added a some cc's for wider exposure. original post: http://www.spinics.net/lists/netdev/msg164521.html Let's wait to see if David has anything to say. The biggest negative I see is adding RATELIMIT_STATE to asm-generic/bug.h, though it already has a use of __ratelimit in WARN_ON_RATELIMIT there. WARN_ON_RATELIMIT is unused today. The only user seems to have been RCU_PREEMPT which was deleted in: commit 6b3ef48adf847f7adf11c870e3ffacac150f1564 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Sat Aug 22 13:56:53 2009 -0700 rcu: Remove CONFIG_PREEMPT_RCU Maybe the old definition should be removed instead. If there are no comments after a day or two, I'll sign and send this as 2 patches with the filter one marked as: Original-patch-by: Ben Greear <greearb@xxxxxxxxxxxxxxx> cheers, Joe -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html