All of lore.kernel.org
 help / color / mirror / Atom feed
From: Leon Romanovsky <leon@kernel.org>
To: Doug Ledford <dledford@redhat.com>, Jason Gunthorpe <jgg@mellanox.com>
Cc: Leon Romanovsky <leonro@mellanox.com>,
	RDMA mailing list <linux-rdma@vger.kernel.org>,
	Ariel Levkovich <lariel@mellanox.com>,
	Eli Cohen <eli@mellanox.com>, Mark Bloch <markb@mellanox.com>,
	Saeed Mahameed <saeedm@mellanox.com>,
	linux-netdev <netdev@vger.kernel.org>
Subject: [PATCH rdma-next 0/8] User space steering
Date: Sun, 31 Mar 2019 19:44:42 +0300	[thread overview]
Message-ID: <20190331164450.23618-1-leon@kernel.org> (raw)

From: Leon Romanovsky <leonro@mellanox.com>

>From Ariel,

This series of patches adds user space managed steering infrastructure
to the mlx5_ib driver.

User space managed steering requires the means to access a dedicated
memory space that is used by the device to store the packet steering
and header modification tables and rules in order to manage them directly
without the device's firmware involvement. This dedicated memory is part
of the ICM memory space.

The changes are introducing the mlx5_ib API to allocate, deallocate and
register this dedicated SW ICM memory via the existing device memory API
using a private attribute which specifies the memory type.

The allocated memory itself is not IO mapped and user can only access it
using remote RDMA operations.

In addition, the series exposed the ICM address of the receive transport
interface (TIR) of Raw Packet and RSS QPs to user since they are required
to properly create and insert steering rules that direct flows to these QPs.

Thanks

Ariel Levkovich (8):
  net/mlx5: Expose SW ICM related device memory capabilities
  IB/mlx5: Support device memory type attribute
  IB/mlx5: Warn on allocated MEMIC buffers during cleanup
  IB/mlx5: Add steering SW ICM device memory type
  IB/mlx5: Device resource control for privileged DEVX user
  net/mlx5: Expose TIR ICM address in command outbox
  net/mlx5: Introduce new TIR creation core API
  IB/mlx5: Expose TIR ICM address to user space

 drivers/infiniband/hw/mlx5/Kconfig            |   2 +-
 drivers/infiniband/hw/mlx5/cmd.c              | 155 +++++++++-
 drivers/infiniband/hw/mlx5/cmd.h              |   8 +-
 drivers/infiniband/hw/mlx5/devx.c             |   4 +
 drivers/infiniband/hw/mlx5/main.c             | 264 +++++++++++++++---
 drivers/infiniband/hw/mlx5/mlx5_ib.h          |  40 ++-
 drivers/infiniband/hw/mlx5/mr.c               |  40 ++-
 drivers/infiniband/hw/mlx5/qp.c               |  46 ++-
 .../ethernet/mellanox/mlx5/core/transobj.c    |  18 +-
 include/linux/mlx5/mlx5_ifc.h                 |  51 +++-
 include/linux/mlx5/transobj.h                 |   3 +
 include/uapi/rdma/mlx5-abi.h                  |   2 +
 include/uapi/rdma/mlx5_user_ioctl_cmds.h      |   1 +
 include/uapi/rdma/mlx5_user_ioctl_verbs.h     |   6 +
 14 files changed, 541 insertions(+), 99 deletions(-)

WARNING: multiple messages have this Message-ID (diff)
From: Leon Romanovsky <leon@kernel.org>
To: Doug Ledford <dledford@redhat.com>, Jason Gunthorpe <jgg@mellanox.com>
Cc: Leon Romanovsky <leonro@mellanox.com>,
	RDMA mailing list <linux-rdma@vger.kernel.org>,
	Ariel Levkovich <lariel@mellanox.com>,
	Eli Cohen <eli@mellanox.com>, Mark Bloch <markb@mellanox.com>,
	Saeed Mahameed <saeedm@mellanox.com>,
	linux-netdev <netdev@vger.kernel.org>
Subject: [PATCH rdma-next 0/8] User space steering
Date: Sun, 31 Mar 2019 19:44:42 +0300	[thread overview]
Message-ID: <20190331164450.23618-1-leon@kernel.org> (raw)

From: Leon Romanovsky <leonro@mellanox.com>

From Ariel,

This series of patches adds user space managed steering infrastructure
to the mlx5_ib driver.

User space managed steering requires the means to access a dedicated
memory space that is used by the device to store the packet steering
and header modification tables and rules in order to manage them directly
without the device's firmware involvement. This dedicated memory is part
of the ICM memory space.

The changes are introducing the mlx5_ib API to allocate, deallocate and
register this dedicated SW ICM memory via the existing device memory API
using a private attribute which specifies the memory type.

The allocated memory itself is not IO mapped and user can only access it
using remote RDMA operations.

In addition, the series exposed the ICM address of the receive transport
interface (TIR) of Raw Packet and RSS QPs to user since they are required
to properly create and insert steering rules that direct flows to these QPs.

Thanks

Ariel Levkovich (8):
  net/mlx5: Expose SW ICM related device memory capabilities
  IB/mlx5: Support device memory type attribute
  IB/mlx5: Warn on allocated MEMIC buffers during cleanup
  IB/mlx5: Add steering SW ICM device memory type
  IB/mlx5: Device resource control for privileged DEVX user
  net/mlx5: Expose TIR ICM address in command outbox
  net/mlx5: Introduce new TIR creation core API
  IB/mlx5: Expose TIR ICM address to user space

 drivers/infiniband/hw/mlx5/Kconfig            |   2 +-
 drivers/infiniband/hw/mlx5/cmd.c              | 155 +++++++++-
 drivers/infiniband/hw/mlx5/cmd.h              |   8 +-
 drivers/infiniband/hw/mlx5/devx.c             |   4 +
 drivers/infiniband/hw/mlx5/main.c             | 264 +++++++++++++++---
 drivers/infiniband/hw/mlx5/mlx5_ib.h          |  40 ++-
 drivers/infiniband/hw/mlx5/mr.c               |  40 ++-
 drivers/infiniband/hw/mlx5/qp.c               |  46 ++-
 .../ethernet/mellanox/mlx5/core/transobj.c    |  18 +-
 include/linux/mlx5/mlx5_ifc.h                 |  51 +++-
 include/linux/mlx5/transobj.h                 |   3 +
 include/uapi/rdma/mlx5-abi.h                  |   2 +
 include/uapi/rdma/mlx5_user_ioctl_cmds.h      |   1 +
 include/uapi/rdma/mlx5_user_ioctl_verbs.h     |   6 +
 14 files changed, 541 insertions(+), 99 deletions(-)

--
2.20.1


             reply	other threads:[~2019-03-31 16:44 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-31 16:44 Leon Romanovsky [this message]
2019-03-31 16:44 ` [PATCH rdma-next 0/8] User space steering Leon Romanovsky
2019-03-31 16:44 ` [PATCH mlx5-next 1/8] net/mlx5: Expose SW ICM related device memory capabilities Leon Romanovsky
2019-03-31 16:44 ` [PATCH rdma-next 2/8] IB/mlx5: Support device memory type attribute Leon Romanovsky
2019-03-31 16:44 ` [PATCH rdma-next 3/8] IB/mlx5: Warn on allocated MEMIC buffers during cleanup Leon Romanovsky
2019-03-31 16:44 ` [PATCH rdma-next 4/8] IB/mlx5: Add steering SW ICM device memory type Leon Romanovsky
2019-04-24 13:04   ` Jason Gunthorpe
2019-04-24 13:12     ` Leon Romanovsky
2019-04-24 13:14       ` Jason Gunthorpe
2019-04-24 13:25         ` Leon Romanovsky
2019-04-24 13:35           ` Jason Gunthorpe
2019-04-24 13:46             ` Leon Romanovsky
2019-04-24 13:47               ` Jason Gunthorpe
2019-04-24 15:49                 ` Leon Romanovsky
2019-04-24 15:53                   ` Jason Gunthorpe
2019-04-24 16:27                     ` Leon Romanovsky
2019-04-24 16:39                       ` Jason Gunthorpe
2019-04-28 11:38                         ` Leon Romanovsky
2019-04-28 11:56                           ` Jason Gunthorpe
2019-03-31 16:44 ` [PATCH rdma-next 5/8] IB/mlx5: Device resource control for privileged DEVX user Leon Romanovsky
2019-03-31 16:44 ` [PATCH mlx5-next 6/8] net/mlx5: Expose TIR ICM address in command outbox Leon Romanovsky
2019-03-31 16:44 ` [PATCH mlx5-next 7/8] net/mlx5: Introduce new TIR creation core API Leon Romanovsky
2019-03-31 16:44 ` [PATCH rdma-next 8/8] IB/mlx5: Expose TIR ICM address to user space Leon Romanovsky
2019-03-31 21:06 ` [PATCH rdma-next 0/8] User space steering Jakub Kicinski
2019-04-01  6:28   ` Leon Romanovsky
2019-04-01 18:32     ` Jakub Kicinski
2019-04-02  8:14       ` Leon Romanovsky
2019-04-02 17:10         ` Jakub Kicinski
2019-04-24 13:07 ` Jason Gunthorpe
2019-04-24 16:40   ` Saeed Mahameed
2019-04-24 19:03     ` Jason Gunthorpe
2019-04-24 19:41       ` Saeed Mahameed
2019-04-25 13:34 ` Jason Gunthorpe

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=20190331164450.23618-1-leon@kernel.org \
    --to=leon@kernel.org \
    --cc=dledford@redhat.com \
    --cc=eli@mellanox.com \
    --cc=jgg@mellanox.com \
    --cc=lariel@mellanox.com \
    --cc=leonro@mellanox.com \
    --cc=linux-rdma@vger.kernel.org \
    --cc=markb@mellanox.com \
    --cc=netdev@vger.kernel.org \
    --cc=saeedm@mellanox.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.