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 tty: serial: Remove redundant license text 2017-11-08 13:08:12 +01:00
8250_acorn.c tty: serial: Remove redundant license text 2017-11-08 13:08:12 +01:00
8250_aspeed_vuart.c serial: 8250: Process sysrq at port unlock time 2018-11-09 09:07:18 -08:00
8250_bcm2835aux.c tty: serial: Remove redundant license text 2017-11-08 13:08:12 +01:00
8250_boca.c tty: serial: Remove redundant license text 2017-11-08 13:08:12 +01:00
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 tty: serial: Remove redundant license text 2017-11-08 13:08:12 +01:00
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 tty: serial: Remove redundant license text 2017-11-08 13:08:12 +01:00
8250_exar.c serial: 8250_exar: Read INT0 from slave device, too 2018-08-02 10:11:35 +02:00
8250_fintek.c serial: 8250_fintek: Fix crash with baud rate B0 2017-11-08 13:09:35 +01:00
8250_fourport.c tty: serial: Remove redundant license text 2017-11-08 13:08:12 +01:00
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 tty: serial: Remove redundant license text 2017-11-08 13:08:12 +01:00
8250_hp300.c tty: add SPDX identifiers to all remaining files in drivers/tty/ 2017-11-08 13:08:12 +01:00
8250_hub6.c tty: serial: Remove redundant license text 2017-11-08 13:08:12 +01:00
8250_ingenic.c serial: 8250_ingenic: Parse earlycon options 2018-01-09 16:49:14 +01:00
8250_lpc18xx.c tty: serial: Remove redundant license text 2017-11-08 13:08:12 +01:00
8250_lpss.c tty: serial: Remove redundant license text 2017-11-08 13:08:12 +01:00
8250_men_mcb.c 8250-men-mcb: add support for 16z025 and 16z057 2018-03-15 18:12:55 +01:00
8250_mid.c tty: serial: Remove redundant license text 2017-11-08 13:08:12 +01:00
8250_moxa.c tty: serial: Remove redundant license text 2017-11-08 13:08:12 +01:00
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 tty: serial: Remove redundant license text 2017-11-08 13:08:12 +01:00
8250_port.c serial: 8250: Process sysrq at port unlock time 2018-11-09 09:07:18 -08:00
8250_pxa.c tty: serial: Remove redundant license text 2017-11-08 13:08:12 +01:00
8250_uniphier.c serial: 8250_uniphier: add auto-flow-control support 2018-10-02 13:38:58 -07:00
8250.h tty: serial: Remove redundant license text 2017-11-08 13:08:12 +01:00
Kconfig serial: 8250: Default SERIAL_OF_PLATFORM to SERIAL_8250 2018-11-09 09:07:17 -08:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
serial_cs.c drivers/tty: add error handling for pcmcia_loop_config 2018-06-28 21:23:44 +09:00