OSDN Git Service

ratelimit: add initialization macro
authorDmitry Monakhov <dmonakhov@openvz.org>
Sat, 13 Dec 2014 00:57:57 +0000 (16:57 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 13 Dec 2014 20:42:52 +0000 (12:42 -0800)
Signed-off-by: Dmitry Monakhov <dmonakhov@openvz.org>
Cc: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
include/linux/ratelimit.h

index 0a260d8..1810252 100644 (file)
@@ -17,14 +17,20 @@ struct ratelimit_state {
        unsigned long   begin;
 };
 
-#define DEFINE_RATELIMIT_STATE(name, interval_init, burst_init)                \
-                                                                       \
-       struct ratelimit_state name = {                                 \
+#define RATELIMIT_STATE_INIT(name, interval_init, burst_init) {                \
                .lock           = __RAW_SPIN_LOCK_UNLOCKED(name.lock),  \
                .interval       = interval_init,                        \
                .burst          = burst_init,                           \
        }
 
+#define RATELIMIT_STATE_INIT_DISABLED                                  \
+       RATELIMIT_STATE_INIT(ratelimit_state, 0, DEFAULT_RATELIMIT_BURST)
+
+#define DEFINE_RATELIMIT_STATE(name, interval_init, burst_init)                \
+                                                                       \
+       struct ratelimit_state name =                                   \
+               RATELIMIT_STATE_INIT(name, interval_init, burst_init)   \
+
 static inline void ratelimit_state_init(struct ratelimit_state *rs,
                                        int interval, int burst)
 {