at v2.6.27 592 B view raw
1#ifndef _LINUX_RATELIMIT_H 2#define _LINUX_RATELIMIT_H 3#include <linux/param.h> 4 5#define DEFAULT_RATELIMIT_INTERVAL (5 * HZ) 6#define DEFAULT_RATELIMIT_BURST 10 7 8struct ratelimit_state { 9 int interval; 10 int burst; 11 int printed; 12 int missed; 13 unsigned long begin; 14}; 15 16#define DEFINE_RATELIMIT_STATE(name, interval, burst) \ 17 struct ratelimit_state name = {interval, burst,} 18 19extern int __ratelimit(struct ratelimit_state *rs); 20 21static inline int ratelimit(void) 22{ 23 static DEFINE_RATELIMIT_STATE(rs, DEFAULT_RATELIMIT_INTERVAL, 24 DEFAULT_RATELIMIT_BURST); 25 return __ratelimit(&rs); 26} 27#endif