Thread (12 messages) 12 messages, 3 authors, 2021-03-24

Re: [PATCH] serial: imx: drop workaround for forced irq threading

From: Uwe Kleine-König <hidden>
Date: 2021-03-22 11:56:29
Also in: lkml

Hallo Sebastian,

On Mon, Mar 22, 2021 at 12:39:18PM +0100, Sebastian Andrzej Siewior wrote:
On 2021-03-22 12:34:02 [+0100], Uwe Kleine-König wrote:
quoted
On Mon, Mar 22, 2021 at 12:10:36PM +0100, Johan Hovold wrote:
quoted
Force-threaded interrupt handlers used to run with interrupts enabled,
something which could lead to deadlocks in case a threaded handler
shared a lock with code running in hard interrupt context (e.g. timer
callbacks) and did not explicitly disable interrupts.

This was specifically the case for serial drivers that take the port
lock in their console write path as printk can be called from hard
interrupt context also with forced threading ("threadirqs").

Since commit 81e2073c175b ("genirq: Disable interrupts for force
threaded handlers") interrupt handlers always run with interrupts
disabled on non-RT so that drivers no longer need to do handle this.
So we're breaking RT knowingly here? If this is the case I'm not happy
with your change. (And if RT is not affected a different wording would
be good.)
Which wording, could you be more specific? It looks good from here and
no, RT is not affected.
The commit log says essentially: "The change is fine on non-RT" which
suggests there is a problem on RT. So something like:

	On non-RT interrupts are disabled also for force threaded handlers
	(since commit 81e2073c175b ...). On RT there is no problem either
	because ... So we don't need to handle this case in the driver any more.

would be preferable.

Best regards
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-König            |
Industrial Linux Solutions                 | https://www.pengutronix.de/ |

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help