[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v4 2/2] xen/console: add compile-time rate-limiting controls



On Wed, Jul 29, 2026 at 12:25:20AM -0700, dmukhin@xxxxxxxx wrote:
> From: Denis Mukhin <dmukhin@xxxxxxxx> 
> 
> Introduce CONFIG_PRINTK_RATELIMIT_MS and CONFIG_PRINTK_RATELIMIT_BURST
> for configuring rate-limiting policy at the compile time.
> 
> Use symbols for global rate-limiting initialization in the console driver.
> 
> Signed-off-by: Denis Mukhin <dmukhin@xxxxxxxx>
> ---
> Changes since v3:
> - added note on security support for non-standard configurations
> - gated menu with EXPERT
> 
> I kept both settings for now.
> ---
>  xen/common/Kconfig         | 36 ++++++++++++++++++++++++++++++++++++
>  xen/drivers/char/console.c |  6 ++++--
>  2 files changed, 40 insertions(+), 2 deletions(-)
> 
> diff --git a/xen/common/Kconfig b/xen/common/Kconfig
> index da80fdba8469..749d3bfb08e0 100644
> --- a/xen/common/Kconfig
> +++ b/xen/common/Kconfig
> @@ -672,4 +672,40 @@ config PM_STATS
>         Enable collection of performance management statistics to aid in
>         analyzing and tuning power/performance characteristics of the system
>  
> +menu "Console rate-limiting"
> +     visible if EXPERT

No strong opinion, but there's a drivers/char/Kconfig which might be a
more natural place for those option to live, and then there's no
reason for the extra menu?

> +
> +config PRINTK_RATELIMIT_MS
> +     int "printk rate-limiting time window (milliseconds)"
> +     default 5000
> +     help
> +       Specifies the time window, in milliseconds, for rate-limited [*] 
> printk
> +       messages. No more than `CONFIG_PRINTK_RATELIMIT_BURST` messages will 
> be
> +       printed within this window.
> +
> +       Setting this value to 0 disables rate-limiting entirely.
> +
> +       Configurations using a value other than the default of 5000 are not
> +       security supported.
> +
> +       [*] Rate-limited messages are those controlled by the `loglvl` and
> +       `guest_loglvl` command-line parameters.
> +
> +config PRINTK_RATELIMIT_BURST
> +     int "printk rate-limited message burst size"
> +     default 10
> +     help
> +       Defines the maximum number of rate-limited [*] printk messages that 
> may
> +       be printed within each `CONFIG_PRINTK_RATELIMIT_MS` time window.
> +
> +       Setting this value to 0 disables rate-limiting entirely.
> +
> +       Configurations using a value other than the default of 10 are not
> +       security supported.
> +
> +       [*] Rate-limited messages are those controlled by the `loglvl` and
> +       `guest_loglvl` command-line parameters.

Is it common to use footnotes in Kconfig options?  It seems a bit
weird to me, I would probably just expand inside parenthesis if
needed.

Also, I'm a bit confused by the mention of loglvl and guest_loglvl
explicitly here: messages outside of the selected level are just
discarded, and hence it's kind of obvious that just messages inside
the selected level are controlled by this rate-limiting.



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.