mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
x86/console: process softirqs between warning prints
Process softirqs while printing end of boot warnings. Each warning can be several lines long, and on slow consoles printing multiple ones without processing softirqs can result in the watchdog triggering: (XEN) [ 22.277806] *************************************************** (XEN) [ 22.417802] WARNING: CONSOLE OUTPUT IS SYNCHRONOUS (XEN) [ 22.556029] This option is intended to aid debugging of Xen by ensuring (XEN) [ 22.696802] that all output is synchronously delivered on the serial line. (XEN) [ 22.838024] However it can introduce SIGNIFICANT latencies and affect (XEN) [ 22.978710] timekeeping. It is NOT recommended for production use! (XEN) [ 23.119066] *************************************************** (XEN) [ 23.258865] Booted on L1TF-vulnerable hardware with SMT/Hyperthreading (XEN) [ 23.399560] enabled. Please assess your configuration and choose an (XEN) [ 23.539925] explicit 'smt=<bool>' setting. See XSA-273. (XEN) [ 23.678860] *************************************************** (XEN) [ 23.818492] Booted on MLPDS/MFBDS-vulnerable hardware with SMT/Hyperthreading (XEN) [ 23.959811] enabled. Mitigations will not be fully effective. Please (XEN) [ 24.100396] choose an explicit smt=<bool> setting. See XSA-297. (XEN) [ 24.240254] *************************************************(XEN) [ 24.247302] Watchdog timer detects that CPU0 is stuck! (XEN) [ 24.386785] ----[ Xen-4.17-unstable x86_64 debug=y Tainted: C ]---- (XEN) [ 24.527874] CPU: 0 (XEN) [ 24.662422] RIP: e008:[<ffff82d04025b84a>] drivers/char/ns16550.c#ns16550_tx_ready+0x3a/0x90 Fixes:ee3fd57acd('xen: add warning infrastructure') Signed-off-by: Roger Pau Monné <roger.pau@citrix.com> Acked-by: Jan Beulich <jbeulich@suse.com> master commit:6bd1b4d35cmaster date: 2022-02-18 09:02:16 +0100
This commit is contained in:
1 parent
cc06d95c41
commit
a2f7300559
1 file changed
+1
@@ -30,6 +30,7 @@ void __init warning_print(void)
|
||||
{
|
||||
printk("%s", warnings[i]);
|
||||
printk("***************************************************\n");
|
||||
process_pending_softirqs();
|
||||
}
|
||||
|
||||
for ( i = 0; i < 3; i++ )
|
||||
|
||||