serial: 8250: Support disabling mdelay-filled probes of 16550A variants
authorJosh Triplett <josh@joshtriplett.org>
Sat, 11 Jan 2020 02:25:13 +0000 (18:25 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 14 Jan 2020 13:07:50 +0000 (14:07 +0100)
commitdc56ecb81a0aa46a7e127e916df5c8fdb8364f0b
tree0c894a891cf091e0207b5a87cd7a434c5866c34b
parent5c116fdf561f0e0e549f10c97c3ddb843b3334a0
serial: 8250: Support disabling mdelay-filled probes of 16550A variants

The 8250 driver can probe for many variants of the venerable 16550A
serial port. Some of those probes involve long (20ms) mdelay calls,
which delay system boot. Modern systems and virtual machines don't have
those variants.

Provide a Kconfig option to disable probes for 16550A variants.
Disabling this speeds up the boot of a virtual machine with a serial
console by more than 20ms (a substantial fraction of the ~100ms needed
to boot a carefully configured VM).

Before:
[  +0.021919] 00:04: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A
After:
[  +0.000097] 00:04: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A

Signed-off-by: Josh Triplett <josh@joshtriplett.org>
Link: https://lore.kernel.org/r/20200111022513.GA166267@localhost
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/8250/8250_port.c
drivers/tty/serial/8250/Kconfig