Messages in this thread | | | Date | Mon, 25 Jan 2021 09:30:29 +0100 | From | Sebastian Andrzej Siewior <> | Subject | Re: [PATCH 2/3] blk-mq: Always complete remote completions requests in softirq |
| |
On 2021-01-25 08:25:42 [+0000], Christoph Hellwig wrote: > On Mon, Jan 25, 2021 at 08:10:16AM +0100, Hannes Reinecke wrote: > > 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
| |