linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC][PATCH] printk: increase devkmsg write() ratelimit
@ 2018-12-18  9:18 Sergey Senozhatsky
  2018-12-18 10:48 ` Peter Zijlstra
  2018-12-18 14:02 ` Sergey Senozhatsky
  0 siblings, 2 replies; 22+ messages in thread
From: Sergey Senozhatsky @ 2018-12-18  9:18 UTC (permalink / raw)
  To: Petr Mladek, Steven Rostedt
  Cc: Borislav Petkov, Peter Zijlstra, Andrew Morton, linux-kernel,
	Sergey Senozhatsky, Sergey Senozhatsky

	Hello,
	
	RFC

A painful subject:

I just noticed that stock systemd (no systemd debugging enabled) on my
x86 box write()-s during shutdown to devkmsg more than before, so old
devkmsg ratelimits do not apply:

$ sudo journalctl -n 40000 -f | grep "kernel: printk: systemd-shutdow"
 kernel: printk: systemd-shutdow: 35 output lines suppressed due to ratelimiting
 kernel: printk: systemd-shutdow: 31 output lines suppressed due to ratelimiting
 kernel: printk: systemd-shutdow: 35 output lines suppressed due to ratelimiting
 kernel: printk: systemd-shutdow: 36 output lines suppressed due to ratelimiting
 kernel: printk: systemd-shutdow: 36 output lines suppressed due to ratelimiting
 kernel: printk: systemd-shutdow: 36 output lines suppressed due to ratelimiting
 kernel: printk: systemd-shutdow: 36 output lines suppressed due to ratelimiting
 kernel: printk: systemd-shutdow: 35 output lines suppressed due to ratelimiting

I know that there is a "kernel.printk_devkmsg" interface; do we
expect every systemd-enabled distro to find that out and to tweak
kernel.printk_devkmsg or shall we change the default devkmsg
ratelimit instead?


=====================================================================

Every time I reboot my systemd x86_64 box:

kernel: printk: systemd-shutdow: 36 output lines suppressed due to ratelimiting

Apparently, the default ratelimit - 10 messages max, 5 * HZ
interval - is a bit too restrictive these days, can't help
it; so increase it to "50 messages, same interval" (which is
not awfully a lot).

Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
---
 kernel/printk/printk.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
index 84e54250840a..0ed54f90f208 100644
--- a/kernel/printk/printk.c
+++ b/kernel/printk/printk.c
@@ -998,7 +998,8 @@ static int devkmsg_open(struct inode *inode, struct file *file)
 	if (!user)
 		return -ENOMEM;
 
-	ratelimit_default_init(&user->rs);
+	ratelimit_state_init(&user->rs, DEFAULT_RATELIMIT_INTERVAL,
+					5 * DEFAULT_RATELIMIT_BURST);
 	ratelimit_set_flags(&user->rs, RATELIMIT_MSG_ON_RELEASE);
 
 	mutex_init(&user->lock);
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2018-12-21  7:32 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-12-18  9:18 [RFC][PATCH] printk: increase devkmsg write() ratelimit Sergey Senozhatsky
2018-12-18 10:48 ` Peter Zijlstra
2018-12-18 11:17   ` Sergey Senozhatsky
2018-12-18 11:29     ` Peter Zijlstra
2018-12-18 13:09       ` Sergey Senozhatsky
2018-12-18 11:47     ` Borislav Petkov
2018-12-18 13:07       ` Sergey Senozhatsky
2018-12-18 14:26         ` Borislav Petkov
2018-12-18 14:55           ` Sergey Senozhatsky
2018-12-18 15:03             ` Borislav Petkov
2018-12-18 15:14               ` Sergey Senozhatsky
2018-12-18 15:24                 ` Borislav Petkov
2018-12-18 16:52                   ` Sergey Senozhatsky
2018-12-18 17:21                     ` Peter Zijlstra
2018-12-18 17:37                       ` Steven Rostedt
2018-12-19  8:50                         ` Petr Mladek
2018-12-20 11:35                         ` Sergey Senozhatsky
2018-12-20 13:58                           ` Steven Rostedt
2018-12-21  7:32                             ` Sergey Senozhatsky
2018-12-18 17:47                     ` Borislav Petkov
2018-12-19  1:46                       ` Sergey Senozhatsky
2018-12-18 14:02 ` Sergey Senozhatsky

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).