From: Olivier MATZ <olivier.matz@6wind.com>
To: "Liang, Cunming" <cunming.liang@intel.com>,
"dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] [PATCH v4 08/17] eal: apply affinity of EAL thread by assigned cpuset
Date: Mon, 09 Feb 2015 18:36:43 +0100 [thread overview]
Message-ID: <54D8F02B.20400@6wind.com> (raw)
In-Reply-To: <D0158A423229094DA7ABF71CF2FA0DA3118D7E4A@shsmsx102.ccr.corp.intel.com>
Hi,
On 02/09/2015 02:48 PM, Liang, Cunming wrote:
>> -----Original Message-----
>> From: Olivier MATZ [mailto:olivier.matz@6wind.com]
>> Sent: Monday, February 09, 2015 4:01 AM
>> To: Liang, Cunming; dev@dpdk.org
>> Subject: Re: [dpdk-dev] [PATCH v4 08/17] eal: apply affinity of EAL thread by
>> assigned cpuset
>>
>> Hi,
>>
>> On 02/02/2015 03:02 AM, Cunming Liang wrote:
>>> EAL threads use assigned cpuset to set core affinity during startup.
>>> It keeps 1:1 mapping, if no '--lcores' option is used.
>>>
>>> [...]
>>>
>>> lib/librte_eal/bsdapp/eal/eal.c | 13 ++++---
>>> lib/librte_eal/bsdapp/eal/eal_thread.c | 63 +++++++++---------------------
>>> lib/librte_eal/linuxapp/eal/eal.c | 7 +++-
>>> lib/librte_eal/linuxapp/eal/eal_thread.c | 67 +++++++++++---------------------
>>> 4 files changed, 54 insertions(+), 96 deletions(-)
>>>
>>> diff --git a/lib/librte_eal/bsdapp/eal/eal.c b/lib/librte_eal/bsdapp/eal/eal.c
>>> index 69f3c03..98c5a83 100644
>>> --- a/lib/librte_eal/bsdapp/eal/eal.c
>>> +++ b/lib/librte_eal/bsdapp/eal/eal.c
>>> @@ -432,6 +432,7 @@ rte_eal_init(int argc, char **argv)
>>> int i, fctret, ret;
>>> pthread_t thread_id;
>>> static rte_atomic32_t run_once = RTE_ATOMIC32_INIT(0);
>>> + char cpuset[CPU_STR_LEN];
>>>
>>> if (!rte_atomic32_test_and_set(&run_once))
>>> return -1;
>>> @@ -502,13 +503,17 @@ rte_eal_init(int argc, char **argv)
>>> if (rte_eal_pci_init() < 0)
>>> rte_panic("Cannot init PCI\n");
>>>
>>> - RTE_LOG(DEBUG, EAL, "Master core %u is ready (tid=%p)\n",
>>> - rte_config.master_lcore, thread_id);
>>> -
>>> eal_check_mem_on_local_socket();
>>>
>>> rte_eal_mcfg_complete();
>>>
>>> + eal_thread_init_master(rte_config.master_lcore);
>>> +
>>> + eal_thread_dump_affinity(cpuset, CPU_STR_LEN);
>>> +
>>> + RTE_LOG(DEBUG, EAL, "Master lcore %u is ready (tid=%p;cpuset=[%s])\n",
>>> + rte_config.master_lcore, thread_id, cpuset);
>>> +
>>> if (rte_eal_dev_init() < 0)
>>> rte_panic("Cannot init pmd devices\n");
>>>
>>> @@ -532,8 +537,6 @@ rte_eal_init(int argc, char **argv)
>>> rte_panic("Cannot create thread\n");
>>> }
>>>
>>> - eal_thread_init_master(rte_config.master_lcore);
>>> -
>>> /*
>>> * Launch a dummy function on all slave lcores, so that master lcore
>>> * knows they are all ready when this function returns.
>>
>> I wonder if changing this may have an impact on third-party drivers
>> that already use a management thread. Before the patch, the init()
>> function of the external library was called with default affinities,
>> and now it's called with the affinity from master lcore.
>>
>> I think it should at least be noticed in the commit log.
>>
>> Why are you doing this change? (I don't say it's a bad change, but
>> I don't understand why you are doing it here)
> [LCM] To be honest, the main purpose is I don't found any reason to have linuxapp and freebsdapp in different init sequence.
> I means in linux it init_master before dev_init(), but in freebsd it reverse.
I agree that's something we should fix.
> And as the default value of TLS already changes, if dev_init() first and using those TLS, the result will be not in an EAL thread.
> But actually they're in the EAL master thread. So I prefer to do the change follows linuxapp sequence.
That makes sense. Is it possible to have this reordering in a separate
patch? The title could be
"eal: standardize init sequence between linux and bsd"
>>
>>
>>> diff --git a/lib/librte_eal/bsdapp/eal/eal_thread.c
>> b/lib/librte_eal/bsdapp/eal/eal_thread.c
>>> index d0c077b..5b16302 100644
>>> --- a/lib/librte_eal/bsdapp/eal/eal_thread.c
>>> +++ b/lib/librte_eal/bsdapp/eal/eal_thread.c
>>> @@ -103,55 +103,27 @@ eal_thread_set_affinity(void)
>>> {
>>> int s;
>>> pthread_t thread;
>>> -
>>> -/*
>>> - * According to the section VERSIONS of the CPU_ALLOC man page:
>>> - *
>>> - * The CPU_ZERO(), CPU_SET(), CPU_CLR(), and CPU_ISSET() macros were
>> added
>>> - * in glibc 2.3.3.
>>> - *
>>> - * CPU_COUNT() first appeared in glibc 2.6.
>>> - *
>>> - * CPU_AND(), CPU_OR(), CPU_XOR(), CPU_EQUAL(),
>> CPU_ALLOC(),
>>> - * CPU_ALLOC_SIZE(), CPU_FREE(), CPU_ZERO_S(), CPU_SET_S(),
>> CPU_CLR_S(),
>>> - * CPU_ISSET_S(), CPU_AND_S(), CPU_OR_S(), CPU_XOR_S(), and
>> CPU_EQUAL_S()
>>> - * first appeared in glibc 2.7.
>>> - */
>>> -#if defined(CPU_ALLOC)
>>> - size_t size;
>>> - cpu_set_t *cpusetp;
>>> -
>>> - cpusetp = CPU_ALLOC(RTE_MAX_LCORE);
>>> - if (cpusetp == NULL) {
>>> - RTE_LOG(ERR, EAL, "CPU_ALLOC failed\n");
>>> - return -1;
>>> - }
>>> -
>>> - size = CPU_ALLOC_SIZE(RTE_MAX_LCORE);
>>> - CPU_ZERO_S(size, cpusetp);
>>> - CPU_SET_S(rte_lcore_id(), size, cpusetp);
>>> + unsigned lcore_id = rte_lcore_id();
>>>
>>> thread = pthread_self();
>>> - s = pthread_setaffinity_np(thread, size, cpusetp);
>>> + s = pthread_setaffinity_np(thread, sizeof(cpuset_t),
>>> + &lcore_config[lcore_id].cpuset);
>>> if (s != 0) {
>>> RTE_LOG(ERR, EAL, "pthread_setaffinity_np failed\n");
>>> - CPU_FREE(cpusetp);
>>> return -1;
>>> }
>>>
>>> - CPU_FREE(cpusetp);
>>> -#else /* CPU_ALLOC */
>>> - cpuset_t cpuset;
>>> - CPU_ZERO( &cpuset );
>>> - CPU_SET( rte_lcore_id(), &cpuset );
>>> + /* acquire system unique id */
>>> + rte_gettid();
>>
>> As suggested in the previous patch, I think having rte_init_tid() would
>> be clearer here.
> [LCM] Sorry, I didn't get your [PATCH v4 07/17] comments, probably the mailbox issue.
> Do you suggest to have a rte_init_tid() but not do syscall on the first time ?
> Any benefit, rte_gettid() looks like more simple and straight forward.
I think the mail was properly sent, you can see it here:
http://dpdk.org/ml/archives/dev/2015-February/012556.html
Usually, "get" functions return a value and have no side effects.
"init" functions return nothing (or an error code) but have a
side effect which is to initialize an internal state.
>>> +
>>> + /* store socket_id in TLS for quick access */
>>> + RTE_PER_LCORE(_socket_id) =
>>> + eal_cpuset_socket_id(&lcore_config[lcore_id].cpuset);
>>> +
>>> + CPU_COPY(&lcore_config[lcore_id].cpuset, &RTE_PER_LCORE(_cpuset));
>>> +
>>> + lcore_config[lcore_id].socket_id = RTE_PER_LCORE(_socket_id);
>>>
>>> - thread = pthread_self();
>>> - s = pthread_setaffinity_np(thread, sizeof( cpuset ), &cpuset);
>>> - if (s != 0) {
>>> - RTE_LOG(ERR, EAL, "pthread_setaffinity_np failed\n");
>>> - return -1;
>>> - }
>>> -#endif
>>
>> You are removing a lot of code that was using CPU_ALLOC().
>> Are we sure that the cpuset_t type is large enough to store all the
>> CPUs?
>>
>> It looks the current value of CPU_SETSIZE is 1024 now, but I wonder
>> if this code was written when this value was lower. Could you check if
>> it can happen today (maybe with an old libc)? A problem can occur if
>> the size of cpuset_t is lower that the size of RTE_MAX_LCORE.
> [LCM] I found actually the MACRO is not just for support CPU_ALLOC(), but for linux or freebsd.
> In freebsdapp, there's no CPU_ALLOC defined, it use fixed width *cpuset_t*.
> In linuxapp, there's CPU_ALLOC defined, it use cpu_set_t* and dynamic CPU_ALLOC(RTE_MAX_LCORE).
> But actually RTE_MAX_LCORE < 1024(sizeof(cpu_set_t)).
> After using rte_cpuset_t, there's no additional reason to use CPU_ALLOC only for linuxapp and choose a small but dynamic width.
I did a quick search on google, and it seems CPU_SETSIZE is 1024
for a long time. So you are right, there is probably no reason to
keep CPU_ALLOC(). As I said in a previous mail, it could be useful
in the future when the number of CPUs will reach 1024, but we have
some time to handle this.
next prev parent reply other threads:[~2015-02-09 17:36 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 [this message]
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 ` [dpdk-dev] [PATCH v8 19/19] timer: add support to non-EAL thread Cunming Liang
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=54D8F02B.20400@6wind.com \
--to=olivier.matz@6wind.com \
--cc=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).