DPDK patches and discussions
 help / color / mirror / Atom feed
From: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
To: dev@dpdk.org
Cc: shahafs@mellanox.com
Subject: [dpdk-dev] [PATCH v4 11/13] net/mlx5: update install/uninstall int handler routines
Date: Wed, 27 Mar 2019 13:15:45 +0000	[thread overview]
Message-ID: <1553692547-16695-12-git-send-email-viacheslavo@mellanox.com> (raw)
Message-ID: <20190327131545.Ck0Sg7-9YICLkS359Z3xoCV1HQk29hdoZv32rS2cLbs@z> (raw)
In-Reply-To: <1553692547-16695-1-git-send-email-viacheslavo@mellanox.com>

We are implementing the support for multport Infiniband device
withj representors attached to these multiple ports. Asynchronous
device event notifications (link status change, removal event, etc.)
should be shared between ports. We are going to implement shared
event handler and this patch introduces appropriate device
structure changes and updated event handler install and uninstall
routines.

Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
---
 drivers/net/mlx5/mlx5.c        |  19 ++++++-
 drivers/net/mlx5/mlx5.h        |   3 +-
 drivers/net/mlx5/mlx5_ethdev.c | 118 ++++++++++++++++++++++++++++++++---------
 3 files changed, 112 insertions(+), 28 deletions(-)

diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c
index 646dd52..7d1a21e 100644
--- a/drivers/net/mlx5/mlx5.c
+++ b/drivers/net/mlx5/mlx5.c
@@ -166,6 +166,7 @@ struct mlx5_dev_spawn_data {
 {
 	struct mlx5_ibv_shared *sh;
 	int err = 0;
+	uint32_t i;
 
 	assert(spawn);
 	/* Secondary process should not create the shared context. */
@@ -215,6 +216,14 @@ struct mlx5_dev_spawn_data {
 		sizeof(sh->ibdev_name));
 	strncpy(sh->ibdev_path, sh->ctx->device->ibdev_path,
 		sizeof(sh->ibdev_path));
+	pthread_mutex_init(&sh->intr_mutex, NULL);
+	/*
+	 * Setting port_id to max unallowed value means
+	 * there is no interrupt subhandler installed for
+	 * the given port index i.
+	 */
+	for (i = 0; i < sh->max_port; i++)
+		sh->port[i].ih_port_id = RTE_MAX_ETHPORTS;
 	sh->pd = mlx5_glue->alloc_pd(sh->ctx);
 	if (sh->pd == NULL) {
 		DRV_LOG(ERR, "PD allocation failure");
@@ -269,6 +278,15 @@ struct mlx5_dev_spawn_data {
 	if (--sh->refcnt)
 		goto exit;
 	LIST_REMOVE(sh, next);
+	/*
+	 *  Ensure there is no async event handler installed.
+	 *  Only primary process handles async device events.
+	 **/
+	assert(!sh->intr_cnt);
+	if (sh->intr_cnt)
+		rte_intr_callback_unregister
+			(&sh->intr_handle, mlx5_dev_interrupt_handler, sh);
+	pthread_mutex_destroy(&sh->intr_mutex);
 	if (sh->pd)
 		claim_zero(mlx5_glue->dealloc_pd(sh->pd));
 	if (sh->ctx)
@@ -278,7 +296,6 @@ struct mlx5_dev_spawn_data {
 	pthread_mutex_unlock(&mlx5_ibv_list_mutex);
 }
 
-
 /**
  * Prepare shared data between primary and secondary process.
  */
diff --git a/drivers/net/mlx5/mlx5.h b/drivers/net/mlx5/mlx5.h
index 5045648..7402798 100644
--- a/drivers/net/mlx5/mlx5.h
+++ b/drivers/net/mlx5/mlx5.h
@@ -213,6 +213,8 @@ struct mlx5_ibv_shared {
 	char ibdev_name[IBV_SYSFS_NAME_MAX]; /* IB device name. */
 	char ibdev_path[IBV_SYSFS_PATH_MAX]; /* IB device path for secondary */
 	struct ibv_device_attr_ex device_attr; /* Device properties. */
+	pthread_mutex_t intr_mutex; /* Interrupt config mutex. */
+	uint32_t intr_cnt; /* Interrupt handler reference counter. */
 	struct rte_intr_handle intr_handle; /* Interrupt handler for device. */
 	struct mlx5_ibv_shared_port port[]; /* per device port data array. */
 };
@@ -243,7 +245,6 @@ struct mlx5_priv {
 	struct mlx5_txq_data *(*txqs)[]; /* TX queues. */
 	struct rte_mempool *mprq_mp; /* Mempool for Multi-Packet RQ. */
 	struct rte_eth_rss_conf rss_conf; /* RSS configuration. */
-	struct rte_intr_handle intr_handle; /* Interrupt handler. */
 	unsigned int (*reta_idx)[]; /* RETA index table. */
 	unsigned int reta_idx_n; /* RETA index size. */
 	struct mlx5_drop drop_queue; /* Flow drop queues. */
diff --git a/drivers/net/mlx5/mlx5_ethdev.c b/drivers/net/mlx5/mlx5_ethdev.c
index 2ad3231..55ccbce 100644
--- a/drivers/net/mlx5/mlx5_ethdev.c
+++ b/drivers/net/mlx5/mlx5_ethdev.c
@@ -1109,6 +1109,96 @@ int mlx5_fw_version_get(struct rte_eth_dev *dev, char *fw_ver, size_t fw_size)
 }
 
 /**
+ * Uninstall shared asynchronous device events handler.
+ * This function is implemeted to support event sharing
+ * between multiple ports of single IB device.
+ *
+ * @param dev
+ *   Pointer to Ethernet device.
+ */
+static void
+mlx5_dev_shared_handler_uninstall(struct rte_eth_dev *dev)
+{
+	struct mlx5_priv *priv = dev->data->dev_private;
+	struct mlx5_ibv_shared *sh = priv->sh;
+
+	if (rte_eal_process_type() != RTE_PROC_PRIMARY)
+		return;
+	pthread_mutex_lock(&sh->intr_mutex);
+	assert(priv->ibv_port);
+	assert(priv->ibv_port <= sh->max_port);
+	assert(dev->data->port_id < RTE_MAX_ETHPORTS);
+	if (sh->port[priv->ibv_port - 1].ih_port_id >= RTE_MAX_ETHPORTS)
+		goto exit;
+	assert(sh->port[priv->ibv_port - 1].ih_port_id ==
+					(uint32_t)dev->data->port_id);
+	assert(sh->intr_cnt);
+	sh->port[priv->ibv_port - 1].ih_port_id = RTE_MAX_ETHPORTS;
+	if (!sh->intr_cnt || --sh->intr_cnt)
+		goto exit;
+	rte_intr_callback_unregister(&sh->intr_handle,
+				     mlx5_dev_interrupt_handler, sh);
+	sh->intr_handle.fd = 0;
+	sh->intr_handle.type = RTE_INTR_HANDLE_UNKNOWN;
+exit:
+	pthread_mutex_unlock(&sh->intr_mutex);
+}
+
+/**
+ * Install shared asyncronous device events handler.
+ * This function is implemeted to support event sharing
+ * between multiple ports of single IB device.
+ *
+ * @param dev
+ *   Pointer to Ethernet device.
+ */
+static void
+mlx5_dev_shared_handler_install(struct rte_eth_dev *dev)
+{
+	struct mlx5_priv *priv = dev->data->dev_private;
+	struct mlx5_ibv_shared *sh = priv->sh;
+	int ret;
+	int flags;
+
+	if (rte_eal_process_type() != RTE_PROC_PRIMARY)
+		return;
+	pthread_mutex_lock(&sh->intr_mutex);
+	assert(priv->ibv_port);
+	assert(priv->ibv_port <= sh->max_port);
+	assert(dev->data->port_id < RTE_MAX_ETHPORTS);
+	if (sh->port[priv->ibv_port - 1].ih_port_id < RTE_MAX_ETHPORTS) {
+		/* The handler is already installed for this port. */
+		assert(sh->intr_cnt);
+		goto exit;
+	}
+	sh->port[priv->ibv_port - 1].ih_port_id = (uint32_t)dev->data->port_id;
+	if (sh->intr_cnt) {
+		sh->intr_cnt++;
+		goto exit;
+	}
+	/* No shared handler installed. */
+	assert(sh->ctx->async_fd > 0);
+	flags = fcntl(sh->ctx->async_fd, F_GETFL);
+	ret = fcntl(sh->ctx->async_fd, F_SETFL, flags | O_NONBLOCK);
+	if (ret) {
+		DRV_LOG(INFO, "failed to change file descriptor"
+			      " async event queue");
+		/* Indicate there will be no interrupts. */
+		dev->data->dev_conf.intr_conf.lsc = 0;
+		dev->data->dev_conf.intr_conf.rmv = 0;
+		sh->port[priv->ibv_port - 1].ih_port_id = RTE_MAX_ETHPORTS;
+		goto exit;
+	}
+	sh->intr_handle.fd = sh->ctx->async_fd;
+	sh->intr_handle.type = RTE_INTR_HANDLE_EXT;
+	rte_intr_callback_register(&sh->intr_handle,
+				   mlx5_dev_interrupt_handler, sh);
+	sh->intr_cnt++;
+exit:
+	pthread_mutex_unlock(&sh->intr_mutex);
+}
+
+/**
  * Uninstall interrupt handler.
  *
  * @param dev
@@ -1119,15 +1209,10 @@ int mlx5_fw_version_get(struct rte_eth_dev *dev, char *fw_ver, size_t fw_size)
 {
 	struct mlx5_priv *priv = dev->data->dev_private;
 
-	if (dev->data->dev_conf.intr_conf.lsc ||
-	    dev->data->dev_conf.intr_conf.rmv)
-		rte_intr_callback_unregister(&priv->intr_handle,
-					     mlx5_dev_interrupt_handler, dev);
+	mlx5_dev_shared_handler_uninstall(dev);
 	if (priv->primary_socket)
 		rte_intr_callback_unregister(&priv->intr_handle_socket,
 					     mlx5_dev_handler_socket, dev);
-	priv->intr_handle.fd = 0;
-	priv->intr_handle.type = RTE_INTR_HANDLE_UNKNOWN;
 	priv->intr_handle_socket.fd = 0;
 	priv->intr_handle_socket.type = RTE_INTR_HANDLE_UNKNOWN;
 }
@@ -1142,28 +1227,9 @@ int mlx5_fw_version_get(struct rte_eth_dev *dev, char *fw_ver, size_t fw_size)
 mlx5_dev_interrupt_handler_install(struct rte_eth_dev *dev)
 {
 	struct mlx5_priv *priv = dev->data->dev_private;
-	struct ibv_context *ctx = priv->sh->ctx;
 	int ret;
-	int flags;
 
-	assert(ctx->async_fd > 0);
-	flags = fcntl(ctx->async_fd, F_GETFL);
-	ret = fcntl(ctx->async_fd, F_SETFL, flags | O_NONBLOCK);
-	if (ret) {
-		DRV_LOG(INFO,
-			"port %u failed to change file descriptor async event"
-			" queue",
-			dev->data->port_id);
-		dev->data->dev_conf.intr_conf.lsc = 0;
-		dev->data->dev_conf.intr_conf.rmv = 0;
-	}
-	if (dev->data->dev_conf.intr_conf.lsc ||
-	    dev->data->dev_conf.intr_conf.rmv) {
-		priv->intr_handle.fd = ctx->async_fd;
-		priv->intr_handle.type = RTE_INTR_HANDLE_EXT;
-		rte_intr_callback_register(&priv->intr_handle,
-					   mlx5_dev_interrupt_handler, dev);
-	}
+	mlx5_dev_shared_handler_install(dev);
 	ret = mlx5_socket_init(dev);
 	if (ret)
 		DRV_LOG(ERR, "port %u cannot initialise socket: %s",
-- 
1.8.3.1


  parent reply	other threads:[~2019-03-27 13:18 UTC|newest]

Thread overview: 217+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-28 18:02 [dpdk-dev] [RFC 00/10] net/mlx5: add support for multiport IB devices Viacheslav Ovsiienko
2019-02-28 18:02 ` [dpdk-dev] [RFC 01/10] net/mlx5: add multiport IB device port structure Viacheslav Ovsiienko
2019-02-28 18:02 ` [dpdk-dev] [RFC 02/10] net/mlx5: modify get ifindex routine for multiport IB Viacheslav Ovsiienko
2019-02-28 18:02 ` [dpdk-dev] [RFC 03/10] net/mlx5: add getting IB ports number " Viacheslav Ovsiienko
2019-02-28 18:02 ` [dpdk-dev] [RFC 04/10] net/mlx5: add multiport IB device support to probing Viacheslav Ovsiienko
2019-02-28 18:03 ` [dpdk-dev] [RFC 05/10] net/mlx5: add IB shared context alloc/free functions Viacheslav Ovsiienko
2019-02-28 18:03 ` [dpdk-dev] [RFC 06/10] net/mlx5: switch to the names in the shared IB context Viacheslav Ovsiienko
2019-02-28 18:03 ` [dpdk-dev] [RFC 07/10] net/mlx5: switch to the shared Protection Domain Viacheslav Ovsiienko
2019-02-28 18:03 ` [dpdk-dev] [RFC 08/10] net/mlx5: switch to the shared context IB attributes Viacheslav Ovsiienko
2019-02-28 18:03 ` [dpdk-dev] [RFC 09/10] net/mlx5: switch to the shared IB device context Viacheslav Ovsiienko
2019-02-28 18:03 ` [dpdk-dev] [RFC 10/10] net/mlx5: provide IB port for the object being created Viacheslav Ovsiienko
2019-03-21  8:11 ` [dpdk-dev] [PATCH 00/14] net/mlx5: add support for multiport IB devices Viacheslav Ovsiienko
2019-03-21  8:11   ` Viacheslav Ovsiienko
2019-03-21  8:11   ` [dpdk-dev] [PATCH 01/14] net/mlx5: add representor recognition on kernels 5.x Viacheslav Ovsiienko
2019-03-21  8:11     ` Viacheslav Ovsiienko
2019-03-21 12:13     ` Shahaf Shuler
2019-03-21 12:13       ` Shahaf Shuler
2019-03-21 15:08       ` Stephen Hemminger
2019-03-21 15:08         ` Stephen Hemminger
2019-03-21 15:31         ` Slava Ovsiienko
2019-03-21 15:31           ` Slava Ovsiienko
2019-03-21 19:08           ` Stephen Hemminger
2019-03-21 19:08             ` Stephen Hemminger
2019-03-22  8:15             ` Slava Ovsiienko
2019-03-22  8:15               ` Slava Ovsiienko
2019-03-21  8:11   ` [dpdk-dev] [PATCH 02/14] net/mlx5: introduce multiport IB device shared structure Viacheslav Ovsiienko
2019-03-21  8:11     ` Viacheslav Ovsiienko
2019-03-21  8:11   ` [dpdk-dev] [PATCH 03/14] net/mlx5: modify get ifindex routine for multiport IB Viacheslav Ovsiienko
2019-03-21  8:11     ` Viacheslav Ovsiienko
2019-03-21 12:14     ` Shahaf Shuler
2019-03-21 12:14       ` Shahaf Shuler
2019-03-21 12:58       ` Slava Ovsiienko
2019-03-21 12:58         ` Slava Ovsiienko
2019-03-21  8:11   ` [dpdk-dev] [PATCH 04/14] net/mlx5: add getting IB ports number " Viacheslav Ovsiienko
2019-03-21  8:11     ` Viacheslav Ovsiienko
2019-03-21 12:14     ` Shahaf Shuler
2019-03-21 12:14       ` Shahaf Shuler
2019-03-21  8:11   ` [dpdk-dev] [PATCH 05/14] net/mlx5: add multiport IB device support to probing Viacheslav Ovsiienko
2019-03-21  8:11     ` Viacheslav Ovsiienko
2019-03-21 12:14     ` Shahaf Shuler
2019-03-21 12:14       ` Shahaf Shuler
2019-03-21 12:54       ` Slava Ovsiienko
2019-03-21 12:54         ` Slava Ovsiienko
2019-03-21 12:57         ` Slava Ovsiienko
2019-03-21 12:57           ` Slava Ovsiienko
2019-03-24  9:00           ` Shahaf Shuler
2019-03-24  9:00             ` Shahaf Shuler
2019-03-21  8:11   ` [dpdk-dev] [PATCH 06/14] net/mlx5: add IB shared context alloc/free functions Viacheslav Ovsiienko
2019-03-21  8:11     ` Viacheslav Ovsiienko
2019-03-21 12:14     ` Shahaf Shuler
2019-03-21 12:14       ` Shahaf Shuler
2019-03-21  8:11   ` [dpdk-dev] [PATCH 07/14] net/mlx5: switch to the names in the shared IB context Viacheslav Ovsiienko
2019-03-21  8:11     ` Viacheslav Ovsiienko
2019-03-21 12:14     ` Shahaf Shuler
2019-03-21 12:14       ` Shahaf Shuler
2019-03-21  8:11   ` [dpdk-dev] [PATCH 08/14] net/mlx5: switch to the shared Protection Domain Viacheslav Ovsiienko
2019-03-21  8:11     ` Viacheslav Ovsiienko
2019-03-21 12:14     ` Shahaf Shuler
2019-03-21 12:14       ` Shahaf Shuler
2019-03-21  8:11   ` [dpdk-dev] [PATCH 09/14] net/mlx5: switch to the shared context IB attributes Viacheslav Ovsiienko
2019-03-21  8:11     ` Viacheslav Ovsiienko
2019-03-21 12:14     ` Shahaf Shuler
2019-03-21 12:14       ` Shahaf Shuler
2019-03-21  8:11   ` [dpdk-dev] [PATCH 10/14] net/mlx5: switch to the shared IB device context Viacheslav Ovsiienko
2019-03-21  8:11     ` Viacheslav Ovsiienko
2019-03-21 12:14     ` Shahaf Shuler
2019-03-21 12:14       ` Shahaf Shuler
2019-03-21  8:11   ` [dpdk-dev] [PATCH 11/14] net/mlx5: provide IB port for the object being created Viacheslav Ovsiienko
2019-03-21  8:11     ` Viacheslav Ovsiienko
2019-03-21 12:15     ` Shahaf Shuler
2019-03-21 12:15       ` Shahaf Shuler
2019-03-21  8:11   ` [dpdk-dev] [PATCH 12/14] net/mlx5: update install/uninstall int handler routines Viacheslav Ovsiienko
2019-03-21  8:11     ` Viacheslav Ovsiienko
2019-03-21 12:15     ` Shahaf Shuler
2019-03-21 12:15       ` Shahaf Shuler
2019-03-21 14:01       ` Slava Ovsiienko
2019-03-21 14:01         ` Slava Ovsiienko
2019-03-24  9:07         ` Shahaf Shuler
2019-03-24  9:07           ` Shahaf Shuler
2019-03-21  8:11   ` [dpdk-dev] [PATCH 13/14] net/mlx5: update event handler for multiport IB devices Viacheslav Ovsiienko
2019-03-21  8:11     ` Viacheslav Ovsiienko
2019-03-21 12:15     ` Shahaf Shuler
2019-03-21 12:15       ` Shahaf Shuler
2019-03-21 14:08       ` Slava Ovsiienko
2019-03-21 14:08         ` Slava Ovsiienko
2019-03-21  8:11   ` [dpdk-dev] [PATCH 14/14] net/mlx5: add source vport match to the ingress rules Viacheslav Ovsiienko
2019-03-21  8:11     ` Viacheslav Ovsiienko
2019-03-21 12:15     ` Shahaf Shuler
2019-03-21 12:15       ` Shahaf Shuler
2019-03-21 14:11       ` Slava Ovsiienko
2019-03-21 14:11         ` Slava Ovsiienko
2019-03-24  9:13         ` Shahaf Shuler
2019-03-24  9:13           ` Shahaf Shuler
2019-03-25  7:44           ` Slava Ovsiienko
2019-03-25  7:44             ` Slava Ovsiienko
2019-03-21 12:13   ` [dpdk-dev] [PATCH 00/14] net/mlx5: add support for multiport IB devices Shahaf Shuler
2019-03-21 12:13     ` Shahaf Shuler
2019-03-21 12:58     ` Slava Ovsiienko
2019-03-21 12:58       ` Slava Ovsiienko
2019-03-25 17:03   ` [dpdk-dev] [PATCH v2 " Viacheslav Ovsiienko
2019-03-25 17:03     ` Viacheslav Ovsiienko
2019-03-25 17:03     ` [dpdk-dev] [PATCH v2 01/13] net/mlx5: add representor recognition on kernels 5.x Viacheslav Ovsiienko
2019-03-25 17:03       ` Viacheslav Ovsiienko
2019-03-25 18:06       ` Stephen Hemminger
2019-03-25 18:06         ` Stephen Hemminger
2019-03-25 18:07       ` Stephen Hemminger
2019-03-25 18:07         ` Stephen Hemminger
2019-03-26  7:33         ` Slava Ovsiienko
2019-03-26  7:33           ` Slava Ovsiienko
2019-03-26 12:20       ` Shahaf Shuler
2019-03-26 12:20         ` Shahaf Shuler
2019-03-25 17:03     ` [dpdk-dev] [PATCH v2 02/13] net/mlx5: modify get ifindex routine for multiport IB Viacheslav Ovsiienko
2019-03-25 17:03       ` Viacheslav Ovsiienko
2019-03-26 11:47       ` Shahaf Shuler
2019-03-26 11:47         ` Shahaf Shuler
2019-03-25 17:03     ` [dpdk-dev] [PATCH v2 03/13] net/mlx5: add getting IB ports number " Viacheslav Ovsiienko
2019-03-25 17:03       ` Viacheslav Ovsiienko
2019-03-25 17:03     ` [dpdk-dev] [PATCH v2 04/13] net/mlx5: add multiport IB device support to probing Viacheslav Ovsiienko
2019-03-25 17:03       ` Viacheslav Ovsiienko
2019-03-26 12:02       ` Shahaf Shuler
2019-03-26 12:02         ` Shahaf Shuler
2019-03-25 17:03     ` [dpdk-dev] [PATCH v2 05/13] net/mlx5: add IB shared context alloc/free functions Viacheslav Ovsiienko
2019-03-25 17:03       ` Viacheslav Ovsiienko
2019-03-26 12:10       ` Shahaf Shuler
2019-03-26 12:10         ` Shahaf Shuler
2019-03-25 17:03     ` [dpdk-dev] [PATCH v2 06/13] net/mlx5: switch to the names in the shared IB context Viacheslav Ovsiienko
2019-03-25 17:03       ` Viacheslav Ovsiienko
2019-03-25 17:03     ` [dpdk-dev] [PATCH v2 07/13] net/mlx5: switch to the shared Protection Domain Viacheslav Ovsiienko
2019-03-25 17:03       ` Viacheslav Ovsiienko
2019-03-25 17:03     ` [dpdk-dev] [PATCH v2 08/13] net/mlx5: switch to the shared context IB attributes Viacheslav Ovsiienko
2019-03-25 17:03       ` Viacheslav Ovsiienko
2019-03-25 17:03     ` [dpdk-dev] [PATCH v2 09/13] net/mlx5: switch to the shared IB device context Viacheslav Ovsiienko
2019-03-25 17:03       ` Viacheslav Ovsiienko
2019-03-25 17:03     ` [dpdk-dev] [PATCH v2 10/13] net/mlx5: provide IB port for the object being created Viacheslav Ovsiienko
2019-03-25 17:03       ` Viacheslav Ovsiienko
2019-03-25 17:03     ` [dpdk-dev] [PATCH v2 11/13] net/mlx5: update install/uninstall int handler routines Viacheslav Ovsiienko
2019-03-25 17:03       ` Viacheslav Ovsiienko
2019-03-26 12:14       ` Shahaf Shuler
2019-03-26 12:14         ` Shahaf Shuler
2019-03-25 17:03     ` [dpdk-dev] [PATCH v2 12/13] net/mlx5: update event handler for multiport IB devices Viacheslav Ovsiienko
2019-03-25 17:03       ` Viacheslav Ovsiienko
2019-03-26 12:16       ` Shahaf Shuler
2019-03-26 12:16         ` Shahaf Shuler
2019-03-25 17:03     ` [dpdk-dev] [PATCH v2 13/13] net/mlx5: add source vport match to the ingress rules Viacheslav Ovsiienko
2019-03-25 17:03       ` Viacheslav Ovsiienko
2019-03-26 12:21       ` Shahaf Shuler
2019-03-26 12:21         ` Shahaf Shuler
2019-03-26 15:35     ` [dpdk-dev] [PATCH v3 00/14] net/mlx5: add support for multiport IB devices Viacheslav Ovsiienko
2019-03-26 15:35       ` Viacheslav Ovsiienko
2019-03-26 15:35       ` [dpdk-dev] [PATCH v3 01/13] net/mlx5: add representor recognition on kernels 5.x Viacheslav Ovsiienko
2019-03-26 15:35         ` Viacheslav Ovsiienko
2019-03-26 19:37         ` Shahaf Shuler
2019-03-26 19:37           ` Shahaf Shuler
2019-03-26 15:35       ` [dpdk-dev] [PATCH v3 02/13] net/mlx5: modify get ifindex routine for multiport IB Viacheslav Ovsiienko
2019-03-26 15:35         ` Viacheslav Ovsiienko
2019-03-26 15:35       ` [dpdk-dev] [PATCH v3 03/13] net/mlx5: add getting IB ports number " Viacheslav Ovsiienko
2019-03-26 15:35         ` Viacheslav Ovsiienko
2019-03-26 15:35       ` [dpdk-dev] [PATCH v3 04/13] net/mlx5: add multiport IB device support to probing Viacheslav Ovsiienko
2019-03-26 15:35         ` Viacheslav Ovsiienko
2019-03-26 15:35       ` [dpdk-dev] [PATCH v3 05/13] net/mlx5: add IB shared context alloc/free functions Viacheslav Ovsiienko
2019-03-26 15:35         ` Viacheslav Ovsiienko
2019-03-26 19:35         ` Shahaf Shuler
2019-03-26 19:35           ` Shahaf Shuler
2019-03-26 15:35       ` [dpdk-dev] [PATCH v3 06/13] net/mlx5: switch to the names in the shared IB context Viacheslav Ovsiienko
2019-03-26 15:35         ` Viacheslav Ovsiienko
2019-03-26 15:35       ` [dpdk-dev] [PATCH v3 07/13] net/mlx5: switch to the shared Protection Domain Viacheslav Ovsiienko
2019-03-26 15:35         ` Viacheslav Ovsiienko
2019-03-26 15:35       ` [dpdk-dev] [PATCH v3 08/13] net/mlx5: switch to the shared context IB attributes Viacheslav Ovsiienko
2019-03-26 15:35         ` Viacheslav Ovsiienko
2019-03-26 15:35       ` [dpdk-dev] [PATCH v3 09/13] net/mlx5: switch to the shared IB device context Viacheslav Ovsiienko
2019-03-26 15:35         ` Viacheslav Ovsiienko
2019-03-26 15:35       ` [dpdk-dev] [PATCH v3 10/13] net/mlx5: provide IB port for the object being created Viacheslav Ovsiienko
2019-03-26 15:35         ` Viacheslav Ovsiienko
2019-03-26 15:35       ` [dpdk-dev] [PATCH v3 11/13] net/mlx5: update install/uninstall int handler routines Viacheslav Ovsiienko
2019-03-26 15:35         ` Viacheslav Ovsiienko
2019-03-26 15:35       ` [dpdk-dev] [PATCH v3 12/13] net/mlx5: update event handler for multiport IB devices Viacheslav Ovsiienko
2019-03-26 15:35         ` Viacheslav Ovsiienko
2019-03-26 15:35       ` [dpdk-dev] [PATCH v3 13/13] net/mlx5: add source vport match to the ingress rules Viacheslav Ovsiienko
2019-03-26 15:35         ` Viacheslav Ovsiienko
2019-03-26 19:38         ` Shahaf Shuler
2019-03-26 19:38           ` Shahaf Shuler
2019-03-27  6:00       ` [dpdk-dev] [PATCH v3 00/14] net/mlx5: add support for multiport IB devices Shahaf Shuler
2019-03-27  6:00         ` Shahaf Shuler
2019-03-27  7:31         ` Slava Ovsiienko
2019-03-27  7:31           ` Slava Ovsiienko
2019-03-27 13:15       ` [dpdk-dev] [PATCH v4 " Viacheslav Ovsiienko
2019-03-27 13:15         ` Viacheslav Ovsiienko
2019-03-27 13:15         ` [dpdk-dev] [PATCH v4 01/13] net/mlx5: add representor recognition on kernels 5.x Viacheslav Ovsiienko
2019-03-27 13:15           ` Viacheslav Ovsiienko
2019-03-27 13:15         ` [dpdk-dev] [PATCH v4 02/13] net/mlx5: modify get ifindex routine for multiport IB Viacheslav Ovsiienko
2019-03-27 13:15           ` Viacheslav Ovsiienko
2019-03-27 13:15         ` [dpdk-dev] [PATCH v4 03/13] net/mlx5: add getting IB ports number " Viacheslav Ovsiienko
2019-03-27 13:15           ` Viacheslav Ovsiienko
2019-03-27 13:15         ` [dpdk-dev] [PATCH v4 04/13] net/mlx5: add multiport IB device support to probing Viacheslav Ovsiienko
2019-03-27 13:15           ` Viacheslav Ovsiienko
2019-03-27 13:15         ` [dpdk-dev] [PATCH v4 05/13] net/mlx5: add IB shared context alloc/free functions Viacheslav Ovsiienko
2019-03-27 13:15           ` Viacheslav Ovsiienko
2019-03-27 13:15         ` [dpdk-dev] [PATCH v4 06/13] net/mlx5: switch to the names in the shared IB context Viacheslav Ovsiienko
2019-03-27 13:15           ` Viacheslav Ovsiienko
2019-03-27 13:15         ` [dpdk-dev] [PATCH v4 07/13] net/mlx5: switch to the shared Protection Domain Viacheslav Ovsiienko
2019-03-27 13:15           ` Viacheslav Ovsiienko
2019-03-27 13:15         ` [dpdk-dev] [PATCH v4 08/13] net/mlx5: switch to the shared context IB attributes Viacheslav Ovsiienko
2019-03-27 13:15           ` Viacheslav Ovsiienko
2019-03-27 13:15         ` [dpdk-dev] [PATCH v4 09/13] net/mlx5: switch to the shared IB device context Viacheslav Ovsiienko
2019-03-27 13:15           ` Viacheslav Ovsiienko
2019-04-02  4:49           ` Shahaf Shuler
2019-04-02  4:49             ` Shahaf Shuler
2019-03-27 13:15         ` [dpdk-dev] [PATCH v4 10/13] net/mlx5: provide IB port for the object being created Viacheslav Ovsiienko
2019-03-27 13:15           ` Viacheslav Ovsiienko
2019-03-27 13:15         ` Viacheslav Ovsiienko [this message]
2019-03-27 13:15           ` [dpdk-dev] [PATCH v4 11/13] net/mlx5: update install/uninstall int handler routines Viacheslav Ovsiienko
2019-03-27 13:15         ` [dpdk-dev] [PATCH v4 12/13] net/mlx5: update event handler for multiport IB devices Viacheslav Ovsiienko
2019-03-27 13:15           ` Viacheslav Ovsiienko
2019-03-27 13:15         ` [dpdk-dev] [PATCH v4 13/13] net/mlx5: add source vport match to the ingress rules Viacheslav Ovsiienko
2019-03-27 13:15           ` Viacheslav Ovsiienko
2019-03-28  9:21         ` [dpdk-dev] [PATCH v4 00/14] net/mlx5: add support for multiport IB devices Shahaf Shuler
2019-03-28  9:21           ` Shahaf Shuler

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=1553692547-16695-12-git-send-email-viacheslavo@mellanox.com \
    --to=viacheslavo@mellanox.com \
    --cc=dev@dpdk.org \
    --cc=shahafs@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).