[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20191210215356.GC11457@worktop.programming.kicks-ass.net>
Date: Tue, 10 Dec 2019 22:53:56 +0100
From: Peter Zijlstra <peterz@...radead.org>
To: Sebastian Andrzej Siewior <bigeasy@...utronix.de>
Cc: Thomas Gleixner <tglx@...utronix.de>,
David Howells <dhowells@...hat.com>,
Davidlohr Bueso <dave@...olabs.net>,
Ingo Molnar <mingo@...nel.org>, linux-kernel@...r.kernel.org,
Frederic Weisbecker <fweisbec@...il.com>
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.
Powered by blists - more mailing lists