From: Jason Gunthorpe <jgg@ziepe.ca>
To: Sagi Grimberg <sagi@grimberg.me>
Cc: Leon Romanovsky <leon@kernel.org>,
linux-block@vger.kernel.org, linux-nvme@lists.infradead.org,
Christoph Hellwig <hch@lst.de>, Keith Busch <kbusch@kernel.org>,
Chaitanya Kulkarni <Chaitanya.Kulkarni@wdc.com>,
linux-rdma@vger.kernel.org
Subject: Re: [PATCH] blk-mq-rdma: remove queue mapping helper for rdma devices
Date: Thu, 23 Mar 2023 12:57:52 -0300 [thread overview]
Message-ID: <ZBx3AI5pothCuvTx@ziepe.ca> (raw)
In-Reply-To: <e1b00740-3c75-8b90-4d68-76a5f341a117@grimberg.me>
On Thu, Mar 23, 2023 at 05:07:24PM +0200, Sagi Grimberg wrote:
>
> > > > > > > No rdma device exposes its irq vectors affinity today. So the only
> > > > > > > mapping that we have left, is the default blk_mq_map_queues, which
> > > > > > > we fallback to anyways. Also fixup the only consumer of this helper
> > > > > > > (nvme-rdma).
> > > > > >
> > > > > > This was the only caller of ib_get_vector_affinity() so please delete
> > > > > > op get_vector_affinity and ib_get_vector_affinity() from verbs as well
> > > > >
> > > > > Yep, no problem.
> > > > >
> > > > > Given that nvme-rdma was the only consumer, do you prefer this goes from
> > > > > the nvme tree?
> > > >
> > > > Sure, it is probably fine
> > >
> > > I tried to do it two+ years ago:
> > > https://lore.kernel.org/all/20200929091358.421086-1-leon@kernel.org
> >
> > Christoph's points make sense, but I think we should still purge this
> > code.
> >
> > If we want to do proper managed affinity the right RDMA API is to
> > directly ask for the desired CPU binding when creating the CQ, and
> > optionally a way to change the CPU binding of the CQ at runtime.
>
> I think the affinity management is referring to IRQD_AFFINITY_MANAGED
> which IIRC is the case when the device passes `struct irq_affinity` to
> pci_alloc_irq_vectors_affinity.
>
> Not sure what that has to do with passing a cpu to create_cq.
I took Christoph's remarks to be that the system should auto configure
interrupts sensibly and not rely on userspace messing around in proc.
For instance, I would expect that the NVMe driver work the same way on
RDMA and PCI. For PCI it calls pci_alloc_irq_vectors_affinity(), RDMA
should call some ib_alloc_cq_affinity() and generate the affinity in
exactly the same way.
So, I have no problem to delete these things as the
get_vector_affinity API is not part of solving the affinity problem,
and it seems NVMe PCI doesn't need blk_mq_rdma_map_queues() either.
Jason
next prev parent reply other threads:[~2023-03-23 15:57 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-22 12:37 [PATCH] blk-mq-rdma: remove queue mapping helper for rdma devices Sagi Grimberg
2023-03-22 12:54 ` Jason Gunthorpe
2023-03-22 13:00 ` Sagi Grimberg
2023-03-22 13:50 ` Jason Gunthorpe
2023-03-23 12:05 ` Leon Romanovsky
2023-03-23 13:03 ` Jason Gunthorpe
2023-03-23 15:07 ` Sagi Grimberg
2023-03-23 15:57 ` Jason Gunthorpe [this message]
2023-03-26 7:12 ` Sagi Grimberg
2023-03-26 23:16 ` Christoph Hellwig
2023-03-27 0:56 ` Jason Gunthorpe
2023-03-22 14:45 ` Keith Busch
2023-03-22 18:14 ` Chaitanya Kulkarni
2023-04-12 6:42 ` Christoph Hellwig
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZBx3AI5pothCuvTx@ziepe.ca \
--to=jgg@ziepe.ca \
--cc=Chaitanya.Kulkarni@wdc.com \
--cc=hch@lst.de \
--cc=kbusch@kernel.org \
--cc=leon@kernel.org \
--cc=linux-block@vger.kernel.org \
--cc=linux-nvme@lists.infradead.org \
--cc=linux-rdma@vger.kernel.org \
--cc=sagi@grimberg.me \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.