diff options
author | Paul E. McKenney <paulmck@kernel.org> | 2025-04-24 12:36:19 -0700 |
---|---|---|
committer | Paul E. McKenney <paulmck@kernel.org> | 2025-05-08 16:13:27 -0700 |
commit | ba575cea29fd82a0e6836fefcd51db36f1ff8a92 (patch) | |
tree | 4c990b1f7e3178dd029c98927822d84cd85336f5 | |
parent | 4b2cce999c8f5a03916b11b1e4ce192d223ab4f5 (diff) |
ratelimit: Drop redundant accesses to burst
Now that there is the "burst <= 0" fastpath, for all later code, burst
must be strictly greater than zero. Therefore, drop the redundant checks
of this local variable.
Link: https://lore.kernel.org/all/fbe93a52-365e-47fe-93a4-44a44547d601@paulmck-laptop/
Link: https://lore.kernel.org/all/20250423115409.3425-1-spasswolf@web.de/
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Reviewed-by: Petr Mladek <pmladek@suse.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Kuniyuki Iwashima <kuniyu@amazon.com>
Cc: Mateusz Guzik <mjguzik@gmail.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: John Ogness <john.ogness@linutronix.de>
Cc: Sergey Senozhatsky <senozhatsky@chromium.org>
-rw-r--r-- | lib/ratelimit.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/ratelimit.c b/lib/ratelimit.c index dcc063af195e..859c251b23ce 100644 --- a/lib/ratelimit.c +++ b/lib/ratelimit.c @@ -58,7 +58,7 @@ int ___ratelimit(struct ratelimit_state *rs, const char *func) * the current lock owner is just about to reset it. */ if (!raw_spin_trylock_irqsave(&rs->lock, flags)) { - if (READ_ONCE(rs->flags) & RATELIMIT_INITIALIZED && burst && + if (READ_ONCE(rs->flags) & RATELIMIT_INITIALIZED && atomic_read(&rs->rs_n_left) > 0 && atomic_dec_return(&rs->rs_n_left) >= 0) ret = 1; goto nolock_ret; @@ -90,7 +90,7 @@ int ___ratelimit(struct ratelimit_state *rs, const char *func) } /* Note that the burst might be taken by a parallel call. */ - if (burst && atomic_read(&rs->rs_n_left) > 0 && atomic_dec_return(&rs->rs_n_left) >= 0) + if (atomic_read(&rs->rs_n_left) > 0 && atomic_dec_return(&rs->rs_n_left) >= 0) ret = 1; unlock_ret: |