/* SPDX-License-Identifier: GPL-2.0 */ #ifndef _LINUX_JUMP_LABEL_RATELIMIT_H #define _LINUX_JUMP_LABEL_RATELIMIT_H #include <linux/jump_label.h> #include <linux/workqueue.h> #if defined(CC_HAVE_ASM_GOTO) && defined(CONFIG_JUMP_LABEL) struct static_key_deferred { struct static_key key; unsigned long timeout; struct delayed_work work; }; #endif #ifdef HAVE_JUMP_LABEL extern void static_key_slow_dec_deferred(struct static_key_deferred *key); extern void static_key_deferred_flush(struct static_key_deferred *key); extern void jump_label_rate_limit(struct static_key_deferred *key, unsigned long rl); #else /* !HAVE_JUMP_LABEL */ struct static_key_deferred { struct static_key key; };
static inline void static_key_slow_dec_deferred(struct static_key_deferred *key) { STATIC_KEY_CHECK_USE(key); static_key_slow_dec(&key->key); }Contributors
Person | Tokens | Prop | Commits | CommitProp |
Andrew Jones | 20 | 80.00% | 1 | 33.33% |
Borislav Petkov | 3 | 12.00% | 1 | 33.33% |
Hannes Frederic Sowa | 2 | 8.00% | 1 | 33.33% |
Total | 25 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
David Matlack | 14 | 82.35% | 1 | 50.00% |
Borislav Petkov | 3 | 17.65% | 1 | 50.00% |
Total | 17 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Andrew Jones | 14 | 66.67% | 1 | 33.33% |
Hannes Frederic Sowa | 4 | 19.05% | 1 | 33.33% |
Borislav Petkov | 3 | 14.29% | 1 | 33.33% |
Total | 21 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Andrew Jones | 121 | 75.16% | 1 | 20.00% |
David Matlack | 24 | 14.91% | 1 | 20.00% |
Borislav Petkov | 9 | 5.59% | 1 | 20.00% |
Hannes Frederic Sowa | 6 | 3.73% | 1 | 20.00% |
Greg Kroah-Hartman | 1 | 0.62% | 1 | 20.00% |
Total | 161 | 100.00% | 5 | 100.00% |