@@ -2293,7 +2429,14 @@ asmlinkage int vprintk_emit(int facility, int level,
in_sched = true;
}
- printk_delay(level);
+ cookie = console_srcu_read_lock();
+ for_each_console_srcu(con) {
+ if (!suppress_message_printing(level, con)) {
+ printk_delay();
This would repeat the delay for each registered and non-supressed console.
But it should be called only once when there is at least one
non-suppressed console.
+ break;
+ }
+ }
+ console_srcu_read_unlock(cookie);
+static int printk_sysctl_deprecated(struct ctl_table *table, int write,
+ void *buffer, size_t *lenp, loff_t *ppos)
+{
+ int res = proc_dointvec(table, write, buffer, lenp, ppos);
+
+ if (write)
+ pr_warn_once(
+ "printk: The kernel.printk sysctl is deprecated. Consider using kernel.console_loglevel or kernel.default_message_loglevel instead.\n");
Nit: Please, put it on the same line as pr_warn_once("printk: The kernel....
The small shift left did not help much ;-)
How does this sounds, please?