linux_dsm_epyc7002/drivers/tty/serial/8250
Darwin Dingel 6d7f677a2a serial: 8250: Rate limit serial port rx interrupts during input overruns
When a serial port gets faulty or gets flooded with inputs, its interrupt
handler starts to work double time to get the characters to the workqueue
for the tty layer to handle them. When this busy time on the serial/tty
subsystem happens during boot, where it is also busy on the userspace
trying to initialise, some processes can continuously get preempted
and will be on hold until the interrupts subside.

The fix is to backoff on processing received characters for a specified
amount of time when an input overrun is seen (received a new character
before the previous one is processed). This only stops receive and will
continue to transmit characters to serial port. After the backoff period
is done, it receive will be re-enabled. This is optional and will only
be enabled by setting 'overrun-throttle-ms' in the dts.

Signed-off-by: Darwin Dingel <darwin.dingel@alliedtelesis.co.nz>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-12-17 16:02:57 +01:00
..
8250_accent.c
8250_acorn.c
8250_aspeed_vuart.c serial: 8250: Process sysrq at port unlock time 2018-11-09 09:07:18 -08:00
8250_bcm2835aux.c
8250_boca.c
8250_core.c serial: 8250: Rate limit serial port rx interrupts during input overruns 2018-12-17 16:02:57 +01:00
8250_dma.c
8250_dw.c Revert "serial: 8250_dw: Fix runtime PM handling" 2018-10-02 14:35:10 -07:00
8250_early.c serial: 8250_early: Setup divider when uartclk is passed 2018-04-25 14:56:12 +02:00
8250_em.c headers: separate linux/mod_devicetable.h from linux/platform_device.h 2018-07-07 17:52:26 +02:00
8250_exar_st16c554.c
8250_exar.c serial: 8250_exar: Read INT0 from slave device, too 2018-08-02 10:11:35 +02:00
8250_fintek.c
8250_fourport.c
8250_fsl.c serial: 8250: Rate limit serial port rx interrupts during input overruns 2018-12-17 16:02:57 +01:00
8250_gsc.c
8250_hp300.c
8250_hub6.c
8250_ingenic.c serial: 8250_ingenic: Parse earlycon options 2018-01-09 16:49:14 +01:00
8250_lpc18xx.c
8250_lpss.c
8250_men_mcb.c 8250-men-mcb: add support for 16z025 and 16z057 2018-03-15 18:12:55 +01:00
8250_mid.c
8250_moxa.c
8250_mtk.c Merge 4.20-rc6 into tty-next 2018-12-10 10:17:45 +01:00
8250_of.c serial: 8250: Rate limit serial port rx interrupts during input overruns 2018-12-17 16:02:57 +01:00
8250_omap.c serial: 8250: Process sysrq at port unlock time 2018-11-09 09:07:18 -08:00
8250_pci.c serial: 8250_pci: Remove stalled entries in blacklist 2018-06-28 21:34:39 +09:00
8250_pnp.c
8250_port.c serial: 8250: Process sysrq at port unlock time 2018-11-09 09:07:18 -08:00
8250_pxa.c
8250_uniphier.c serial: 8250_uniphier: add auto-flow-control support 2018-10-02 13:38:58 -07:00
8250.h
Kconfig serial: 8250: Default SERIAL_OF_PLATFORM to SERIAL_8250 2018-11-09 09:07:17 -08:00
Makefile
serial_cs.c drivers/tty: add error handling for pcmcia_loop_config 2018-06-28 21:23:44 +09:00