mirror of
https://github.com/torvalds/linux.git
synced 2025-11-10 05:30:50 +02:00
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEESH4wyp42V4tXvYsjUqAMR0iAlPIFAmORzikACgkQUqAMR0iA
lPKF/g/7Bmcao3rJkZjEagsYY+s7rGhaFaSbML8FDdyE3UzeXLJOnNxBLrD0JIe9
XFW7+DMqr2uRxsab5C7APy0mrIWp/zCGyJ8CmBILnrPDNcAQ27OhFzxv6WlMUmEc
xEjGHrk5dFV96s63gyHGLkKGOZMd/cfcpy/QDOyg0vfF8EZCiPywWMbQQ2Ij8E50
N6UL70ExkoLjT9tzb8NXQiaDqHxqNRvd15aIomDjRrce7eeaL4TaZIT7fKnEcULz
0Lmdo8RUknonCI7Y00RWdVXMqqPD2JsKz3+fh0vBnXEN+aItwyxis/YajtN+m6l7
jhPGt7hNhCKG17auK0/6XVJ3717QwjI3+xLXCvayA8jyewMK14PgzX70hCws0eXM
+5M+IeXI4ze5qsq+ln9Dt8zfC+5HGmwXODUtaYTBWhB4nVWdL/CZ+nTv349zt+Uc
VIi/QcPQ4vq6EfsxUZR2r6Y12+sSH40iLIROUfqSchtujbLo7qxSNF5x7x9+rtff
nWuXo5OsjGE7TZDwn3kr0zSuJ+w/pkWMYQ7jch+A2WqUMYyGC86sL3At7ocL+Esq
34uvzwEgWnNySV8cLiMh34kBmgBwhAP34RhV0RS9iCv8kev2DV7pLQTs9V3QAjw9
EZnFDHATUdikgugaFKCeDV86R3wFgnRWWOdlRrRi6aAzFDqNcYk=
=1PTZ
-----END PGP SIGNATURE-----
Merge tag 'printk-for-6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/printk/linux
Pull printk updates from Petr Mladek:
- Add NMI-safe SRCU reader API. It uses atomic_inc() instead of
this_cpu_inc() on strong load-store architectures.
- Introduce new console_list_lock to synchronize a manipulation of the
list of registered consoles and their flags.
This is a first step in removing the big-kernel-lock-like behavior of
console_lock(). This semaphore still serializes console->write()
calbacks against:
- each other. It primary prevents potential races between early
and proper console drivers using the same device.
- suspend()/resume() callbacks and init() operations in some
drivers.
- various other operations in the tty/vt and framebufer
susbsystems. It is likely that console_lock() serializes even
operations that are not directly conflicting with the
console->write() callbacks here. This is the most complicated
big-kernel-lock aspect of the console_lock() that will be hard
to untangle.
- Introduce new console_srcu lock that is used to safely iterate and
access the registered console drivers under SRCU read lock.
This is a prerequisite for introducing atomic console drivers and
console kthreads. It will reduce the complexity of serialization
against normal consoles and console_lock(). Also it should remove the
risk of deadlock during critical situations, like Oops or panic, when
only atomic consoles are registered.
- Check whether the console is registered instead of enabled on many
locations. It was a historical leftover.
- Cleanly force a preferred console in xenfb code instead of a dirty
hack.
- A lot of code and comment clean ups and improvements.
* tag 'printk-for-6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/printk/linux: (47 commits)
printk: htmldocs: add missing description
tty: serial: sh-sci: use setup() callback for early console
printk: relieve console_lock of list synchronization duties
tty: serial: kgdboc: use console_list_lock to trap exit
tty: serial: kgdboc: synchronize tty_find_polling_driver() and register_console()
tty: serial: kgdboc: use console_list_lock for list traversal
tty: serial: kgdboc: use srcu console list iterator
proc: consoles: use console_list_lock for list iteration
tty: tty_io: use console_list_lock for list synchronization
printk, xen: fbfront: create/use safe function for forcing preferred
netconsole: avoid CON_ENABLED misuse to track registration
usb: early: xhci-dbc: use console_is_registered()
tty: serial: xilinx_uartps: use console_is_registered()
tty: serial: samsung_tty: use console_is_registered()
tty: serial: pic32_uart: use console_is_registered()
tty: serial: earlycon: use console_is_registered()
tty: hvc: use console_is_registered()
efi: earlycon: use console_is_registered()
tty: nfcon: use console_is_registered()
serial_core: replace uart_console_enabled() with uart_console_registered()
...
|
||
|---|---|---|
| .. | ||
| 8250 | ||
| cpm_uart | ||
| jsm | ||
| 21285.c | ||
| altera_jtaguart.c | ||
| altera_uart.c | ||
| amba-pl010.c | ||
| amba-pl011.c | ||
| apbuart.c | ||
| apbuart.h | ||
| ar933x_uart.c | ||
| arc_uart.c | ||
| atmel_serial.c | ||
| atmel_serial.h | ||
| bcm63xx_uart.c | ||
| clps711x.c | ||
| digicolor-usart.c | ||
| dz.c | ||
| dz.h | ||
| earlycon-arm-semihost.c | ||
| earlycon-riscv-sbi.c | ||
| earlycon.c | ||
| fsl_linflexuart.c | ||
| fsl_lpuart.c | ||
| icom.c | ||
| imx.c | ||
| imx_earlycon.c | ||
| ip22zilog.c | ||
| ip22zilog.h | ||
| Kconfig | ||
| kgdb_nmi.c | ||
| kgdboc.c | ||
| lantiq.c | ||
| liteuart.c | ||
| lpc32xx_hs.c | ||
| Makefile | ||
| max310x.c | ||
| max3100.c | ||
| mcf.c | ||
| men_z135_uart.c | ||
| meson_uart.c | ||
| milbeaut_usio.c | ||
| mpc52xx_uart.c | ||
| mps2-uart.c | ||
| msm_serial.c | ||
| mux.c | ||
| mvebu-uart.c | ||
| mxs-auart.c | ||
| omap-serial.c | ||
| owl-uart.c | ||
| pch_uart.c | ||
| pic32_uart.c | ||
| pmac_zilog.c | ||
| pmac_zilog.h | ||
| pxa.c | ||
| qcom_geni_serial.c | ||
| rda-uart.c | ||
| rp2.c | ||
| sa1100.c | ||
| samsung_tty.c | ||
| sb1250-duart.c | ||
| sc16is7xx.c | ||
| sccnxp.c | ||
| serial-tegra.c | ||
| serial_core.c | ||
| serial_mctrl_gpio.c | ||
| serial_mctrl_gpio.h | ||
| serial_txx9.c | ||
| sh-sci.c | ||
| sh-sci.h | ||
| sifive.c | ||
| sprd_serial.c | ||
| st-asc.c | ||
| stm32-usart.c | ||
| stm32-usart.h | ||
| suncore.c | ||
| sunhv.c | ||
| sunplus-uart.c | ||
| sunsab.c | ||
| sunsab.h | ||
| sunsu.c | ||
| sunzilog.c | ||
| sunzilog.h | ||
| tegra-tcu.c | ||
| timbuart.c | ||
| timbuart.h | ||
| uartlite.c | ||
| ucc_uart.c | ||
| vt8500_serial.c | ||
| xilinx_uartps.c | ||
| zs.c | ||
| zs.h | ||