Message ID | 1422842559-13617-13-git-send-email-cunming.liang@intel.com (mailing list archive) |
---|---|
State | Superseded, archived |
Headers |
Return-Path: <dev-bounces@dpdk.org> X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id 3FAC83790; Mon, 2 Feb 2015 03:03:45 +0100 (CET) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by dpdk.org (Postfix) with ESMTP id C0C9A3777 for <dev@dpdk.org>; Mon, 2 Feb 2015 03:03:43 +0100 (CET) Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga103.jf.intel.com with ESMTP; 01 Feb 2015 17:58:48 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.09,503,1418112000"; d="scan'208";a="671241960" Received: from shvmail01.sh.intel.com ([10.239.29.42]) by fmsmga002.fm.intel.com with ESMTP; 01 Feb 2015 18:03:20 -0800 Received: from shecgisg004.sh.intel.com (shecgisg004.sh.intel.com [10.239.29.89]) by shvmail01.sh.intel.com with ESMTP id t1223HPW014546; Mon, 2 Feb 2015 10:03:17 +0800 Received: from shecgisg004.sh.intel.com (localhost [127.0.0.1]) by shecgisg004.sh.intel.com (8.13.6/8.13.6/SuSE Linux 0.8) with ESMTP id t1223Dem013756; Mon, 2 Feb 2015 10:03:15 +0800 Received: (from cliang18@localhost) by shecgisg004.sh.intel.com (8.13.6/8.13.6/Submit) id t1223Dns013752; Mon, 2 Feb 2015 10:03:13 +0800 From: Cunming Liang <cunming.liang@intel.com> To: dev@dpdk.org Date: Mon, 2 Feb 2015 10:02:34 +0800 Message-Id: <1422842559-13617-13-git-send-email-cunming.liang@intel.com> X-Mailer: git-send-email 1.7.4.1 In-Reply-To: <1422842559-13617-1-git-send-email-cunming.liang@intel.com> References: <1422491072-5114-1-git-send-email-cunming.liang@intel.com> <1422842559-13617-1-git-send-email-cunming.liang@intel.com> Subject: [dpdk-dev] [PATCH v4 12/17] eal: set _lcore_id and _socket_id to (-1) by default X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK <dev.dpdk.org> List-Unsubscribe: <http://dpdk.org/ml/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://dpdk.org/ml/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <http://dpdk.org/ml/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org Sender: "dev" <dev-bounces@dpdk.org> |
Commit Message
Cunming Liang
Feb. 2, 2015, 2:02 a.m. UTC
For those none EAL thread, *_lcore_id* shall always be LCORE_ID_ANY.
The libraries using *_lcore_id* as index need to take care.
*_socket_id* always be SOCKET_ID_ANY unitl the thread changes the affinity
by rte_thread_set_affinity()
Signed-off-by: Cunming Liang <cunming.liang@intel.com>
---
lib/librte_eal/bsdapp/eal/eal_thread.c | 4 ++--
lib/librte_eal/linuxapp/eal/eal_thread.c | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
Comments
Hi, On 02/02/2015 03:02 AM, Cunming Liang wrote: > For those none EAL thread, *_lcore_id* shall always be LCORE_ID_ANY. > The libraries using *_lcore_id* as index need to take care. > *_socket_id* always be SOCKET_ID_ANY unitl the thread changes the affinity unitl -> until > by rte_thread_set_affinity() > > Signed-off-by: Cunming Liang <cunming.liang@intel.com> > --- > lib/librte_eal/bsdapp/eal/eal_thread.c | 4 ++-- > lib/librte_eal/linuxapp/eal/eal_thread.c | 4 ++-- > 2 files changed, 4 insertions(+), 4 deletions(-) > > diff --git a/lib/librte_eal/bsdapp/eal/eal_thread.c b/lib/librte_eal/bsdapp/eal/eal_thread.c > index 5b16302..2b3c9a8 100644 > --- a/lib/librte_eal/bsdapp/eal/eal_thread.c > +++ b/lib/librte_eal/bsdapp/eal/eal_thread.c > @@ -56,8 +56,8 @@ > #include "eal_private.h" > #include "eal_thread.h" > > -RTE_DEFINE_PER_LCORE(unsigned, _lcore_id); > -RTE_DEFINE_PER_LCORE(unsigned, _socket_id); > +RTE_DEFINE_PER_LCORE(unsigned, _lcore_id) = (unsigned)LCORE_ID_ANY; > +RTE_DEFINE_PER_LCORE(unsigned, _socket_id) = (unsigned)SOCKET_ID_ANY; > RTE_DEFINE_PER_LCORE(rte_cpuset_t, _cpuset); > > /* > diff --git a/lib/librte_eal/linuxapp/eal/eal_thread.c b/lib/librte_eal/linuxapp/eal/eal_thread.c > index 6eb1525..ab94e20 100644 > --- a/lib/librte_eal/linuxapp/eal/eal_thread.c > +++ b/lib/librte_eal/linuxapp/eal/eal_thread.c > @@ -57,8 +57,8 @@ > #include "eal_private.h" > #include "eal_thread.h" > > -RTE_DEFINE_PER_LCORE(unsigned, _lcore_id); > -RTE_DEFINE_PER_LCORE(unsigned, _socket_id); > +RTE_DEFINE_PER_LCORE(unsigned, _lcore_id) = (unsigned)LCORE_ID_ANY; > +RTE_DEFINE_PER_LCORE(unsigned, _socket_id) = (unsigned)SOCKET_ID_ANY; > RTE_DEFINE_PER_LCORE(rte_cpuset_t, _cpuset); As far as I understand, now a rte_lcore_id() can return LCORE_ID_ANY. This should be modified in the rte_lcore_id() API comments. Same for rte_socket_id(). I also wonder if the API of these functions should be modified to return an int instead of an unsigned as LCORE_ID_ANY is -1. Regards, Olivier
> -----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 12/17] eal: set _lcore_id and _socket_id to (-1) > by default > > Hi, > > On 02/02/2015 03:02 AM, Cunming Liang wrote: > > For those none EAL thread, *_lcore_id* shall always be LCORE_ID_ANY. > > The libraries using *_lcore_id* as index need to take care. > > *_socket_id* always be SOCKET_ID_ANY unitl the thread changes the affinity > > unitl -> until [LCM] accept. > > > by rte_thread_set_affinity() > > > > Signed-off-by: Cunming Liang <cunming.liang@intel.com> > > --- > > lib/librte_eal/bsdapp/eal/eal_thread.c | 4 ++-- > > lib/librte_eal/linuxapp/eal/eal_thread.c | 4 ++-- > > 2 files changed, 4 insertions(+), 4 deletions(-) > > > > diff --git a/lib/librte_eal/bsdapp/eal/eal_thread.c > b/lib/librte_eal/bsdapp/eal/eal_thread.c > > index 5b16302..2b3c9a8 100644 > > --- a/lib/librte_eal/bsdapp/eal/eal_thread.c > > +++ b/lib/librte_eal/bsdapp/eal/eal_thread.c > > @@ -56,8 +56,8 @@ > > #include "eal_private.h" > > #include "eal_thread.h" > > > > -RTE_DEFINE_PER_LCORE(unsigned, _lcore_id); > > -RTE_DEFINE_PER_LCORE(unsigned, _socket_id); > > +RTE_DEFINE_PER_LCORE(unsigned, _lcore_id) = (unsigned)LCORE_ID_ANY; > > +RTE_DEFINE_PER_LCORE(unsigned, _socket_id) = (unsigned)SOCKET_ID_ANY; > > RTE_DEFINE_PER_LCORE(rte_cpuset_t, _cpuset); > > > > /* > > diff --git a/lib/librte_eal/linuxapp/eal/eal_thread.c > b/lib/librte_eal/linuxapp/eal/eal_thread.c > > index 6eb1525..ab94e20 100644 > > --- a/lib/librte_eal/linuxapp/eal/eal_thread.c > > +++ b/lib/librte_eal/linuxapp/eal/eal_thread.c > > @@ -57,8 +57,8 @@ > > #include "eal_private.h" > > #include "eal_thread.h" > > > > -RTE_DEFINE_PER_LCORE(unsigned, _lcore_id); > > -RTE_DEFINE_PER_LCORE(unsigned, _socket_id); > > +RTE_DEFINE_PER_LCORE(unsigned, _lcore_id) = (unsigned)LCORE_ID_ANY; > > +RTE_DEFINE_PER_LCORE(unsigned, _socket_id) = (unsigned)SOCKET_ID_ANY; > > RTE_DEFINE_PER_LCORE(rte_cpuset_t, _cpuset); > > As far as I understand, now a rte_lcore_id() can return LCORE_ID_ANY. > This should be modified in the rte_lcore_id() API comments. > > Same for rte_socket_id(). [LCM] accept. > > I also wonder if the API of these functions should be modified to > return an int instead of an unsigned as LCORE_ID_ANY is -1. [LCM] I prefer not change the API definition. (unsigned)LCORE_ID_ANY already used before. > > Regards, > Olivier
Hi, On 02/09/2015 03:24 PM, Liang, Cunming wrote: >>> --- a/lib/librte_eal/linuxapp/eal/eal_thread.c >>> +++ b/lib/librte_eal/linuxapp/eal/eal_thread.c >>> @@ -57,8 +57,8 @@ >>> #include "eal_private.h" >>> #include "eal_thread.h" >>> >>> -RTE_DEFINE_PER_LCORE(unsigned, _lcore_id); >>> -RTE_DEFINE_PER_LCORE(unsigned, _socket_id); >>> +RTE_DEFINE_PER_LCORE(unsigned, _lcore_id) = (unsigned)LCORE_ID_ANY; >>> +RTE_DEFINE_PER_LCORE(unsigned, _socket_id) = (unsigned)SOCKET_ID_ANY; >>> RTE_DEFINE_PER_LCORE(rte_cpuset_t, _cpuset); >> >> As far as I understand, now a rte_lcore_id() can return LCORE_ID_ANY. >> This should be modified in the rte_lcore_id() API comments. >> >> Same for rte_socket_id(). > [LCM] accept. >> >> I also wonder if the API of these functions should be modified to >> return an int instead of an unsigned as LCORE_ID_ANY is -1. > [LCM] I prefer not change the API definition. (unsigned)LCORE_ID_ANY already used before. OK And what about directly defining the following? #define LCORE_ID_ANY ((unsigned)-1) It would avoid the casts.
> -----Original Message----- > From: Olivier MATZ [mailto:olivier.matz@6wind.com] > Sent: Tuesday, February 10, 2015 1:49 AM > To: Liang, Cunming; dev@dpdk.org > Subject: Re: [dpdk-dev] [PATCH v4 12/17] eal: set _lcore_id and _socket_id to (-1) > by default > > Hi, > > On 02/09/2015 03:24 PM, Liang, Cunming wrote: > >>> --- a/lib/librte_eal/linuxapp/eal/eal_thread.c > >>> +++ b/lib/librte_eal/linuxapp/eal/eal_thread.c > >>> @@ -57,8 +57,8 @@ > >>> #include "eal_private.h" > >>> #include "eal_thread.h" > >>> > >>> -RTE_DEFINE_PER_LCORE(unsigned, _lcore_id); > >>> -RTE_DEFINE_PER_LCORE(unsigned, _socket_id); > >>> +RTE_DEFINE_PER_LCORE(unsigned, _lcore_id) = (unsigned)LCORE_ID_ANY; > >>> +RTE_DEFINE_PER_LCORE(unsigned, _socket_id) = > (unsigned)SOCKET_ID_ANY; > >>> RTE_DEFINE_PER_LCORE(rte_cpuset_t, _cpuset); > >> > >> As far as I understand, now a rte_lcore_id() can return LCORE_ID_ANY. > >> This should be modified in the rte_lcore_id() API comments. > >> > >> Same for rte_socket_id(). > > [LCM] accept. > >> > >> I also wonder if the API of these functions should be modified to > >> return an int instead of an unsigned as LCORE_ID_ANY is -1. > > [LCM] I prefer not change the API definition. (unsigned)LCORE_ID_ANY already > used before. > > OK > > And what about directly defining the following? > > #define LCORE_ID_ANY ((unsigned)-1) > > > It would avoid the casts. [LCM] Good point, will update it.
> -----Original Message----- > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Liang, Cunming > Sent: Tuesday, February 10, 2015 2:54 AM > To: Olivier MATZ; dev@dpdk.org > Subject: Re: [dpdk-dev] [PATCH v4 12/17] eal: set _lcore_id and _socket_id to (-1) by default > > > > > -----Original Message----- > > From: Olivier MATZ [mailto:olivier.matz@6wind.com] > > Sent: Tuesday, February 10, 2015 1:49 AM > > To: Liang, Cunming; dev@dpdk.org > > Subject: Re: [dpdk-dev] [PATCH v4 12/17] eal: set _lcore_id and _socket_id to (-1) > > by default > > > > Hi, > > > > On 02/09/2015 03:24 PM, Liang, Cunming wrote: > > >>> --- a/lib/librte_eal/linuxapp/eal/eal_thread.c > > >>> +++ b/lib/librte_eal/linuxapp/eal/eal_thread.c > > >>> @@ -57,8 +57,8 @@ > > >>> #include "eal_private.h" > > >>> #include "eal_thread.h" > > >>> > > >>> -RTE_DEFINE_PER_LCORE(unsigned, _lcore_id); > > >>> -RTE_DEFINE_PER_LCORE(unsigned, _socket_id); > > >>> +RTE_DEFINE_PER_LCORE(unsigned, _lcore_id) = (unsigned)LCORE_ID_ANY; > > >>> +RTE_DEFINE_PER_LCORE(unsigned, _socket_id) = > > (unsigned)SOCKET_ID_ANY; > > >>> RTE_DEFINE_PER_LCORE(rte_cpuset_t, _cpuset); > > >> > > >> As far as I understand, now a rte_lcore_id() can return LCORE_ID_ANY. > > >> This should be modified in the rte_lcore_id() API comments. > > >> > > >> Same for rte_socket_id(). > > > [LCM] accept. > > >> > > >> I also wonder if the API of these functions should be modified to > > >> return an int instead of an unsigned as LCORE_ID_ANY is -1. > > > [LCM] I prefer not change the API definition. (unsigned)LCORE_ID_ANY already > > used before. > > > > OK > > > > And what about directly defining the following? > > > > #define LCORE_ID_ANY ((unsigned)-1) > > > > > > It would avoid the casts. > [LCM] Good point, will update it. UINT32_MAX ?
diff --git a/lib/librte_eal/bsdapp/eal/eal_thread.c b/lib/librte_eal/bsdapp/eal/eal_thread.c index 5b16302..2b3c9a8 100644 --- a/lib/librte_eal/bsdapp/eal/eal_thread.c +++ b/lib/librte_eal/bsdapp/eal/eal_thread.c @@ -56,8 +56,8 @@ #include "eal_private.h" #include "eal_thread.h" -RTE_DEFINE_PER_LCORE(unsigned, _lcore_id); -RTE_DEFINE_PER_LCORE(unsigned, _socket_id); +RTE_DEFINE_PER_LCORE(unsigned, _lcore_id) = (unsigned)LCORE_ID_ANY; +RTE_DEFINE_PER_LCORE(unsigned, _socket_id) = (unsigned)SOCKET_ID_ANY; RTE_DEFINE_PER_LCORE(rte_cpuset_t, _cpuset); /* diff --git a/lib/librte_eal/linuxapp/eal/eal_thread.c b/lib/librte_eal/linuxapp/eal/eal_thread.c index 6eb1525..ab94e20 100644 --- a/lib/librte_eal/linuxapp/eal/eal_thread.c +++ b/lib/librte_eal/linuxapp/eal/eal_thread.c @@ -57,8 +57,8 @@ #include "eal_private.h" #include "eal_thread.h" -RTE_DEFINE_PER_LCORE(unsigned, _lcore_id); -RTE_DEFINE_PER_LCORE(unsigned, _socket_id); +RTE_DEFINE_PER_LCORE(unsigned, _lcore_id) = (unsigned)LCORE_ID_ANY; +RTE_DEFINE_PER_LCORE(unsigned, _socket_id) = (unsigned)SOCKET_ID_ANY; RTE_DEFINE_PER_LCORE(rte_cpuset_t, _cpuset); /*