Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at dfea91d5a7c795fd6f4e1a97489a98e4e767463e 31 lines 739 B view raw
1#ifndef _LINUX_RATELIMIT_H 2#define _LINUX_RATELIMIT_H 3 4#include <linux/param.h> 5#include <linux/spinlock_types.h> 6 7#define DEFAULT_RATELIMIT_INTERVAL (5 * HZ) 8#define DEFAULT_RATELIMIT_BURST 10 9 10struct ratelimit_state { 11 spinlock_t lock; /* protect the state */ 12 13 int interval; 14 int burst; 15 int printed; 16 int missed; 17 unsigned long begin; 18}; 19 20#define DEFINE_RATELIMIT_STATE(name, interval_init, burst_init) \ 21 \ 22 struct ratelimit_state name = { \ 23 .lock = __SPIN_LOCK_UNLOCKED(name.lock), \ 24 .interval = interval_init, \ 25 .burst = burst_init, \ 26 } 27 28extern int ___ratelimit(struct ratelimit_state *rs, const char *func); 29#define __ratelimit(state) ___ratelimit(state, __func__) 30 31#endif /* _LINUX_RATELIMIT_H */