Re: Problem with WARN_ON in mutex_trylock() and rxrpc
From: Peter Zijlstra
Date: Tue Dec 10 2019 - 16:54:06 EST
On Tue, Dec 10, 2019 at 09:32:25PM +0100, Sebastian Andrzej Siewior wrote:
> On 2019-12-10 20:25:38 [+0100], Peter Zijlstra wrote:
> > AFAICT the only assumption it relies on are:
> > - that the softirq will cleanly preempt a task. That is, the task
> > context must not change under the softirq execution.
> > - that the softirq runs non-preemptible.
> > Now, both these properties are rather fundamental to how our softirqs
> > work. And can, therefore, be relied upon, irrespective of the mutex
> > implementation.
> softirq is preemptible on -RT (I think you know that already but just in
Indeed, but there it also runs in task context and then it all works
naturally. The !preempt thing is required for when it runs on top of a
task; then it functions as a priority ceiling like construct.