All of lore.kernel.org
 help / color / mirror / Atom feed
From: Cunming Liang <cunming.liang@intel.com>
To: dev@dpdk.org
Cc: shemming@brocade.com, liang-min.wang@intel.com
Subject: [PATCH v8 08/11] ethdev: add rx intr enable, disable and ctl functions
Date: Thu, 21 May 2015 16:56:00 +0800	[thread overview]
Message-ID: <1432198563-16334-9-git-send-email-cunming.liang@intel.com> (raw)
In-Reply-To: <1432198563-16334-1-git-send-email-cunming.liang@intel.com>

The patch adds two dev_ops functions to enable and disable rx queue interrupts.
In addtion, it adds rte_eth_dev_rx_intr_ctl/rx_intr_q to support per port or per queue rx intr event set.

Signed-off-by: Danny Zhou <danny.zhou@intel.com>
Signed-off-by: Cunming Liang <cunming.liang@intel.com>
---
v8 changes
 - add addtion check for EEXIT

v7 changes
 - remove rx_intr_vec_get
 - add rx_intr_ctl and rx_intr_ctl_q

v6 changes
 - add rx_intr_vec_get to retrieve the vector num of the queue.

v5 changes
 - Rebase the patchset onto the HEAD

v4 changes
 - Export interrupt enable/disable functions for shared libraries
 - Put new functions at the end of eth_dev_ops to avoid breaking ABI

v3 changes
 - Add return value for interrupt enable/disable functions

 lib/librte_ether/rte_ethdev.c          | 127 +++++++++++++++++++++++++++++++++
 lib/librte_ether/rte_ethdev.h          | 104 +++++++++++++++++++++++++++
 lib/librte_ether/rte_ether_version.map |   4 ++
 3 files changed, 235 insertions(+)

diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c
index 024fe8b..1a47d9a 100644
--- a/lib/librte_ether/rte_ethdev.c
+++ b/lib/librte_ether/rte_ethdev.c
@@ -3281,6 +3281,133 @@ _rte_eth_dev_callback_process(struct rte_eth_dev *dev,
 	}
 	rte_spinlock_unlock(&rte_eth_dev_cb_lock);
 }
+
+int
+rte_eth_dev_rx_intr_ctl(uint8_t port_id, int epfd, int op, void *data)
+{
+	uint32_t vec;
+	struct rte_eth_dev *dev;
+	struct rte_intr_handle *intr_handle;
+	uint16_t qid;
+	int rc;
+
+	if (!rte_eth_dev_is_valid_port(port_id)) {
+		PMD_DEBUG_TRACE("Invalid port_id=%d\n", port_id);
+		return -ENODEV;
+	}
+
+	dev = &rte_eth_devices[port_id];
+	if (dev == NULL) {
+		PMD_DEBUG_TRACE("Invalid port device\n");
+		return -ENODEV;
+	}
+
+	intr_handle = &dev->pci_dev->intr_handle;
+	if (!intr_handle->intr_vec) {
+		PMD_DEBUG_TRACE("RX Intr vector unset\n");
+		return -EPERM;
+	}
+
+	for (qid = 0; qid < dev->data->nb_rx_queues; qid++) {
+		vec = intr_handle->intr_vec[qid];
+		rc = rte_intr_rx_ctl(intr_handle, epfd, op, vec,
+				     data, rte_eth_dev_socket_id(port_id));
+		if (rc && rc != -EEXIST) {
+			PMD_DEBUG_TRACE("p %d q %d rx ctl error"
+					" op %d epfd %d vec %u\n",
+					port_id, qid, op, epfd, vec);
+		}
+	}
+
+	return 0;
+}
+
+int
+rte_eth_dev_rx_intr_ctl_q(uint8_t port_id, uint16_t queue_id,
+			  int epfd, int op, void *data)
+{
+	uint32_t vec;
+	struct rte_eth_dev *dev;
+	struct rte_intr_handle *intr_handle;
+	int rc;
+
+	if (!rte_eth_dev_is_valid_port(port_id)) {
+		PMD_DEBUG_TRACE("Invalid port_id=%d\n", port_id);
+		return -ENODEV;
+	}
+
+	dev = &rte_eth_devices[port_id];
+	if (dev == NULL) {
+		PMD_DEBUG_TRACE("Invalid port device\n");
+		return -ENODEV;
+	}
+
+	if (queue_id >= dev->data->nb_rx_queues) {
+		PMD_DEBUG_TRACE("Invalid RX queue_id=%d\n", rx_queue_id);
+		return -EINVAL;
+	}
+
+	intr_handle = &dev->pci_dev->intr_handle;
+	if (!intr_handle->intr_vec) {
+		PMD_DEBUG_TRACE("RX Intr vector unset\n");
+		return -EPERM;
+	}
+
+	vec = intr_handle->intr_vec[queue_id];
+	rc = rte_intr_rx_ctl(intr_handle, epfd, op, vec,
+			     data, rte_eth_dev_socket_id(port_id));
+	if (rc && rc != -EEXIST) {
+		PMD_DEBUG_TRACE("p %d q %d rx ctl error"
+				" op %d epfd %d vec %u\n",
+				port_id, queue_id, op, epfd, vec);
+		return rc;
+	}
+
+	return 0;
+}
+
+int
+rte_eth_dev_rx_intr_enable(uint8_t port_id,
+			   uint16_t queue_id)
+{
+	struct rte_eth_dev *dev;
+
+	if (!rte_eth_dev_is_valid_port(port_id)) {
+		PMD_DEBUG_TRACE("Invalid port_id=%d\n", port_id);
+		return -ENODEV;
+	}
+
+	dev = &rte_eth_devices[port_id];
+	if (dev == NULL) {
+		PMD_DEBUG_TRACE("Invalid port device\n");
+		return -ENODEV;
+	}
+
+	FUNC_PTR_OR_ERR_RET(*dev->dev_ops->rx_queue_intr_enable, -ENOTSUP);
+	return (*dev->dev_ops->rx_queue_intr_enable)(dev, queue_id);
+}
+
+int
+rte_eth_dev_rx_intr_disable(uint8_t port_id,
+			    uint16_t queue_id)
+{
+	struct rte_eth_dev *dev;
+
+	if (!rte_eth_dev_is_valid_port(port_id)) {
+		PMD_DEBUG_TRACE("Invalid port_id=%d\n", port_id);
+		return -ENODEV;
+	}
+
+	dev = &rte_eth_devices[port_id];
+	if (dev == NULL) {
+		PMD_DEBUG_TRACE("Invalid port device\n");
+		return -ENODEV;
+	}
+
+	FUNC_PTR_OR_ERR_RET(*dev->dev_ops->rx_queue_intr_disable, -ENOTSUP);
+	return (*dev->dev_ops->rx_queue_intr_disable)(dev, queue_id);
+}
+
 #ifdef RTE_NIC_BYPASS
 int rte_eth_dev_bypass_init(uint8_t port_id)
 {
diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h
index 4648290..e5efec0 100644
--- a/lib/librte_ether/rte_ethdev.h
+++ b/lib/librte_ether/rte_ethdev.h
@@ -829,6 +829,8 @@ struct rte_eth_fdir {
 struct rte_intr_conf {
 	/** enable/disable lsc interrupt. 0 (default) - disable, 1 enable */
 	uint16_t lsc;
+	/** enable/disable rxq interrupt. 0 (default) - disable, 1 enable */
+	uint16_t rxq;
 };
 
 /**
@@ -1034,6 +1036,14 @@ typedef int (*eth_tx_queue_setup_t)(struct rte_eth_dev *dev,
 				    const struct rte_eth_txconf *tx_conf);
 /**< @internal Setup a transmit queue of an Ethernet device. */
 
+typedef int (*eth_rx_enable_intr_t)(struct rte_eth_dev *dev,
+				    uint16_t rx_queue_id);
+/**< @internal Enable interrupt of a receive queue of an Ethernet device. */
+
+typedef int (*eth_rx_disable_intr_t)(struct rte_eth_dev *dev,
+				    uint16_t rx_queue_id);
+/**< @internal Disable interrupt of a receive queue of an Ethernet device. */
+
 typedef void (*eth_queue_release_t)(void *queue);
 /**< @internal Release memory resources allocated by given RX/TX queue. */
 
@@ -1385,6 +1395,10 @@ struct eth_dev_ops {
 	/** Get current RSS hash configuration. */
 	rss_hash_conf_get_t rss_hash_conf_get;
 	eth_filter_ctrl_t              filter_ctrl;          /**< common filter control*/
+
+	/** Enable/disable Rx queue interrupt. */
+	eth_rx_enable_intr_t       rx_queue_intr_enable; /**< Enable Rx queue interrupt. */
+	eth_rx_disable_intr_t      rx_queue_intr_disable; /**< Disable Rx queue interrupt.*/
 };
 
 /**
@@ -2867,6 +2881,96 @@ void _rte_eth_dev_callback_process(struct rte_eth_dev *dev,
 				enum rte_eth_event_type event);
 
 /**
+ * When there is no rx packet coming in Rx Queue for a long time, we can
+ * sleep lcore related to RX Queue for power saving, and enable rx interrupt
+ * to be triggered when rx packect arrives.
+ *
+ * The rte_eth_dev_rx_intr_enable() function enables rx queue
+ * interrupt on specific rx queue of a port.
+ *
+ * @param port_id
+ *   The port identifier of the Ethernet device.
+ * @param queue_id
+ *   The index of the receive queue from which to retrieve input packets.
+ *   The value must be in the range [0, nb_rx_queue - 1] previously supplied
+ *   to rte_eth_dev_configure().
+ * @return
+ *   - (0) if successful.
+ *   - (-ENOTSUP) if underlying hardware OR driver doesn't support
+ *     that operation.
+ *   - (-ENODEV) if *port_id* invalid.
+ */
+int rte_eth_dev_rx_intr_enable(uint8_t port_id,
+			       uint16_t queue_id);
+
+/**
+ * When lcore wakes up from rx interrupt indicating packet coming, disable rx
+ * interrupt and returns to polling mode.
+ *
+ * The rte_eth_dev_rx_intr_disable() function disables rx queue
+ * interrupt on specific rx queue of a port.
+ *
+ * @param port_id
+ *   The port identifier of the Ethernet device.
+ * @param queue_id
+ *   The index of the receive queue from which to retrieve input packets.
+ *   The value must be in the range [0, nb_rx_queue - 1] previously supplied
+ *   to rte_eth_dev_configure().
+ * @return
+ *   - (0) if successful.
+ *   - (-ENOTSUP) if underlying hardware OR driver doesn't support
+ *     that operation.
+ *   - (-ENODEV) if *port_id* invalid.
+ */
+int rte_eth_dev_rx_intr_disable(uint8_t port_id,
+				uint16_t queue_id);
+
+/**
+ * RX Interrupt control per port.
+ *
+ * @param port_id
+ *   The port identifier of the Ethernet device.
+ * @param epfd
+ *   Epoll instance fd which the intr vector associated to.
+ *   Using RTE_EPOLL_PER_THREAD allows to use per thread epoll instance.
+ * @param op
+ *   The operation be performed for the vector.
+ *   Operation type of {RTE_INTR_EVENT_ADD, RTE_INTR_EVENT_DEL}.
+ * @param data
+ *   User raw data.
+ * @return
+ *   - On success, zero.
+ *   - On failure, a negative value.
+ */
+int
+rte_eth_dev_rx_intr_ctl(uint8_t port_id, int epfd, int op, void *data);
+
+/**
+ * RX Interrupt control per queue.
+ *
+ * @param port_id
+ *   The port identifier of the Ethernet device.
+ * @param queue_id
+ *   The index of the receive queue from which to retrieve input packets.
+ *   The value must be in the range [0, nb_rx_queue - 1] previously supplied
+ *   to rte_eth_dev_configure().
+ * @param epfd
+ *   Epoll instance fd which the intr vector associated to.
+ *   Using RTE_EPOLL_PER_THREAD allows to use per thread epoll instance.
+ * @param op
+ *   The operation be performed for the vector.
+ *   Operation type of {RTE_INTR_EVENT_ADD, RTE_INTR_EVENT_DEL}.
+ * @param data
+ *   User raw data.
+ * @return
+ *   - On success, zero.
+ *   - On failure, a negative value.
+ */
+int
+rte_eth_dev_rx_intr_ctl_q(uint8_t port_id, uint16_t queue_id,
+			  int epfd, int op, void *data);
+
+/**
  * Turn on the LED on the Ethernet device.
  * This function turns on the LED on the Ethernet device.
  *
diff --git a/lib/librte_ether/rte_ether_version.map b/lib/librte_ether/rte_ether_version.map
index a2d25a6..2799b99 100644
--- a/lib/librte_ether/rte_ether_version.map
+++ b/lib/librte_ether/rte_ether_version.map
@@ -48,6 +48,10 @@ DPDK_2.0 {
 	rte_eth_dev_rss_hash_update;
 	rte_eth_dev_rss_reta_query;
 	rte_eth_dev_rss_reta_update;
+	rte_eth_dev_rx_intr_ctl;
+	rte_eth_dev_rx_intr_ctl_q;
+	rte_eth_dev_rx_intr_disable;
+	rte_eth_dev_rx_intr_enable;
 	rte_eth_dev_rx_queue_start;
 	rte_eth_dev_rx_queue_stop;
 	rte_eth_dev_set_link_down;
-- 
1.8.1.4

  parent reply	other threads:[~2015-05-21  8:56 UTC|newest]

Thread overview: 243+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-23 16:55 [PATCH v5 0/6] Interrupt mode PMD Zhou Danny
     [not found] ` <1424710542-14637-1-git-send-email-danny.zhou-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2015-02-23 16:55   ` [PATCH v5 1/6] ethdev: add rx interrupt enable/disable functions Zhou Danny
     [not found]     ` <1424710542-14637-2-git-send-email-danny.zhou-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2015-02-23 16:59       ` Stephen Hemminger
2015-02-23 17:17         ` Zhou, Danny
2015-05-11 14:10           ` [PATCH] lib: syntax cleanup Ferruh Yigit
2015-06-23 14:28             ` Thomas Monjalon
2015-02-23 16:55   ` [PATCH v5 2/6] eal: add rx queue interrupt FDs to intr handle struct Zhou Danny
2015-02-23 16:55   ` [PATCH v5 3/6] ixgbe: enable rx queue interrupts for both PF and VF Zhou Danny
2015-02-23 16:55   ` [PATCH v5 4/6] igb: enable rx queue interrupts for PF Zhou Danny
2015-02-23 16:55   ` [PATCH v5 5/6] eal: add per rx queue interrupt handling based on VFIO Zhou Danny
     [not found]     ` <1424710542-14637-6-git-send-email-danny.zhou-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2015-02-24 10:42       ` David Marchand
     [not found]         ` <CALwxeUtc7vJFt1qxpLxAnVmsbwoSu8Sn-NkeQavNN_ReNA2EEw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-02-25  6:58           ` Zhou, Danny
     [not found]             ` <DFDF335405C17848924A094BC35766CF0AABC01C-0J0gbvR4kTg/UvCtAeCM4rfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-02-25 10:22               ` David Marchand
     [not found]                 ` <CALwxeUvwU=SqWwtDWKf7ZTTVFu16XhVVPEmnmz1euHY_8xoYAA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-02-25 15:29                   ` Zhou, Danny
     [not found]                     ` <DFDF335405C17848924A094BC35766CF0AABCDA3-0J0gbvR4kTg/UvCtAeCM4rfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-02-25 15:44                       ` Thomas Monjalon
2015-02-25 15:52                       ` David Marchand
2015-02-23 16:55   ` [PATCH v5 6/6] l3fwd-power: enable one-shot rx interrupt and polling/interrupt mode switch Zhou Danny
2015-02-27  4:56   ` [PATCH v6 0/8] Interrupt mode PMD Cunming Liang
     [not found]     ` <1425012976-10173-1-git-send-email-cunming.liang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2015-02-27  4:56       ` [PATCH v6 1/8] eal: declare new interrupt api Cunming Liang
2015-02-27  4:56       ` [PATCH v6 2/8] eal/linux: add rx queue interrupt FDs to intr handle struct Cunming Liang
     [not found]         ` <1425012976-10173-3-git-send-email-cunming.liang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2015-02-27 10:33           ` David Marchand
     [not found]             ` <CALwxeUtr8iUCjroCf0ix0PPU2ers3EgTeTT6XUDAgwmwsOBS6Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-02-27 11:28               ` Liang, Cunming
     [not found]                 ` <D0158A423229094DA7ABF71CF2FA0DA3118DFBF1-E2R4CRU6q/6iAffOGbnezLfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-02-27 14:42                   ` Thomas Monjalon
2015-02-27 14:52                   ` Thomas Monjalon
2015-02-28  0:32                     ` Liang, Cunming
2015-02-27  4:56       ` [PATCH v6 3/8] eal/bsd: dummy for new intr definition Cunming Liang
     [not found]         ` <1425012976-10173-4-git-send-email-cunming.liang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2015-02-27  9:59           ` David Marchand
     [not found]             ` <CALwxeUudTApYsd3qsAYeqKmAKK6ztbWQJ-oe5M817jqNXaswdA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-02-27 11:21               ` Liang, Cunming
     [not found]                 ` <D0158A423229094DA7ABF71CF2FA0DA3118DFBCE-E2R4CRU6q/6iAffOGbnezLfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-02-27 14:22                   ` Thomas Monjalon
2015-02-28  0:37                     ` Liang, Cunming
2015-02-27  4:56       ` [PATCH v6 4/8] eal/linux: add per rx queue interrupt handling based on VFIO Cunming Liang
     [not found]         ` <1425012976-10173-5-git-send-email-cunming.liang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2015-02-27 10:33           ` David Marchand
     [not found]             ` <CALwxeUu2GCzqR+RSgpp1GX=bCDpZTyPcqD4RQzsCx5d48RvBdQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-02-27 12:22               ` Liang, Cunming
     [not found]                 ` <D0158A423229094DA7ABF71CF2FA0DA3118DFC6E-E2R4CRU6q/6iAffOGbnezLfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-02-27 14:13                   ` Thomas Monjalon
2015-02-28  1:45                     ` Liang, Cunming
2015-02-27  4:56       ` [PATCH v6 5/8] ethdev: add rx interrupt enable/disable functions Cunming Liang
2015-02-27  4:56       ` [PATCH v6 6/8] ixgbe: enable rx queue interrupts for both PF and VF Cunming Liang
2015-02-27  4:56       ` [PATCH v6 7/8] igb: enable rx queue interrupts for PF Cunming Liang
     [not found]         ` <1425012976-10173-8-git-send-email-cunming.liang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2015-03-20 20:51           ` Stephen Hemminger
2015-05-11  5:16             ` Liang, Cunming
2015-02-27  4:56       ` [PATCH v6 8/8] l3fwd-power: enable one-shot rx interrupt and polling/interrupt mode switch Cunming Liang
     [not found]         ` <1425012976-10173-9-git-send-email-cunming.liang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2015-02-28 22:57           ` Stephen Hemminger
2015-02-28 23:00           ` Stephen Hemminger
2015-02-27  8:00       ` [PATCH v6 0/8] Interrupt mode PMD Liu, Yong
2015-02-27 10:38       ` David Marchand
     [not found]         ` <CALwxeUuryZ6AvvC7PDHVVGUm9bOoR74jTf9P5H1UJy87GTADkQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-02-28 22:38           ` Stephen Hemminger
2015-03-04  0:52           ` Stephen Hemminger
2015-03-04  3:20             ` Liang, Cunming
2015-05-05  5:39       ` From: Cunming Liang <cunming.liang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> Cunming Liang
     [not found]         ` <1430804386-28949-1-git-send-email-cunming.liang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2015-05-05  5:39           ` [PATCH v7 01/10] eal/linux: add interrupt vectors support in intr_handle Cunming Liang
2015-05-05  5:39           ` [PATCH v7 02/10] eal/linux: add rte_epoll_wait/ctl support Cunming Liang
2015-05-08  2:57             ` Stephen Hemminger
2015-05-11  3:32               ` Liang, Cunming
2015-05-05  5:39           ` [PATCH v7 03/10] eal/linux: add API to set rx interrupt event monitor Cunming Liang
     [not found]             ` <1430804386-28949-4-git-send-email-cunming.liang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2015-05-05 18:34               ` Stephen Hemminger
2015-05-07  6:29                 ` Liang, Cunming
2015-05-08  2:58             ` Stephen Hemminger
2015-05-05  5:39           ` [PATCH v7 04/10] eal/bsd: dummy for new intr definition Cunming Liang
2015-05-05  5:39           ` [PATCH v7 05/10] eal/linux: fix comments typo on vfio msi Cunming Liang
2015-05-05  5:39           ` [PATCH v7 06/10] eal/linux: add interrupt vectors handling on VFIO Cunming Liang
     [not found]             ` <1430804386-28949-7-git-send-email-cunming.liang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2015-05-05 18:38               ` Stephen Hemminger
2015-05-07  6:29                 ` Liang, Cunming
2015-05-05  5:39           ` [PATCH v7 07/10] ethdev: add rx intr enable, disable and ctl functions Cunming Liang
2015-05-05  5:39           ` [PATCH v7 08/10] ixgbe: enable rx queue interrupts for both PF and VF Cunming Liang
     [not found]             ` <1430804386-28949-9-git-send-email-cunming.liang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2015-05-05 18:36               ` Stephen Hemminger
2015-05-11  5:31                 ` Liang, Cunming
2015-05-11 15:00                   ` Stephen Hemminger
2015-05-12  1:07                     ` Liang, Cunming
2015-05-05  5:39           ` [PATCH v7 09/10] igb: enable rx queue interrupts for PF Cunming Liang
     [not found]             ` <1430804386-28949-10-git-send-email-cunming.liang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2015-05-05 23:16               ` Stephen Hemminger
2015-05-11  5:05                 ` Liang, Cunming
2015-05-28 21:25             ` Stephen Hemminger
2015-05-05  5:39           ` [PATCH v7 10/10] l3fwd-power: enable one-shot rx interrupt and polling/interrupt mode switch Cunming Liang
2015-05-21  8:55         ` [PATCH v8 00/11] Interrupt mode PMD Cunming Liang
2015-05-21  8:55           ` [PATCH v8 01/11] eal/linux: add interrupt vectors support in intr_handle Cunming Liang
2015-05-21 10:32             ` Neil Horman
     [not found]               ` <20150521104300.00757b4e@urahara>
2015-05-21 17:58                 ` Neil Horman
2015-05-21 18:21                   ` Stephen Hemminger
     [not found]                   ` <20150521111400.2a04a196@urahara>
2015-05-22  0:05                     ` Neil Horman
     [not found]                     ` <40594e9e6e0543afa11e4dbd90e59b22@BRMWP-EXMB11.corp.brocade.com>
2015-05-22 16:52                       ` Stephen Hemminger
2015-05-27 10:33                         ` Neil Horman
2015-05-29  8:56                   ` Liang, Cunming
2015-05-21  8:55           ` [PATCH v8 02/11] eal/linux: add rte_epoll_wait/ctl support Cunming Liang
2015-05-21 18:22             ` Stephen Hemminger
     [not found]             ` <20150521111704.727cf3a1@urahara>
2015-05-22  2:08               ` Liang, Cunming
2015-05-21  8:55           ` [PATCH v8 03/11] eal/linux: add API to set rx interrupt event monitor Cunming Liang
2015-05-21  8:55           ` [PATCH v8 04/11] eal/linux: fix comments typo on vfio msi Cunming Liang
2015-05-21  8:55           ` [PATCH v8 05/11] eal/linux: add interrupt vectors handling on VFIO Cunming Liang
2015-05-22 20:21             ` Stephen Hemminger
2015-05-27  9:00               ` Liang, Cunming
2015-05-21  8:55           ` [PATCH v8 06/11] eal/linux: standalone intr event fd create support Cunming Liang
2015-05-21  8:55           ` [PATCH v8 07/11] eal/bsd: dummy for new intr definition Cunming Liang
2015-05-21  8:56           ` Cunming Liang [this message]
2015-05-21 18:22             ` [PATCH v8 08/11] ethdev: add rx intr enable, disable and ctl functions Stephen Hemminger
2015-05-21 18:22             ` Stephen Hemminger
     [not found]             ` <20150521112030.4d31a0e4@urahara>
2015-05-22  2:17               ` Liang, Cunming
2015-05-21  8:56           ` [PATCH v8 09/11] ixgbe: enable rx queue interrupts for both PF and VF Cunming Liang
2015-05-21  8:56           ` [PATCH v8 10/11] igb: enable rx queue interrupts for PF Cunming Liang
2015-05-21  8:56           ` [PATCH v8 11/11] l3fwd-power: enable one-shot rx interrupt and polling/interrupt mode switch Cunming Liang
2015-05-29  8:45           ` [PATCH v9 00/12] Interrupt mode PMD Cunming Liang
2015-05-29  8:45             ` [PATCH v9 01/12] eal/linux: add interrupt vectors support in intr_handle Cunming Liang
2015-06-02  5:27               ` Liu, Yong
2015-05-29  8:45             ` [PATCH v9 02/12] eal/linux: add rte_epoll_wait/ctl support Cunming Liang
2015-05-29  8:45             ` [PATCH v9 03/12] eal/linux: add API to set rx interrupt event monitor Cunming Liang
2015-05-29  8:45             ` [PATCH v9 04/12] eal/linux: fix comments typo on vfio msi Cunming Liang
2015-05-29  8:45             ` [PATCH v9 05/12] eal/linux: add interrupt vectors handling on VFIO Cunming Liang
2015-05-29  8:45             ` [PATCH v9 06/12] eal/linux: standalone intr event fd create support Cunming Liang
2015-05-29  8:45             ` [PATCH v9 07/12] eal/bsd: dummy for new intr definition Cunming Liang
2015-05-29  8:45             ` [PATCH v9 08/12] ethdev: add rx intr enable, disable and ctl functions Cunming Liang
2015-05-29  8:45             ` [PATCH v9 09/12] ixgbe: enable rx queue interrupts for both PF and VF Cunming Liang
2015-05-29 15:57               ` Stephen Hemminger
2015-05-29  8:45             ` [PATCH v9 10/12] igb: enable rx queue interrupts for PF Cunming Liang
2015-05-29  8:45             ` [PATCH v9 11/12] l3fwd-power: enable one-shot rx interrupt and polling/interrupt mode switch Cunming Liang
2015-05-29  8:45             ` [PATCH v9 12/12] abi: fix v2.1 abi broken issue Cunming Liang
2015-05-29 15:27               ` Stephen Hemminger
2015-06-01  8:48                 ` Liang, Cunming
2015-06-01 13:27                   ` Stephen Hemminger
2015-06-02  2:14                     ` Liang, Cunming
2015-05-29 15:36               ` Vincent JARDIN
2015-06-01 14:11               ` Stephen Hemminger
2015-06-01 14:18                 ` Stephen Hemminger
2015-06-02  6:53             ` [PATCH v10 00/13] Interrupt mode PMD Cunming Liang
2015-06-02  6:53               ` [PATCH v10 01/13] eal/linux: add interrupt vectors support in intr_handle Cunming Liang
2015-06-02  6:53               ` [PATCH v10 02/13] eal/linux: add rte_epoll_wait/ctl support Cunming Liang
2015-06-02 16:21                 ` Stephen Hemminger
2015-06-03  7:16                   ` Liang, Cunming
2015-06-02  6:53               ` [PATCH v10 03/13] eal/linux: add API to set rx interrupt event monitor Cunming Liang
2015-06-02 16:23                 ` Stephen Hemminger
2015-06-02 16:24                 ` Stephen Hemminger
2015-06-03  7:19                   ` Liang, Cunming
2015-06-02  6:53               ` [PATCH v10 04/13] eal/linux: fix comments typo on vfio msi Cunming Liang
2015-06-02  6:53               ` [PATCH v10 05/13] eal/linux: add interrupt vectors handling on VFIO Cunming Liang
2015-06-02  6:53               ` [PATCH v10 06/13] eal/linux: standalone intr event fd create support Cunming Liang
2015-06-02 16:27                 ` Stephen Hemminger
2015-06-03  7:17                   ` Liang, Cunming
2015-06-02  6:53               ` [PATCH v10 07/13] eal/linux: fix lsc read error in uio_pci_generic Cunming Liang
2015-06-02  6:53               ` [PATCH v10 08/13] eal/bsd: dummy for new intr definition Cunming Liang
2015-06-02  6:53               ` [PATCH v10 09/13] ethdev: add rx intr enable, disable and ctl functions Cunming Liang
2015-06-02  6:53               ` [PATCH v10 10/13] ixgbe: enable rx queue interrupts for both PF and VF Cunming Liang
2015-06-02  6:53               ` [PATCH v10 11/13] igb: enable rx queue interrupts for PF Cunming Liang
2015-06-02  6:53               ` [PATCH v10 12/13] l3fwd-power: enable one-shot rx interrupt and polling/interrupt mode switch Cunming Liang
2015-06-02  6:53               ` [PATCH v10 13/13] abi: fix v2.1 abi broken issue Cunming Liang
2015-06-02 14:08               ` [PATCH v10 00/13] Interrupt mode PMD Liu, Yong
2015-06-05  8:19               ` [PATCH v11 " Cunming Liang
2015-06-05  8:19                 ` [PATCH v11 01/13] eal/linux: add interrupt vectors support in intr_handle Cunming Liang
2015-06-05  8:19                 ` [PATCH v11 02/13] eal/linux: add rte_epoll_wait/ctl support Cunming Liang
2015-06-05  8:20                 ` [PATCH v11 03/13] eal/linux: add API to set rx interrupt event monitor Cunming Liang
2015-06-05  8:20                 ` [PATCH v11 04/13] eal/linux: fix comments typo on vfio msi Cunming Liang
2015-06-05  8:20                 ` [PATCH v11 05/13] eal/linux: add interrupt vectors handling on VFIO Cunming Liang
2015-06-05  8:20                 ` [PATCH v11 06/13] eal/linux: standalone intr event fd create support Cunming Liang
2015-06-05  8:20                 ` [PATCH v11 07/13] eal/linux: fix lsc read error in uio_pci_generic Cunming Liang
2015-06-05  8:20                 ` [PATCH v11 08/13] eal/bsd: dummy for new intr definition Cunming Liang
2015-06-05  8:20                 ` [PATCH v11 09/13] ethdev: add rx intr enable, disable and ctl functions Cunming Liang
2015-06-05  8:20                 ` [PATCH v11 10/13] ixgbe: enable rx queue interrupts for both PF and VF Cunming Liang
2015-06-05  8:20                 ` [PATCH v11 11/13] igb: enable rx queue interrupts for PF Cunming Liang
2015-06-05  8:20                 ` [PATCH v11 12/13] l3fwd-power: enable one-shot rx interrupt and polling/interrupt mode switch Cunming Liang
2015-06-05  8:20                 ` [PATCH v11 13/13] abi: fix v2.1 abi broken issue Cunming Liang
2015-06-05  8:59                 ` [PATCH v11 00/13] Interrupt mode PMD Zhou, Danny
2015-06-08  5:28                 ` [PATCH v12 00/14] " Cunming Liang
2015-06-08  5:28                   ` [PATCH v12 01/14] eal/linux: add interrupt vectors support in intr_handle Cunming Liang
2015-06-08  5:28                   ` [PATCH v12 02/14] eal/linux: add rte_epoll_wait/ctl support Cunming Liang
2015-06-08  5:29                   ` [PATCH v12 03/14] eal/linux: add API to set rx interrupt event monitor Cunming Liang
2015-06-08  5:29                   ` [PATCH v12 04/14] eal/linux: fix comments typo on vfio msi Cunming Liang
2015-06-08  5:29                   ` [PATCH v12 05/14] eal/linux: add interrupt vectors handling on VFIO Cunming Liang
2015-06-08  5:29                   ` [PATCH v12 06/14] eal/linux: standalone intr event fd create support Cunming Liang
2015-06-08  5:29                   ` [PATCH v12 07/14] eal/linux: fix lsc read error in uio_pci_generic Cunming Liang
2015-06-08  5:29                   ` [PATCH v12 08/14] eal/bsd: dummy for new intr definition Cunming Liang
2015-06-08  5:29                   ` [PATCH v12 09/14] eal/bsd: fix inappropriate linuxapp referred in bsd Cunming Liang
2015-06-08  5:29                   ` [PATCH v12 10/14] ethdev: add rx intr enable, disable and ctl functions Cunming Liang
2015-06-08  5:29                   ` [PATCH v12 11/14] ixgbe: enable rx queue interrupts for both PF and VF Cunming Liang
2015-06-08  5:29                   ` [PATCH v12 12/14] igb: enable rx queue interrupts for PF Cunming Liang
2015-06-08  5:29                   ` [PATCH v12 13/14] l3fwd-power: enable one-shot rx interrupt and polling/interrupt mode switch Cunming Liang
2015-06-08  5:29                   ` [PATCH v12 14/14] abi: fix v2.1 abi broken issue Cunming Liang
2015-06-09 23:59                   ` [PATCH v12 00/14] Interrupt mode PMD Stephen Hemminger
2015-06-19  4:00                   ` [PATCH v13 " Cunming Liang
2015-06-19  4:00                     ` [PATCH v13 01/14] eal/linux: add interrupt vectors support in intr_handle Cunming Liang
2015-07-13 16:40                       ` Thomas Monjalon
2015-07-17  5:27                         ` Liang, Cunming
2015-06-19  4:00                     ` [PATCH v13 02/14] eal/linux: add rte_epoll_wait/ctl support Cunming Liang
2015-07-13 16:46                       ` Thomas Monjalon
2015-07-17  5:27                         ` Liang, Cunming
2015-07-13 16:56                       ` Thomas Monjalon
2015-07-17  5:47                         ` Liang, Cunming
2015-06-19  4:00                     ` [PATCH v13 03/14] eal/linux: add API to set rx interrupt event monitor Cunming Liang
2015-06-19  4:00                     ` [PATCH v13 04/14] eal/linux: fix comments typo on vfio msi Cunming Liang
2015-06-19  4:00                     ` [PATCH v13 05/14] eal/linux: add interrupt vectors handling on VFIO Cunming Liang
2015-06-19  4:00                     ` [PATCH v13 06/14] eal/linux: standalone intr event fd create support Cunming Liang
2015-07-13 17:01                       ` Thomas Monjalon
2015-07-17  5:49                         ` Liang, Cunming
2015-06-19  4:00                     ` [PATCH v13 07/14] eal/linux: fix lsc read error in uio_pci_generic Cunming Liang
2015-06-19  4:00                     ` [PATCH v13 08/14] eal/bsd: dummy for new intr definition Cunming Liang
2015-07-13 17:06                       ` Thomas Monjalon
2015-07-17  5:58                         ` Liang, Cunming
2015-06-19  4:00                     ` [PATCH v13 09/14] eal/bsd: fix inappropriate linuxapp referred in bsd Cunming Liang
2015-06-19  4:00                     ` [PATCH v13 10/14] ethdev: add rx intr enable, disable and ctl functions Cunming Liang
2015-06-19  4:00                     ` [PATCH v13 11/14] ixgbe: enable rx queue interrupts for both PF and VF Cunming Liang
2015-06-19  4:00                     ` [PATCH v13 12/14] igb: enable rx queue interrupts for PF Cunming Liang
2015-06-19  4:00                     ` [PATCH v13 13/14] l3fwd-power: enable one-shot rx interrupt and polling/interrupt mode switch Cunming Liang
2015-07-13 17:12                       ` Thomas Monjalon
2015-07-17  5:59                         ` Liang, Cunming
2015-06-19  4:00                     ` [PATCH v13 14/14] abi: fix v2.1 abi broken issue Cunming Liang
2015-07-09 13:58                     ` [PATCH v13 00/14] Interrupt mode PMD David Marchand
2015-07-17  6:04                       ` Liang, Cunming
2015-07-17  6:16                     ` [PATCH v14 00/13] " Cunming Liang
2015-07-17  6:16                       ` [PATCH v14 01/13] eal/linux: add interrupt vectors support in intr_handle Cunming Liang
2015-07-19 23:31                         ` Thomas Monjalon
2015-07-20  2:02                           ` Liang, Cunming
2015-07-17  6:16                       ` [PATCH v14 02/13] eal/linux: add rte_epoll_wait/ctl support Cunming Liang
2015-07-17  6:16                       ` [PATCH v14 03/13] eal/linux: add API to set rx interrupt event monitor Cunming Liang
2015-07-17  6:16                       ` [PATCH v14 04/13] eal/linux: fix comments typo on vfio msi Cunming Liang
2015-07-17  6:16                       ` [PATCH v14 05/13] eal/linux: map eventfd to VFIO MSI-X intr vector Cunming Liang
2015-07-17  6:16                       ` [PATCH v14 06/13] eal/linux: standalone intr event fd create support Cunming Liang
2015-07-19 23:35                         ` Thomas Monjalon
2015-07-19 23:39                           ` Thomas Monjalon
2015-07-20  2:08                             ` Liang, Cunming
2015-07-17  6:16                       ` [PATCH v14 07/13] eal/linux: fix lsc read error in uio_pci_generic Cunming Liang
2015-07-17  6:16                       ` [PATCH v14 08/13] eal/bsd: dummy for new intr definition Cunming Liang
2015-07-17  6:16                       ` [PATCH v14 09/13] eal/bsd: fix inappropriate linuxapp referred in bsd Cunming Liang
2015-07-17  6:16                       ` [PATCH v14 10/13] ethdev: add rx intr enable, disable and ctl functions Cunming Liang
2015-07-17 21:40                         ` Stephen Hemminger
2015-07-20  2:11                           ` Liang, Cunming
2015-07-17  6:16                       ` [PATCH v14 11/13] ixgbe: enable rx queue interrupts for both PF and VF Cunming Liang
2015-07-17  6:16                       ` [PATCH v14 12/13] igb: enable rx queue interrupts for PF Cunming Liang
2015-07-17  6:16                       ` [PATCH v14 13/13] l3fwd-power: enable one-shot rx interrupt and polling/interrupt mode switch Cunming Liang
2015-07-20  3:02                       ` [PATCH v15 00/13] Interrupt mode PMD Cunming Liang
2015-07-20  3:02                         ` [PATCH v15 01/13] eal/linux: add interrupt vectors support in intr_handle Cunming Liang
2015-07-20  3:02                         ` [PATCH v15 02/13] eal/linux: add rte_epoll_wait/ctl support Cunming Liang
2015-07-20  3:02                         ` [PATCH v15 03/13] eal/linux: add API to set rx interrupt event monitor Cunming Liang
2015-07-20  3:02                         ` [PATCH v15 04/13] eal/linux: fix comments typo on vfio msi Cunming Liang
2015-07-20  3:02                         ` [PATCH v15 05/13] eal/linux: map eventfd to VFIO MSI-X intr vector Cunming Liang
2015-07-20  3:02                         ` [PATCH v15 06/13] eal/linux: standalone intr event fd create support Cunming Liang
2015-07-20  3:02                         ` [PATCH v15 07/13] eal/linux: fix lsc read error in uio_pci_generic Cunming Liang
2015-07-20  3:02                         ` [PATCH v15 08/13] eal/bsd: dummy for new intr definition Cunming Liang
2015-07-27 21:17                           ` Thomas Monjalon
2015-07-20  3:02                         ` [PATCH v15 09/13] eal/bsd: fix inappropriate linuxapp referred in bsd Cunming Liang
2015-07-20  3:02                         ` [PATCH v15 10/13] ethdev: add rx intr enable, disable and ctl functions Cunming Liang
2015-07-20  3:02                         ` [PATCH v15 11/13] ixgbe: enable rx queue interrupts for both PF and VF Cunming Liang
2015-07-20  3:02                         ` [PATCH v15 12/13] igb: enable rx queue interrupts for PF Cunming Liang
2015-07-20  3:02                         ` [PATCH v15 13/13] l3fwd-power: enable one-shot rx interrupt and polling/interrupt mode switch Cunming Liang
2015-07-27 16:50                           ` Thomas Monjalon
2015-07-23 14:18                         ` [PATCH v15 00/13] Interrupt mode PMD Liang, Cunming
2015-07-27 21:34                           ` Thomas Monjalon
2015-05-05  5:53       ` [PATCH v7 00/10] " Cunming Liang

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=1432198563-16334-9-git-send-email-cunming.liang@intel.com \
    --to=cunming.liang@intel.com \
    --cc=dev@dpdk.org \
    --cc=liang-min.wang@intel.com \
    --cc=shemming@brocade.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.