Re: [patch 1/1] genirq: Disable interrupts for force threaded handlers

2021-03-18 Thread Sebastian Andrzej Siewior
On 2021-03-17 17:23:39 [+0100], Johan Hovold wrote: > > > thread(irq_A) > > > irq_handler(A) > > > spin_lock(>lock); > > > > > > interrupt(irq_B) > > > irq_handler(B) > > > spin_lock(>lock); > > > > It will not because both threads will wake_up(thread). > > Note that the above says

Re: [patch 1/1] genirq: Disable interrupts for force threaded handlers

2021-03-17 Thread Johan Hovold
On Wed, Mar 17, 2021 at 03:48:06PM +0100, Sebastian Andrzej Siewior wrote: > On 2021-03-17 15:38:52 [+0100], Thomas Gleixner wrote: > > With interrupt force threading all device interrupt handlers are invoked > > from kernel threads. Contrary to hard interrupt context the invocation only > >

Re: [patch 1/1] genirq: Disable interrupts for force threaded handlers

2021-03-17 Thread Thomas Gleixner
On Wed, Mar 17 2021 at 15:48, Sebastian Andrzej Siewior wrote: > On 2021-03-17 15:38:52 [+0100], Thomas Gleixner wrote: >> thread(irq_A) >> irq_handler(A) >> spin_lock(>lock); >> >> interrupt(irq_B) >> irq_handler(B) >> spin_lock(>lock); > > It will not because both threads will

Re: [patch 1/1] genirq: Disable interrupts for force threaded handlers

2021-03-17 Thread Sebastian Andrzej Siewior
On 2021-03-17 15:38:52 [+0100], Thomas Gleixner wrote: > With interrupt force threading all device interrupt handlers are invoked > from kernel threads. Contrary to hard interrupt context the invocation only > disables bottom halfs, but not interrupts. This was an oversight back then > because any

[patch 1/1] genirq: Disable interrupts for force threaded handlers

2021-03-17 Thread Thomas Gleixner
With interrupt force threading all device interrupt handlers are invoked from kernel threads. Contrary to hard interrupt context the invocation only disables bottom halfs, but not interrupts. This was an oversight back then because any code like this will have an issue: thread(irq_A)