All of lore.kernel.org
 help / color / mirror / Atom feed
From: Cunming Liang <cunming.liang@intel.com>
To: dev@dpdk.org, thomas.monjalon@6wind.com, david.marchand@6wind.com
Cc: shemming@brocade.com
Subject: [PATCH v14 10/13] ethdev: add rx intr enable, disable and ctl functions
Date: Fri, 17 Jul 2015 14:16:12 +0800	[thread overview]
Message-ID: <1437113775-32199-11-git-send-email-cunming.liang@intel.com> (raw)
In-Reply-To: <1437113775-32199-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>
---
v14 changes
 - per-patch basis ABI compatibility rework
 - remove unnecessary 'local: *' from version map

v13 changes
 - version map cleanup for v2.1

v9 changes
 - remove unnecessary check after rte_eth_dev_is_valid_port.
   the same as http://www.dpdk.org/dev/patchwork/patch/4784

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          | 109 +++++++++++++++++++++++
 lib/librte_ether/rte_ethdev.h          | 154 +++++++++++++++++++++++++++++++++
 lib/librte_ether/rte_ether_version.map |   4 +
 3 files changed, 267 insertions(+)

diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c
index ddf3658..d7aa840 100644
--- a/lib/librte_ether/rte_ethdev.c
+++ b/lib/librte_ether/rte_ethdev.c
@@ -3006,6 +3006,115 @@ _rte_eth_dev_callback_process(struct rte_eth_dev *dev,
 	}
 	rte_spinlock_unlock(&rte_eth_dev_cb_lock);
 }
+
+#ifdef RTE_NEXT_ABI
+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=%u\n", port_id);
+		return -ENODEV;
+	}
+
+	dev = &rte_eth_devices[port_id];
+	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);
+		if (rc && rc != -EEXIST) {
+			PMD_DEBUG_TRACE("p %u q %u 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=%u\n", port_id);
+		return -ENODEV;
+	}
+
+	dev = &rte_eth_devices[port_id];
+	if (queue_id >= dev->data->nb_rx_queues) {
+		PMD_DEBUG_TRACE("Invalid RX queue_id=%u\n", 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);
+	if (rc && rc != -EEXIST) {
+		PMD_DEBUG_TRACE("p %u q %u 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];
+
+	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];
+
+	FUNC_PTR_OR_ERR_RET(*dev->dev_ops->rx_queue_intr_disable, -ENOTSUP);
+	return (*dev->dev_ops->rx_queue_intr_disable)(dev, queue_id);
+}
+#endif
+
 #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 d76bbb3..602bd2b 100644
--- a/lib/librte_ether/rte_ethdev.h
+++ b/lib/librte_ether/rte_ethdev.h
@@ -834,6 +834,10 @@ struct rte_eth_fdir {
 struct rte_intr_conf {
 	/** enable/disable lsc interrupt. 0 (default) - disable, 1 enable */
 	uint16_t lsc;
+#ifdef RTE_NEXT_ABI
+	/** enable/disable rxq interrupt. 0 (default) - disable, 1 enable */
+	uint16_t rxq;
+#endif
 };
 
 /**
@@ -1042,6 +1046,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. */
 
@@ -1351,6 +1363,12 @@ struct eth_dev_ops {
 	eth_queue_release_t        rx_queue_release;/**< Release RX queue.*/
 	eth_rx_queue_count_t       rx_queue_count; /**< Get Rx queue count. */
 	eth_rx_descriptor_done_t   rx_descriptor_done;  /**< Check rxd DD bit */
+#ifdef RTE_NEXT_ABI
+	/**< Enable Rx queue interrupt. */
+	eth_rx_enable_intr_t       rx_queue_intr_enable;
+	/**< Disable Rx queue interrupt.*/
+	eth_rx_disable_intr_t      rx_queue_intr_disable;
+#endif
 	eth_tx_queue_setup_t       tx_queue_setup;/**< Set up device TX queue.*/
 	eth_queue_release_t        tx_queue_release;/**< Release TX queue.*/
 	eth_dev_led_on_t           dev_led_on;    /**< Turn on LED. */
@@ -2907,6 +2925,142 @@ 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.
+ */
+#ifdef RTE_NEXT_ABI
+extern int
+rte_eth_dev_rx_intr_enable(uint8_t port_id, uint16_t queue_id);
+#else
+static inline int
+rte_eth_dev_rx_intr_enable(uint8_t port_id, uint16_t queue_id)
+{
+	RTE_SET_USED(port_id);
+	RTE_SET_USED(queue_id);
+	return -ENOTSUP;
+}
+#endif
+
+/**
+ * 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.
+ */
+#ifdef RTE_NEXT_ABI
+extern int
+rte_eth_dev_rx_intr_disable(uint8_t port_id, uint16_t queue_id);
+#else
+static inline int
+rte_eth_dev_rx_intr_disable(uint8_t port_id, uint16_t queue_id)
+{
+	RTE_SET_USED(port_id);
+	RTE_SET_USED(queue_id);
+	return -ENOTSUP;
+}
+#endif
+
+/**
+ * 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.
+ */
+#ifdef RTE_NEXT_ABI
+extern int
+rte_eth_dev_rx_intr_ctl(uint8_t port_id, int epfd, int op, void *data);
+#else
+static inline int
+rte_eth_dev_rx_intr_ctl(uint8_t port_id, int epfd, int op, void *data)
+{
+	RTE_SET_USED(port_id);
+	RTE_SET_USED(epfd);
+	RTE_SET_USED(op);
+	RTE_SET_USED(data);
+	return -1;
+}
+#endif
+
+/**
+ * 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.
+ */
+#ifdef RTE_NEXT_ABI
+extern int
+rte_eth_dev_rx_intr_ctl_q(uint8_t port_id, uint16_t queue_id,
+			  int epfd, int op, void *data);
+#else
+static inline int
+rte_eth_dev_rx_intr_ctl_q(uint8_t port_id, uint16_t queue_id,
+			  int epfd, int op, void *data)
+{
+	RTE_SET_USED(port_id);
+	RTE_SET_USED(queue_id);
+	RTE_SET_USED(epfd);
+	RTE_SET_USED(op);
+	RTE_SET_USED(data);
+	return -1;
+}
+#endif
+
+/**
  * 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 39baf11..fa09d75 100644
--- a/lib/librte_ether/rte_ether_version.map
+++ b/lib/librte_ether/rte_ether_version.map
@@ -109,6 +109,10 @@ DPDK_2.0 {
 DPDK_2.1 {
 	global:
 
+	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_set_mc_addr_list;
 	rte_eth_timesync_disable;
 	rte_eth_timesync_enable;
-- 
1.8.1.4

  parent reply	other threads:[~2015-07-17  6:16 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           ` [PATCH v8 08/11] ethdev: add rx intr enable, disable and ctl functions Cunming Liang
2015-05-21 18:22             ` 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                       ` Cunming Liang [this message]
2015-07-17 21:40                         ` [PATCH v14 10/13] ethdev: add rx intr enable, disable and ctl functions 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=1437113775-32199-11-git-send-email-cunming.liang@intel.com \
    --to=cunming.liang@intel.com \
    --cc=david.marchand@6wind.com \
    --cc=dev@dpdk.org \
    --cc=shemming@brocade.com \
    --cc=thomas.monjalon@6wind.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.