Loading init/Kconfig +10 −0 Original line number Diff line number Diff line Loading @@ -833,6 +833,16 @@ config LOG_BUF_SHIFT 13 => 8 KB 12 => 4 KB config CONSOLE_FLUSH_ON_HOTPLUG bool "Enable console flush configurable in hot plug code path" depends on HOTPLUG_CPU def_bool n help In cpu hot plug path console lock acquire and release causes the console to flush. If console lock is not free hot plug latency increases. So make console flush configurable in hot plug path and default disabled to help in cpu hot plug latencies. config LOG_CPU_MAX_BUF_SHIFT int "CPU kernel log buffer size contribution (13 => 8 KB, 17 => 128KB)" depends on SMP Loading kernel/printk/printk.c +6 −0 Original line number Diff line number Diff line Loading @@ -2081,11 +2081,17 @@ static int console_cpu_notify(struct notifier_block *self, { switch (action) { case CPU_ONLINE: console_lock(); console_unlock(); break; case CPU_DEAD: case CPU_DOWN_FAILED: case CPU_UP_CANCELED: #ifdef CONFIG_CONSOLE_FLUSH_ON_HOTPLUG console_lock(); console_unlock(); #endif break; } return NOTIFY_OK; } Loading Loading
init/Kconfig +10 −0 Original line number Diff line number Diff line Loading @@ -833,6 +833,16 @@ config LOG_BUF_SHIFT 13 => 8 KB 12 => 4 KB config CONSOLE_FLUSH_ON_HOTPLUG bool "Enable console flush configurable in hot plug code path" depends on HOTPLUG_CPU def_bool n help In cpu hot plug path console lock acquire and release causes the console to flush. If console lock is not free hot plug latency increases. So make console flush configurable in hot plug path and default disabled to help in cpu hot plug latencies. config LOG_CPU_MAX_BUF_SHIFT int "CPU kernel log buffer size contribution (13 => 8 KB, 17 => 128KB)" depends on SMP Loading
kernel/printk/printk.c +6 −0 Original line number Diff line number Diff line Loading @@ -2081,11 +2081,17 @@ static int console_cpu_notify(struct notifier_block *self, { switch (action) { case CPU_ONLINE: console_lock(); console_unlock(); break; case CPU_DEAD: case CPU_DOWN_FAILED: case CPU_UP_CANCELED: #ifdef CONFIG_CONSOLE_FLUSH_ON_HOTPLUG console_lock(); console_unlock(); #endif break; } return NOTIFY_OK; } Loading