[PATCH V2 3/6] scsi: add flag of .use_managed_irq to 'struct Scsi_Host'
Ming Lei
ming.lei at redhat.com
Mon Jul 5 02:55:49 PDT 2021
On Mon, Jul 05, 2021 at 10:25:38AM +0100, John Garry wrote:
> On 02/07/2021 16:05, Ming Lei wrote:
> > blk-mq needs this information of using managed irq for improving
> > deactivating hctx, so add such flag to 'struct Scsi_Host', then
> > drivers can pass such flag to blk-mq via scsi_mq_setup_tags().
> >
> > The rule is that driver has to tell blk-mq if managed irq is used.
> >
> > Signed-off-by: Ming Lei<ming.lei at redhat.com>
>
> As was said before, can we have something like this instead of relying on
> the LLDs to do the setting:
>
> --------->8------------
>
> diff --git a/block/blk-mq-pci.c b/block/blk-mq-pci.c
> index b595a94c4d16..2037a5b69fe1 100644
> --- a/block/blk-mq-pci.c
> +++ b/block/blk-mq-pci.c
> @@ -37,7 +37,7 @@ int blk_mq_pci_map_queues(struct blk_mq_queue_map *qmap,
> struct pci_dev *pdev,
> for_each_cpu(cpu, mask)
> qmap->mq_map[cpu] = qmap->queue_offset + queue;
> }
> -
> + qmap->drain_hwq = 1;
The thing is that blk_mq_pci_map_queues() is allowed to be called for
non-managed irqs. Also some managed irq consumers don't use blk_mq_pci_map_queues().
So this way just provides hint about managed irq uses, but we really
need to get this flag set if driver uses managed irq.
Thanks,
Ming
More information about the Linux-nvme
mailing list