From: Cunming Liang <cunming.liang@intel.com>
To: dev@dpdk.org
Subject: [dpdk-dev] [PATCH v8 19/19] timer: add support to non-EAL thread
Date: Tue, 17 Feb 2015 10:08:16 +0800 [thread overview]
Message-ID: <1424138896-28618-20-git-send-email-cunming.liang@intel.com> (raw)
In-Reply-To: <1424138896-28618-1-git-send-email-cunming.liang@intel.com>
Allow to setup timers only for EAL (lcore) threads (__lcore_id < MAX_LCORE_ID).
E.g. – dynamically created thread will be able to reset/stop timer for lcore thread,
but it will be not allowed to setup timer for itself or another non-lcore thread.
rte_timer_manage() for non-lcore thread would simply do nothing and return straightway.
Signed-off-by: Cunming Liang <cunming.liang@intel.com>
---
v6 changes:
use 'RTE_MAX_LCORE' to check the EAL thread with valid lcore_id.
use 'LCORE_ID_ANY' for any unspecified lcore_id assignment.
v5 changes:
add assert in rte_timer_manage
remove duplicate check in timer_set_config_state
lib/librte_timer/rte_timer.c | 32 +++++++++++++++++++++++---------
lib/librte_timer/rte_timer.h | 4 ++--
2 files changed, 25 insertions(+), 11 deletions(-)
diff --git a/lib/librte_timer/rte_timer.c b/lib/librte_timer/rte_timer.c
index 269a992..76c9cae 100644
--- a/lib/librte_timer/rte_timer.c
+++ b/lib/librte_timer/rte_timer.c
@@ -35,6 +35,7 @@
#include <stdio.h>
#include <stdint.h>
#include <inttypes.h>
+#include <assert.h>
#include <rte_atomic.h>
#include <rte_common.h>
@@ -79,9 +80,10 @@ static struct priv_timer priv_timer[RTE_MAX_LCORE];
/* when debug is enabled, store some statistics */
#ifdef RTE_LIBRTE_TIMER_DEBUG
-#define __TIMER_STAT_ADD(name, n) do { \
- unsigned __lcore_id = rte_lcore_id(); \
- priv_timer[__lcore_id].stats.name += (n); \
+#define __TIMER_STAT_ADD(name, n) do { \
+ unsigned __lcore_id = rte_lcore_id(); \
+ if (__lcore_id < RTE_MAX_LCORE) \
+ priv_timer[__lcore_id].stats.name += (n); \
} while(0)
#else
#define __TIMER_STAT_ADD(name, n) do {} while(0)
@@ -135,7 +137,7 @@ timer_set_config_state(struct rte_timer *tim,
/* timer is running on another core, exit */
if (prev_status.state == RTE_TIMER_RUNNING &&
- (unsigned)prev_status.owner != lcore_id)
+ prev_status.owner != (uint16_t)lcore_id)
return -1;
/* timer is being configured on another core */
@@ -366,9 +368,16 @@ __rte_timer_reset(struct rte_timer *tim, uint64_t expire,
/* round robin for tim_lcore */
if (tim_lcore == (unsigned)LCORE_ID_ANY) {
- tim_lcore = rte_get_next_lcore(priv_timer[lcore_id].prev_lcore,
- 0, 1);
- priv_timer[lcore_id].prev_lcore = tim_lcore;
+ if (lcore_id < RTE_MAX_LCORE) {
+ /* EAL thread with valid lcore_id */
+ tim_lcore = rte_get_next_lcore(
+ priv_timer[lcore_id].prev_lcore,
+ 0, 1);
+ priv_timer[lcore_id].prev_lcore = tim_lcore;
+ } else
+ /* non-EAL thread do not run rte_timer_manage(),
+ * so schedule the timer on the first enabled lcore. */
+ tim_lcore = rte_get_next_lcore(LCORE_ID_ANY, 0, 1);
}
/* wait that the timer is in correct status before update,
@@ -378,7 +387,8 @@ __rte_timer_reset(struct rte_timer *tim, uint64_t expire,
return -1;
__TIMER_STAT_ADD(reset, 1);
- if (prev_status.state == RTE_TIMER_RUNNING) {
+ if (prev_status.state == RTE_TIMER_RUNNING &&
+ lcore_id < RTE_MAX_LCORE) {
priv_timer[lcore_id].updated = 1;
}
@@ -455,7 +465,8 @@ rte_timer_stop(struct rte_timer *tim)
return -1;
__TIMER_STAT_ADD(stop, 1);
- if (prev_status.state == RTE_TIMER_RUNNING) {
+ if (prev_status.state == RTE_TIMER_RUNNING &&
+ lcore_id < RTE_MAX_LCORE) {
priv_timer[lcore_id].updated = 1;
}
@@ -499,6 +510,9 @@ void rte_timer_manage(void)
uint64_t cur_time;
int i, ret;
+ /* timer manager only runs on EAL thread with valid lcore_id */
+ assert(lcore_id < RTE_MAX_LCORE);
+
__TIMER_STAT_ADD(manage, 1);
/* optimize for the case where per-cpu list is empty */
if (priv_timer[lcore_id].pending_head.sl_next[0] == NULL)
diff --git a/lib/librte_timer/rte_timer.h b/lib/librte_timer/rte_timer.h
index 4907cf5..35b8719 100644
--- a/lib/librte_timer/rte_timer.h
+++ b/lib/librte_timer/rte_timer.h
@@ -76,7 +76,7 @@ extern "C" {
#define RTE_TIMER_RUNNING 2 /**< State: timer function is running. */
#define RTE_TIMER_CONFIG 3 /**< State: timer is being configured. */
-#define RTE_TIMER_NO_OWNER -1 /**< Timer has no owner. */
+#define RTE_TIMER_NO_OWNER -2 /**< Timer has no owner. */
/**
* Timer type: Periodic or single (one-shot).
@@ -310,7 +310,7 @@ int rte_timer_pending(struct rte_timer *tim);
/**
* Manage the timer list and execute callback functions.
*
- * This function must be called periodically from all cores
+ * This function must be called periodically from EAL lcores
* main_loop(). It browses the list of pending timers and runs all
* timers that are expired.
*
--
1.8.1.4
next prev parent reply other threads:[~2015-02-17 2:09 UTC|newest]
Thread overview: 253+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1417589628-43666-1-git-send-email-cunming.liang@intel.com>
2015-01-22 8:16 ` [dpdk-dev] [PATCH v1 00/15] support multi-pthread per core Cunming Liang
2015-01-22 8:16 ` [dpdk-dev] [PATCH v1 01/15] eal: add cpuset into per EAL thread lcore_config Cunming Liang
2015-01-22 8:16 ` [dpdk-dev] [PATCH v1 02/15] eal: new eal option '--lcores' for cpu assignment Cunming Liang
2015-01-22 12:19 ` Bruce Richardson
2015-01-22 14:34 ` Ananyev, Konstantin
2015-01-22 15:17 ` Wodkowski, PawelX
2015-01-25 15:34 ` Liang, Cunming
2015-01-22 15:23 ` Bruce Richardson
2015-01-23 0:39 ` Liang, Cunming
2015-01-22 8:16 ` [dpdk-dev] [PATCH v1 03/15] eal: add support parsing socket_id from cpuset Cunming Liang
2015-01-22 8:16 ` [dpdk-dev] [PATCH v1 04/15] eal: new TLS definition and API declaration Cunming Liang
2015-01-22 8:16 ` [dpdk-dev] [PATCH v1 05/15] eal: add eal_common_thread.c for common thread API Cunming Liang
2015-01-22 8:16 ` [dpdk-dev] [PATCH v1 06/15] eal: add rte_gettid() to acquire unique system tid Cunming Liang
2015-01-22 8:16 ` [dpdk-dev] [PATCH v1 07/15] eal: apply affinity of EAL thread by assigned cpuset Cunming Liang
2015-01-22 8:16 ` [dpdk-dev] [PATCH v1 08/15] enic: fix re-define freebsd compile complain Cunming Liang
2015-01-22 8:16 ` [dpdk-dev] [PATCH v1 09/15] malloc: fix the issue of SOCKET_ID_ANY Cunming Liang
2015-01-25 23:04 ` Stephen Hemminger
2015-01-27 4:55 ` Liang, Cunming
2015-01-26 13:48 ` Stephen Hemminger
2015-01-22 8:16 ` [dpdk-dev] [PATCH v1 10/15] log: fix the gap to support non-EAL thread Cunming Liang
2015-01-22 8:16 ` [dpdk-dev] [PATCH v1 11/15] eal: set _lcore_id and _socket_id to (-1) by default Cunming Liang
2015-01-22 8:16 ` [dpdk-dev] [PATCH v1 12/15] eal: fix recursive spinlock in non-EAL thraed Cunming Liang
2015-01-22 8:16 ` [dpdk-dev] [PATCH v1 13/15] mempool: add support to non-EAL thread Cunming Liang
2015-01-22 9:52 ` Walukiewicz, Miroslaw
2015-01-22 12:20 ` Liang, Cunming
2015-01-22 12:45 ` Walukiewicz, Miroslaw
2015-01-22 14:04 ` Ananyev, Konstantin
2015-01-22 8:16 ` [dpdk-dev] [PATCH v1 14/15] ring: " Cunming Liang
2015-01-22 8:16 ` [dpdk-dev] [PATCH v1 15/15] timer: " Cunming Liang
2015-01-22 9:58 ` Walukiewicz, Miroslaw
2015-01-22 12:32 ` Liang, Cunming
2015-01-22 14:14 ` [dpdk-dev] [PATCH v1 00/15] support multi-pthread per core Ananyev, Konstantin
2015-01-28 6:59 ` [dpdk-dev] [PATCH v2 " Cunming Liang
2015-01-28 6:59 ` [dpdk-dev] [PATCH v2 01/15] eal: add cpuset into per EAL thread lcore_config Cunming Liang
2015-01-28 6:59 ` [dpdk-dev] [PATCH v2 02/15] eal: new eal option '--lcores' for cpu assignment Cunming Liang
2015-01-28 6:59 ` [dpdk-dev] [PATCH v2 03/15] eal: add support parsing socket_id from cpuset Cunming Liang
2015-01-28 6:59 ` [dpdk-dev] [PATCH v2 04/15] eal: new TLS definition and API declaration Cunming Liang
2015-01-28 6:59 ` [dpdk-dev] [PATCH v2 05/15] eal: add eal_common_thread.c for common thread API Cunming Liang
2015-01-28 6:59 ` [dpdk-dev] [PATCH v2 06/15] eal: add rte_gettid() to acquire unique system tid Cunming Liang
2015-01-28 6:59 ` [dpdk-dev] [PATCH v2 07/15] eal: apply affinity of EAL thread by assigned cpuset Cunming Liang
2015-01-28 6:59 ` [dpdk-dev] [PATCH v2 08/15] enic: fix re-define freebsd compile complain Cunming Liang
2015-01-28 6:59 ` [dpdk-dev] [PATCH v2 09/15] malloc: fix the issue of SOCKET_ID_ANY Cunming Liang
2015-01-28 6:59 ` [dpdk-dev] [PATCH v2 10/15] log: fix the gap to support non-EAL thread Cunming Liang
2015-01-28 6:59 ` [dpdk-dev] [PATCH v2 11/15] eal: set _lcore_id and _socket_id to (-1) by default Cunming Liang
2015-01-28 6:59 ` [dpdk-dev] [PATCH v2 12/15] eal: fix recursive spinlock in non-EAL thraed Cunming Liang
2015-01-28 6:59 ` [dpdk-dev] [PATCH v2 13/15] mempool: add support to non-EAL thread Cunming Liang
2015-01-28 6:59 ` [dpdk-dev] [PATCH v2 14/15] ring: " Cunming Liang
2015-01-28 6:59 ` [dpdk-dev] [PATCH v2 15/15] timer: " Cunming Liang
2015-01-29 0:24 ` [dpdk-dev] [PATCH v3 00/16] support multi-pthread per core Cunming Liang
2015-01-29 0:24 ` [dpdk-dev] [PATCH v3 01/16] eal: add cpuset into per EAL thread lcore_config Cunming Liang
2015-01-29 0:24 ` [dpdk-dev] [PATCH v3 02/16] eal: new eal option '--lcores' for cpu assignment Cunming Liang
2015-01-29 0:24 ` [dpdk-dev] [PATCH v3 03/16] eal: add support parsing socket_id from cpuset Cunming Liang
2015-01-29 0:24 ` [dpdk-dev] [PATCH v3 04/16] eal: new TLS definition and API declaration Cunming Liang
2015-01-29 0:24 ` [dpdk-dev] [PATCH v3 05/16] eal: add eal_common_thread.c for common thread API Cunming Liang
2015-01-29 0:24 ` [dpdk-dev] [PATCH v3 06/16] eal: add rte_gettid() to acquire unique system tid Cunming Liang
2015-01-29 0:24 ` [dpdk-dev] [PATCH v3 07/16] eal: apply affinity of EAL thread by assigned cpuset Cunming Liang
2015-01-29 0:24 ` [dpdk-dev] [PATCH v3 08/16] enic: fix re-define freebsd compile complain Cunming Liang
2015-01-29 0:24 ` [dpdk-dev] [PATCH v3 09/16] malloc: fix the issue of SOCKET_ID_ANY Cunming Liang
2015-01-29 0:24 ` [dpdk-dev] [PATCH v3 10/16] log: fix the gap to support non-EAL thread Cunming Liang
2015-01-29 0:24 ` [dpdk-dev] [PATCH v3 11/16] eal: set _lcore_id and _socket_id to (-1) by default Cunming Liang
2015-01-29 0:24 ` [dpdk-dev] [PATCH v3 12/16] eal: fix recursive spinlock in non-EAL thraed Cunming Liang
2015-01-29 0:24 ` [dpdk-dev] [PATCH v3 13/16] mempool: add support to non-EAL thread Cunming Liang
2015-01-29 0:24 ` [dpdk-dev] [PATCH v3 14/16] ring: " Cunming Liang
2015-01-29 0:24 ` [dpdk-dev] [PATCH v3 15/16] ring: add sched_yield to avoid spin forever Cunming Liang
2015-01-29 0:24 ` [dpdk-dev] [PATCH v3 16/16] timer: add support to non-EAL thread Cunming Liang
2015-02-02 2:02 ` [dpdk-dev] [PATCH v4 00/17] support multi-pthread per core Cunming Liang
2015-02-02 2:02 ` [dpdk-dev] [PATCH v4 01/17] eal: add cpuset into per EAL thread lcore_config Cunming Liang
2015-02-08 19:59 ` Olivier MATZ
2015-02-09 11:33 ` Liang, Cunming
2015-02-09 17:06 ` Olivier MATZ
2015-02-09 17:37 ` Ananyev, Konstantin
2015-02-10 0:45 ` Liang, Cunming
2015-02-02 2:02 ` [dpdk-dev] [PATCH v4 02/17] eal: new eal option '--lcores' for cpu assignment Cunming Liang
2015-02-08 19:59 ` Olivier MATZ
2015-02-09 11:45 ` Liang, Cunming
2015-02-02 2:02 ` [dpdk-dev] [PATCH v4 03/17] eal: fix wrong strnlen() return value in 32bit icc Cunming Liang
2015-02-08 19:59 ` Olivier MATZ
2015-02-09 11:57 ` Liang, Cunming
2015-02-09 17:13 ` Olivier MATZ
2015-02-10 0:54 ` Liang, Cunming
2015-02-02 2:02 ` [dpdk-dev] [PATCH v4 04/17] eal: add support parsing socket_id from cpuset Cunming Liang
2015-02-08 20:00 ` Olivier MATZ
2015-02-09 12:26 ` Liang, Cunming
2015-02-09 17:16 ` Olivier MATZ
2015-02-02 2:02 ` [dpdk-dev] [PATCH v4 05/17] eal: new TLS definition and API declaration Cunming Liang
2015-02-08 20:00 ` Olivier MATZ
2015-02-09 12:45 ` Liang, Cunming
2015-02-09 17:26 ` Olivier MATZ
2015-02-10 2:45 ` Liang, Cunming
2015-02-02 2:02 ` [dpdk-dev] [PATCH v4 06/17] eal: add eal_common_thread.c for common thread API Cunming Liang
2015-02-08 20:00 ` Olivier MATZ
2015-02-09 13:12 ` Liang, Cunming
2015-02-09 17:30 ` Olivier MATZ
2015-02-10 2:46 ` Liang, Cunming
2015-02-02 2:02 ` [dpdk-dev] [PATCH v4 07/17] eal: add rte_gettid() to acquire unique system tid Cunming Liang
2015-02-08 20:00 ` Olivier MATZ
2015-02-10 6:57 ` Liang, Cunming
2015-02-10 17:16 ` Olivier MATZ
2015-02-02 2:02 ` [dpdk-dev] [PATCH v4 08/17] eal: apply affinity of EAL thread by assigned cpuset Cunming Liang
2015-02-08 20:00 ` Olivier MATZ
2015-02-09 13:48 ` Liang, Cunming
2015-02-09 17:36 ` Olivier MATZ
2015-02-10 2:51 ` Liang, Cunming
2015-02-02 2:02 ` [dpdk-dev] [PATCH v4 09/17] enic: fix re-define freebsd compile complain Cunming Liang
2015-02-08 20:00 ` Olivier MATZ
2015-02-09 13:50 ` Liang, Cunming
2015-02-02 2:02 ` [dpdk-dev] [PATCH v4 10/17] malloc: fix the issue of SOCKET_ID_ANY Cunming Liang
2015-02-08 20:00 ` Olivier MATZ
2015-02-09 14:08 ` Liang, Cunming
2015-02-09 17:43 ` Olivier MATZ
2015-02-02 2:02 ` [dpdk-dev] [PATCH v4 11/17] log: fix the gap to support non-EAL thread Cunming Liang
2015-02-08 20:01 ` Olivier MATZ
2015-02-09 14:19 ` Liang, Cunming
2015-02-09 17:44 ` Olivier MATZ
2015-02-10 2:56 ` Liang, Cunming
2015-02-02 2:02 ` [dpdk-dev] [PATCH v4 12/17] eal: set _lcore_id and _socket_id to (-1) by default Cunming Liang
2015-02-08 20:01 ` Olivier MATZ
2015-02-09 14:24 ` Liang, Cunming
2015-02-09 17:49 ` Olivier MATZ
2015-02-10 2:53 ` Liang, Cunming
2015-02-10 11:15 ` Ananyev, Konstantin
2015-02-02 2:02 ` [dpdk-dev] [PATCH v4 13/17] eal: fix recursive spinlock in non-EAL thraed Cunming Liang
2015-02-02 2:02 ` [dpdk-dev] [PATCH v4 14/17] mempool: add support to non-EAL thread Cunming Liang
2015-02-08 20:01 ` Olivier MATZ
2015-02-09 14:41 ` Liang, Cunming
2015-02-09 17:52 ` Olivier MATZ
2015-02-10 2:57 ` Liang, Cunming
2015-02-02 2:02 ` [dpdk-dev] [PATCH v4 15/17] ring: " Cunming Liang
2015-02-02 2:02 ` [dpdk-dev] [PATCH v4 16/17] ring: add sched_yield to avoid spin forever Cunming Liang
2015-02-06 15:19 ` Olivier MATZ
2015-02-09 15:43 ` Ananyev, Konstantin
2015-02-10 16:53 ` Olivier MATZ
2015-02-02 2:02 ` [dpdk-dev] [PATCH v4 17/17] timer: add support to non-EAL thread Cunming Liang
2015-02-10 17:45 ` Olivier MATZ
2015-02-11 6:25 ` Liang, Cunming
2015-02-11 17:21 ` Olivier MATZ
2015-02-12 0:29 ` Liang, Cunming
2015-02-06 15:47 ` [dpdk-dev] [PATCH v4 00/17] support multi-pthread per core Olivier MATZ
2015-02-06 19:24 ` Robert Sanford
2015-02-06 19:59 ` Olivier MATZ
2015-02-12 8:16 ` [dpdk-dev] [PATCH v5 00/19] " Cunming Liang
2015-02-12 8:16 ` [dpdk-dev] [PATCH v5 01/19] eal: add cpuset into per EAL thread lcore_config Cunming Liang
2015-02-12 8:16 ` [dpdk-dev] [PATCH v5 02/19] eal: fix PAGE_SIZE redefine complaint on freebsd Cunming Liang
2015-02-12 8:16 ` [dpdk-dev] [PATCH v5 03/19] eal: new eal option '--lcores' for cpu assignment Cunming Liang
2015-02-12 8:16 ` [dpdk-dev] [PATCH v5 04/19] eal: fix wrong strnlen() return value in 32bit icc Cunming Liang
2015-02-12 8:16 ` [dpdk-dev] [PATCH v5 05/19] eal: add support parsing socket_id from cpuset Cunming Liang
2015-02-12 8:16 ` [dpdk-dev] [PATCH v5 06/19] eal: new TLS definition and API declaration Cunming Liang
2015-02-12 8:16 ` [dpdk-dev] [PATCH v5 07/19] eal: add eal_common_thread.c for common thread API Cunming Liang
2015-02-12 8:16 ` [dpdk-dev] [PATCH v5 08/19] eal: standardize init sequence between linux and bsd Cunming Liang
2015-02-12 8:16 ` [dpdk-dev] [PATCH v5 09/19] eal: add rte_gettid() to acquire unique system tid Cunming Liang
2015-02-12 8:16 ` [dpdk-dev] [PATCH v5 10/19] eal: apply affinity of EAL thread by assigned cpuset Cunming Liang
2015-02-12 8:16 ` [dpdk-dev] [PATCH v5 11/19] enic: fix re-define freebsd compile complain Cunming Liang
2015-02-12 8:16 ` [dpdk-dev] [PATCH v5 12/19] malloc: fix the issue of SOCKET_ID_ANY Cunming Liang
2015-02-12 8:16 ` [dpdk-dev] [PATCH v5 13/19] log: fix the gap to support non-EAL thread Cunming Liang
2015-02-12 8:16 ` [dpdk-dev] [PATCH v5 14/19] eal: set _lcore_id and _socket_id to (-1) by default Cunming Liang
2015-02-12 8:16 ` [dpdk-dev] [PATCH v5 15/19] eal: fix recursive spinlock in non-EAL thraed Cunming Liang
2015-02-12 8:16 ` [dpdk-dev] [PATCH v5 16/19] mempool: add support to non-EAL thread Cunming Liang
2015-02-12 8:16 ` [dpdk-dev] [PATCH v5 17/19] ring: " Cunming Liang
2015-02-12 8:16 ` [dpdk-dev] [PATCH v5 18/19] ring: add sched_yield to avoid spin forever Cunming Liang
2015-02-12 11:16 ` Olivier MATZ
2015-02-12 13:05 ` Liang, Cunming
2015-02-12 13:08 ` Ananyev, Konstantin
2015-02-12 13:11 ` Bruce Richardson
2015-02-12 8:16 ` [dpdk-dev] [PATCH v5 19/19] timer: add support to non-EAL thread Cunming Liang
2015-02-12 13:54 ` Ananyev, Konstantin
2015-02-13 0:55 ` Liang, Cunming
2015-02-13 9:57 ` Olivier MATZ
2015-02-13 1:38 ` [dpdk-dev] [PATCH v6 00/19] support multi-pthread per core Cunming Liang
2015-02-13 1:38 ` [dpdk-dev] [PATCH v6 01/19] eal: add cpuset into per EAL thread lcore_config Cunming Liang
2015-02-13 1:38 ` [dpdk-dev] [PATCH v6 02/19] eal: fix PAGE_SIZE redefine complaint on freebsd Cunming Liang
2015-02-13 1:38 ` [dpdk-dev] [PATCH v6 03/19] eal: new eal option '--lcores' for cpu assignment Cunming Liang
2015-02-13 1:38 ` [dpdk-dev] [PATCH v6 04/19] eal: fix wrong strnlen() return value in 32bit icc Cunming Liang
2015-02-13 13:49 ` Neil Horman
2015-02-13 14:05 ` Olivier MATZ
2015-02-13 17:55 ` Neil Horman
2015-02-13 18:11 ` Ananyev, Konstantin
2015-02-13 20:21 ` Neil Horman
2015-02-15 1:32 ` Liang, Cunming
2015-02-16 14:47 ` Olivier MATZ
2015-02-13 1:38 ` [dpdk-dev] [PATCH v6 05/19] eal: add support parsing socket_id from cpuset Cunming Liang
2015-02-13 13:51 ` Neil Horman
2015-02-15 1:16 ` Liang, Cunming
2015-02-13 1:38 ` [dpdk-dev] [PATCH v6 06/19] eal: new TLS definition and API declaration Cunming Liang
2015-02-13 13:58 ` Neil Horman
2015-02-15 1:13 ` Liang, Cunming
2015-02-15 5:17 ` Neil Horman
2015-02-15 6:01 ` Liang, Cunming
2015-02-13 1:38 ` [dpdk-dev] [PATCH v6 07/19] eal: add eal_common_thread.c for common thread API Cunming Liang
2015-02-13 1:38 ` [dpdk-dev] [PATCH v6 08/19] eal: standardize init sequence between linux and bsd Cunming Liang
2015-02-13 1:38 ` [dpdk-dev] [PATCH v6 09/19] eal: add rte_gettid() to acquire unique system tid Cunming Liang
2015-02-13 1:38 ` [dpdk-dev] [PATCH v6 10/19] eal: apply affinity of EAL thread by assigned cpuset Cunming Liang
2015-02-13 1:38 ` [dpdk-dev] [PATCH v6 11/19] enic: fix re-define freebsd compile complain Cunming Liang
2015-02-13 1:38 ` [dpdk-dev] [PATCH v6 12/19] malloc: fix the issue of SOCKET_ID_ANY Cunming Liang
2015-02-13 17:57 ` Neil Horman
2015-02-15 0:43 ` Liang, Cunming
2015-02-15 14:09 ` Neil Horman
2015-02-16 1:55 ` Liang, Cunming
2015-02-13 1:38 ` [dpdk-dev] [PATCH v6 13/19] log: fix the gap to support non-EAL thread Cunming Liang
2015-02-13 1:38 ` [dpdk-dev] [PATCH v6 14/19] eal: set _lcore_id and _socket_id to (-1) by default Cunming Liang
2015-02-13 1:38 ` [dpdk-dev] [PATCH v6 15/19] eal: fix recursive spinlock in non-EAL thraed Cunming Liang
2015-02-13 1:38 ` [dpdk-dev] [PATCH v6 16/19] mempool: add support to non-EAL thread Cunming Liang
2015-02-13 1:38 ` [dpdk-dev] [PATCH v6 17/19] ring: " Cunming Liang
2015-02-13 1:38 ` [dpdk-dev] [PATCH v6 18/19] ring: add sched_yield to avoid spin forever Cunming Liang
2015-02-13 1:38 ` [dpdk-dev] [PATCH v6 19/19] timer: add support to non-EAL thread Cunming Liang
2015-02-13 10:06 ` [dpdk-dev] [PATCH v6 00/19] support multi-pthread per core Olivier MATZ
2015-02-15 1:44 ` Liang, Cunming
2015-02-13 10:10 ` Ananyev, Konstantin
2015-02-15 3:15 ` [dpdk-dev] [PATCH v7 " Cunming Liang
2015-02-15 3:15 ` [dpdk-dev] [PATCH v7 01/19] eal: add cpuset into per EAL thread lcore_config Cunming Liang
2015-02-15 3:15 ` [dpdk-dev] [PATCH v7 02/19] eal: fix PAGE_SIZE redefine complaint on freebsd Cunming Liang
2015-02-15 3:15 ` [dpdk-dev] [PATCH v7 03/19] eal: new eal option '--lcores' for cpu assignment Cunming Liang
2015-02-15 3:15 ` [dpdk-dev] [PATCH v7 04/19] eal: fix wrong strnlen() return value in 32bit icc Cunming Liang
2015-02-16 14:51 ` Olivier MATZ
2015-02-17 1:29 ` Liang, Cunming
2015-02-15 3:15 ` [dpdk-dev] [PATCH v7 05/19] eal: add public function parsing socket_id from cpuid Cunming Liang
2015-02-15 3:15 ` [dpdk-dev] [PATCH v7 06/19] eal: new TLS definition and API declaration Cunming Liang
2015-02-15 3:15 ` [dpdk-dev] [PATCH v7 07/19] eal: add eal_common_thread.c for common thread API Cunming Liang
2015-02-15 3:15 ` [dpdk-dev] [PATCH v7 08/19] eal: standardize init sequence between linux and bsd Cunming Liang
2015-02-15 3:15 ` [dpdk-dev] [PATCH v7 09/19] eal: add rte_gettid() to acquire unique system tid Cunming Liang
2015-02-15 3:15 ` [dpdk-dev] [PATCH v7 10/19] eal: apply affinity of EAL thread by assigned cpuset Cunming Liang
2015-02-15 3:15 ` [dpdk-dev] [PATCH v7 11/19] enic: fix re-define freebsd compile complain Cunming Liang
2015-02-15 3:15 ` [dpdk-dev] [PATCH v7 12/19] malloc: fix the issue of SOCKET_ID_ANY Cunming Liang
2015-02-15 3:15 ` [dpdk-dev] [PATCH v7 13/19] log: fix the gap to support non-EAL thread Cunming Liang
2015-02-15 3:15 ` [dpdk-dev] [PATCH v7 14/19] eal: set _lcore_id and _socket_id to (-1) by default Cunming Liang
2015-02-15 3:15 ` [dpdk-dev] [PATCH v7 15/19] eal: fix recursive spinlock in non-EAL thraed Cunming Liang
2015-02-15 3:15 ` [dpdk-dev] [PATCH v7 16/19] mempool: add support to non-EAL thread Cunming Liang
2015-02-15 3:15 ` [dpdk-dev] [PATCH v7 17/19] ring: " Cunming Liang
2015-02-15 3:15 ` [dpdk-dev] [PATCH v7 18/19] ring: add sched_yield to avoid spin forever Cunming Liang
2015-02-15 3:15 ` [dpdk-dev] [PATCH v7 19/19] timer: add support to non-EAL thread Cunming Liang
2015-02-17 2:07 ` [dpdk-dev] [PATCH v8 00/19] support multi-pthread per core Cunming Liang
2015-02-17 2:07 ` [dpdk-dev] [PATCH v8 01/19] eal: add cpuset into per EAL thread lcore_config Cunming Liang
2015-02-17 2:07 ` [dpdk-dev] [PATCH v8 02/19] eal: fix PAGE_SIZE redefine complaint on freebsd Cunming Liang
2015-02-17 2:08 ` [dpdk-dev] [PATCH v8 03/19] eal: new eal option '--lcores' for cpu assignment Cunming Liang
2015-02-17 2:08 ` [dpdk-dev] [PATCH v8 04/19] eal: fix wrong strnlen() return value in 32bit icc Cunming Liang
2015-02-17 2:08 ` [dpdk-dev] [PATCH v8 05/19] eal: add public function parsing socket_id from cpu_id Cunming Liang
2015-02-17 2:08 ` [dpdk-dev] [PATCH v8 06/19] eal: new TLS definition and API declaration Cunming Liang
2015-02-17 2:08 ` [dpdk-dev] [PATCH v8 07/19] eal: add eal_common_thread.c for common thread API Cunming Liang
2015-02-17 2:08 ` [dpdk-dev] [PATCH v8 08/19] eal: standardize init sequence between linux and bsd Cunming Liang
2015-02-17 2:08 ` [dpdk-dev] [PATCH v8 09/19] eal: add rte_gettid() to acquire unique system tid Cunming Liang
2015-02-17 2:08 ` [dpdk-dev] [PATCH v8 10/19] eal: apply affinity of EAL thread by assigned cpuset Cunming Liang
2015-02-17 2:08 ` [dpdk-dev] [PATCH v8 11/19] enic: fix re-define freebsd compile complain Cunming Liang
2015-02-17 2:08 ` [dpdk-dev] [PATCH v8 12/19] malloc: fix the issue of SOCKET_ID_ANY Cunming Liang
2015-02-17 2:08 ` [dpdk-dev] [PATCH v8 13/19] log: fix the gap to support non-EAL thread Cunming Liang
2015-02-17 2:08 ` [dpdk-dev] [PATCH v8 14/19] eal: set _lcore_id and _socket_id to (-1) by default Cunming Liang
2015-02-17 2:08 ` [dpdk-dev] [PATCH v8 15/19] eal: fix recursive spinlock in non-EAL thraed Cunming Liang
2015-02-17 2:08 ` [dpdk-dev] [PATCH v8 16/19] mempool: add support to non-EAL thread Cunming Liang
2015-02-17 2:08 ` [dpdk-dev] [PATCH v8 17/19] ring: " Cunming Liang
2015-02-17 2:08 ` [dpdk-dev] [PATCH v8 18/19] ring: add sched_yield to avoid spin forever Cunming Liang
2015-02-17 2:08 ` Cunming Liang [this message]
2015-02-17 10:19 ` [dpdk-dev] [PATCH v8 00/19] support multi-pthread per core Ananyev, Konstantin
2015-02-24 18:53 ` Thomas Monjalon
2015-02-25 1:25 ` Liang, Cunming
2015-02-17 2:20 ` [dpdk-dev] [PATCH v7 " Wan, Qun
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=1424138896-28618-20-git-send-email-cunming.liang@intel.com \
--to=cunming.liang@intel.com \
--cc=dev@dpdk.org \
/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).