Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6
[deliverable/linux.git] / include / linux / ratelimit.h
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
8 struct 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
19 extern int __ratelimit(struct ratelimit_state *rs);
20
21 static 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
This page took 0.030405 seconds and 5 git commands to generate.