On Mon, Sep 14, 2026 at 1:10 PM Breno Leitao <[email protected]> wrote: > > Give each target a token bucket and consult it once per message in > netconsole_write(). > > The bucket is created with a zero interval, which struct ratelimit_state > treats as unlimited, and nothing can set a nonzero one yet, so no target > changes behaviour. > > Skip the bucket while the kernel is dying, reusing the helper the > oops_only fix added, so a limit configured for steady-state logging > never truncates an oops, BUG() or panic(). > > The configfs files that expose it come next. > > ___ratelimit() only trylocks its own raw spinlock, so it is safe with > target_list_lock held and interrupts disabled, and safe from NMI. Set > RATELIMIT_MSG_ON_RELEASE so it does not report the suppressed count > itself, which would printk() from inside the console being serviced. > > Signed-off-by: Breno Leitao <[email protected]>
Reviewed-by: Gustavo Luiz Duarte <[email protected]>

