Messages in this thread | | | Date | Tue, 10 Dec 2019 22:53:56 +0100 | From | Peter Zijlstra <> | Subject | Re: Problem with WARN_ON in mutex_trylock() and rxrpc |
| |
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 > case).
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.
| |