Re: [PATCH 2/3] blk-mq: Always complete remote completions requests in softirq
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: 2021-01-26 20:13:01
Also in:
lkml
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: 2021-01-26 20:13:01
Also in:
lkml
On 2021-01-25 08:25:42 [+0000], Christoph Hellwig wrote:
On Mon, Jan 25, 2021 at 08:10:16AM +0100, Hannes Reinecke wrote:quoted
I don't get this. This code is about _avoiding_ having to raise a softirq if the driver exports more than one hardware queue. So where exactly does the remote CPU case come in here?__blk_mq_complete_request_remote is only called for the case where we do not completelky locally. The case that "degrades" here is where the device supports multiple queues, but less than the number of CPUs, and we bounce the completion to another CPU.
Does it really "degrade" or just use the softirq more often? The usual case is run the softirqs in irq_exit() which is just after IPI. Sebastian