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