Re: [PATCH RFC] blk-mq: Don't IPI requests on PREEMPT_RT

From: Sebastian Andrzej Siewior
Date: Fri Oct 23 2020 - 09:52:26 EST


On 2020-10-23 12:21:30 [+0100], Christoph Hellwig wrote:
> > - if (!IS_ENABLED(CONFIG_SMP) ||
> > + if (!IS_ENABLED(CONFIG_SMP) || IS_ENABLED(CONFIG_PREEMPT_RT) ||
> > !test_bit(QUEUE_FLAG_SAME_COMP, &rq->q->queue_flags))
>
> This needs a big fat comment explaining your rationale. And probably
> a separate if statement to make it obvious as well.

Okay.
How much difference does it make between completing in-softirq vs
in-IPI? I'm asking because acquiring a spinlock_t in an IPI shouldn't be
done (as per Documentation/locking/locktypes.rst). We don't have
anything in lockdep that will complain here on !RT and we the above we
avoid the case on RT.

Sebastian