[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87r1o14i9r.fsf@nanos.tec.linutronix.de>
Date: Mon, 07 Dec 2020 18:50:56 +0100
From: Thomas Gleixner <tglx@...utronix.de>
To: Sebastian Andrzej Siewior <bigeasy@...utronix.de>
Cc: Peter Zijlstra <peterz@...radead.org>,
LKML <linux-kernel@...r.kernel.org>,
Frederic Weisbecker <frederic@...nel.org>,
Paul McKenney <paulmck@...nel.org>
Subject: Re: [patch V2 9/9] tasklets: Prevent kill/unlock_wait deadlock on RT
On Mon, Dec 07 2020 at 18:49, Thomas Gleixner wrote:
> On Mon, Dec 07 2020 at 16:39, Sebastian Andrzej Siewior wrote:
>> On 2020-12-07 16:22:07 [+0100], Thomas Gleixner wrote:
>>> On Mon, Dec 07 2020 at 15:00, Sebastian Andrzej Siewior wrote:
>>> > So we keep the RT part as-is and replace the non-RT bits with this?
>>>
>>> No. It would work for both.
>>
>> So instead of boosting our way through we simply wait until the tasklet
>> completes. Given that canceling is usually done on start/stop events, it
>> shouldn't matter if the RT priority is lost.
>
> That was my reasoning. The only thing we need to figure out whether
> there are callers on !RT which invoke that muck from non-sleepable
> context.
The kill() variant is fine. It must be called from sleepable
context. The otherone can be invoked everywhere except hard interrupt
context IIRC.
Thanks,
tglx
Powered by blists - more mailing lists