|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH v2 3/7] xen/console: add build-time rate-limiting controls
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 v1:
- new patch
---
xen/drivers/char/Kconfig | 25 +++++++++++++++++++++++++
xen/drivers/char/console.c | 6 ++++--
2 files changed, 29 insertions(+), 2 deletions(-)
diff --git a/xen/drivers/char/Kconfig b/xen/drivers/char/Kconfig
index 8e49a52c735b..98b117762a0c 100644
--- a/xen/drivers/char/Kconfig
+++ b/xen/drivers/char/Kconfig
@@ -103,3 +103,28 @@ config XHCI
Enabling this option makes Xen use extra ~230KiB memory, even if XHCI
UART
is not selected.
If you have an x86 based system with USB3, say Y.
+
+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.
+
+ 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.
+
+ Rate-limited messages are those controlled by the `loglvl` and
+ `guest_loglvl` command-line parameters.
diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
index c4c92e3efa39..ec87ecb3e5a0 100644
--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -1321,10 +1321,12 @@ static bool do_printk_ratelimit(unsigned int
ratelimit_ms,
}
/* Minimum time in ms between messages */
-static const unsigned int printk_ratelimit_ms = 5 * 1000;
+static const unsigned int printk_ratelimit_ms =
+ CONFIG_PRINTK_RATELIMIT_MS;
/* Number of messages we send before ratelimiting */
-static const unsigned int printk_ratelimit_burst = 10;
+static const unsigned int printk_ratelimit_burst =
+ CONFIG_PRINTK_RATELIMIT_BURST;
bool printk_ratelimit(void)
{
--
2.52.0
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |