Re: Affinity managed interrupts vs non-managed interrupts

From: Christoph Hellwig
Date: Tue Sep 11 2018 - 05:17:05 EST


On Wed, Aug 29, 2018 at 04:16:23PM +0530, Sumit Saxena wrote:
> > Could you explain a bit what the specific use case the extra 16 vectors
> is?
> We are trying to avoid the penalty due to one interrupt per IO completion
> and decided to coalesce interrupts on these extra 16 reply queues.
> For regular 72 reply queues, we will not coalesce interrupts as for low IO
> workload, interrupt coalescing may take more time due to less IO
> completions.
> In IO submission path, driver will decide which set of reply queues
> (either extra 16 reply queues or regular 72 reply queues) to be picked
> based on IO workload.

The point I don't get here is why you need separate reply queues for
the interrupt coalesce setting. Shouldn't this just be a flag at
submission time that indicates the amount of coalescing that should
happen?

What is the benefit of having different completion queues?