From: Jason Gunthorpe <jgg@nvidia.com>
To: Gal Pressman <galpress@amazon.com>
Cc: Doug Ledford <dledford@redhat.com>,
linux-rdma@vger.kernel.org,
Alexander Matushevsky <matua@amazon.com>,
Firas JahJah <firasj@amazon.com>,
Yossi Leybovich <sleybo@amazon.com>
Subject: Re: [PATCH for-next v4] RDMA/efa: CQ notifications
Date: Wed, 6 Oct 2021 19:51:34 -0300 [thread overview]
Message-ID: <20211006225134.GA2788140@nvidia.com> (raw)
In-Reply-To: <20211003105605.29222-1-galpress@amazon.com>
On Sun, Oct 03, 2021 at 01:56:04PM +0300, Gal Pressman wrote:
> This patch adds support for CQ notifications through the standard verbs
> api.
>
> In order to achieve that, a new event queue (EQ) object is introduced,
> which is in charge of reporting completion events to the driver.
> On driver load, EQs are allocated and their affinity is set to a single
> cpu. When a user app creates a CQ with a completion channel, the
> completion vector number is converted to a EQ number, which is in charge
> of reporting the CQ events.
>
> In addition, the CQ creation admin command now returns an offset for the
> CQ doorbell, which is mapped to the userspace provider and is used to
> arm the CQ when requested by the user.
>
> The EQs use a single doorbell (located on the registers BAR), which
> encodes the EQ number and arm as part of the doorbell value.
> The EQs are polled by the driver on each new EQE, and arm it when the
> poll is completed.
>
> Reviewed-by: Firas JahJah <firasj@amazon.com>
> Reviewed-by: Yossi Leybovich <sleybo@amazon.com>
> Signed-off-by: Gal Pressman <galpress@amazon.com>
> ---
> PR was sent:
> https://github.com/linux-rdma/rdma-core/pull/1044
>
> Changelog -
> v3->v4: https://lore.kernel.org/linux-rdma/20210930121602.63131-1-galpress@amazon.com/
> * Change destroy EQ functions' return value to void
>
> v2->v3: https://lore.kernel.org/linux-rdma/20210913120406.61745-1-galpress@amazon.com/
> * Only store CQs with interrupts enabled in the CQs xarray
> * Add a comment before the xa_load to explain why it is safe
>
> v1->v2: https://lore.kernel.org/linux-rdma/20210811151131.39138-1-galpress@amazon.com/
> * Replace xa_init_flags() with xa_init()
> * Add a synchronize_irq() in destroy_cq flow to prevent a race with
> interrupt flow.
> ---
> drivers/infiniband/hw/efa/efa.h | 19 +-
> .../infiniband/hw/efa/efa_admin_cmds_defs.h | 100 +++++++++-
> drivers/infiniband/hw/efa/efa_admin_defs.h | 41 ++++
> drivers/infiniband/hw/efa/efa_com.c | 164 ++++++++++++++++
> drivers/infiniband/hw/efa/efa_com.h | 38 +++-
> drivers/infiniband/hw/efa/efa_com_cmd.c | 35 +++-
> drivers/infiniband/hw/efa/efa_com_cmd.h | 10 +-
> drivers/infiniband/hw/efa/efa_main.c | 181 +++++++++++++++---
> drivers/infiniband/hw/efa/efa_regs_defs.h | 7 +-
> drivers/infiniband/hw/efa/efa_verbs.c | 67 ++++++-
> include/uapi/rdma/efa-abi.h | 18 +-
> 11 files changed, 625 insertions(+), 55 deletions(-)
Applied to for-next, thanks
Jason
prev parent reply other threads:[~2021-10-06 22:51 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-10-03 10:56 [PATCH for-next v4] RDMA/efa: CQ notifications Gal Pressman
2021-10-06 22:51 ` Jason Gunthorpe [this message]
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=20211006225134.GA2788140@nvidia.com \
--to=jgg@nvidia.com \
--cc=dledford@redhat.com \
--cc=firasj@amazon.com \
--cc=galpress@amazon.com \
--cc=linux-rdma@vger.kernel.org \
--cc=matua@amazon.com \
--cc=sleybo@amazon.com \
/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.