Message ID | 1411724186-8036-10-git-send-email-bjzhuc@cn.ibm.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 095757E48; Fri, 26 Sep 2014 11:30:29 +0200 (CEST) Received: from e8.ny.us.ibm.com (e8.ny.us.ibm.com [32.97.182.138]) by dpdk.org (Postfix) with ESMTP id 9BAB37E28 for <dev@dpdk.org>; Fri, 26 Sep 2014 11:30:21 +0200 (CEST) Received: from /spool/local by e8.ny.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for <dev@dpdk.org> from <bjzhuc@cn.ibm.com>; Fri, 26 Sep 2014 05:36:42 -0400 Received: from d01dlp02.pok.ibm.com (9.56.250.167) by e8.ny.us.ibm.com (192.168.1.108) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; Fri, 26 Sep 2014 05:36:41 -0400 Received: from b01cxnp22035.gho.pok.ibm.com (b01cxnp22035.gho.pok.ibm.com [9.57.198.25]) by d01dlp02.pok.ibm.com (Postfix) with ESMTP id CEFDE6E8028 for <dev@dpdk.org>; Fri, 26 Sep 2014 05:25:25 -0400 (EDT) Received: from d01av05.pok.ibm.com (d01av05.pok.ibm.com [9.56.224.195]) by b01cxnp22035.gho.pok.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id s8Q9aWmX4456900 for <dev@dpdk.org>; Fri, 26 Sep 2014 09:36:40 GMT Received: from d01av05.pok.ibm.com (localhost [127.0.0.1]) by d01av05.pok.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id s8Q9a7Vr002945 for <dev@dpdk.org>; Fri, 26 Sep 2014 05:36:07 -0400 Received: from d01hub02.pok.ibm.com (d01hub02.pok.ibm.com [9.63.10.236]) by d01av05.pok.ibm.com (8.14.4/8.14.4/NCO v10.0 AVin) with ESMTP id s8Q9a7wM002655 for <dev@dpdk.org>; Fri, 26 Sep 2014 05:36:07 -0400 Received: from localhost.localdomain ([9.186.57.14]) by rescrl1.research.ibm.com (IBM Domino Release 9.0.1) with ESMTP id 2014092617352591-312555 ; Fri, 26 Sep 2014 17:35:25 +0800 From: Chao Zhu <bjzhuc@cn.ibm.com> To: dev@dpdk.org Date: Fri, 26 Sep 2014 05:36:23 -0400 Message-Id: <1411724186-8036-10-git-send-email-bjzhuc@cn.ibm.com> X-Mailer: git-send-email 1.7.1 In-Reply-To: <1411724186-8036-1-git-send-email-bjzhuc@cn.ibm.com> References: <1411724186-8036-1-git-send-email-bjzhuc@cn.ibm.com> X-MIMETrack: Itemize by SMTP Server on rescrl1/Research/Affiliated/IBM(Release 9.0.1|October 14, 2013) at 2014/09/26 17:35:25, Serialize by Router on D01HUB02/01/H/IBM(Release 8.5.3FP2 ZX853FP2HF5|February, 2013) at 09/26/2014 05:36:06, Serialize complete at 09/26/2014 05:36:06 X-TM-AS-MML: disable X-Content-Scanned: Fidelis XPS MAILER x-cbid: 14092609-0320-0000-0000-000000986E0F Subject: [dpdk-dev] [PATCH 09/12] Remove iopl operation for IBM Power architecture 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
Chao Zhu
Sept. 26, 2014, 9:36 a.m. UTC
iopl() call is mostly for the i386 architecture. In Power architecture.
It doesn't exist. This patch modified rte_eal_iopl_init() and make it
return -1 on Power. This means rte_config.flags will not contain
EAL_FLG_HIGH_IOPL flag on IBM Power architecture.
Signed-off-by: Chao Zhu <bjzhuc@cn.ibm.com>
---
lib/librte_eal/linuxapp/eal/eal.c | 11 +++++++++++
1 files changed, 11 insertions(+), 0 deletions(-)
Comments
On 9/26/2014 2:36 AM, Chao Zhu wrote: > iopl() call is mostly for the i386 architecture. In Power architecture. > It doesn't exist. This patch modified rte_eal_iopl_init() and make it > return -1 on Power. This means rte_config.flags will not contain > EAL_FLG_HIGH_IOPL flag on IBM Power architecture. Since iopl() is an x86-only thing, shouldn't the code be conditional on defined(RTE_ARCH_X86_64) || defined(RTE_ARCH_I686) instead of below? Better still, should we maybe break out an architecture specific init function? This function could set iopl on x86, and possibly do other lowlevel init things on other architectures... > Signed-off-by: Chao Zhu <bjzhuc@cn.ibm.com> > --- > lib/librte_eal/linuxapp/eal/eal.c | 11 +++++++++++ > 1 files changed, 11 insertions(+), 0 deletions(-) > > diff --git a/lib/librte_eal/linuxapp/eal/eal.c b/lib/librte_eal/linuxapp/eal/eal.c > index 4869e7c..8cc1f21 100644 > --- a/lib/librte_eal/linuxapp/eal/eal.c > +++ b/lib/librte_eal/linuxapp/eal/eal.c > @@ -50,7 +50,10 @@ > #include <errno.h> > #include <sys/mman.h> > #include <sys/queue.h> > +/* Power architecture doesn't have this header file */ > +#ifndef RTE_ARCH_PPC_64 > #include <sys/io.h> > +#endif > > #include <rte_common.h> > #include <rte_debug.h> > @@ -1019,11 +1022,19 @@ rte_eal_mcfg_complete(void) > > /* > * Request iopl privilege for all RPL, returns 0 on success > + * > + * Power architecture doesn't have iopl function, so this function > + * return -1 on Power architecture, because this function is only used > + * in rte_eal_init to add EAL_FLG_HIGH_IOPL to rte_config.flags. > */ > static int > rte_eal_iopl_init(void) > { > +#ifndef RTE_ARCH_PPC_64 > return iopl(HIGHEST_RPL); > +#else > + return -1; > +#endif > } > > /* Launch threads, called at application init(). */
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Cyril Chemparathy > Sent: Monday, October 06, 2014 11:04 PM > To: Chao Zhu; dev@dpdk.org > Subject: Re: [dpdk-dev] [PATCH 09/12] Remove iopl operation for IBM Power architecture > > On 9/26/2014 2:36 AM, Chao Zhu wrote: > > iopl() call is mostly for the i386 architecture. In Power architecture. > > It doesn't exist. This patch modified rte_eal_iopl_init() and make it > > return -1 on Power. This means rte_config.flags will not contain > > EAL_FLG_HIGH_IOPL flag on IBM Power architecture. > > Since iopl() is an x86-only thing, shouldn't the code be conditional on > defined(RTE_ARCH_X86_64) || defined(RTE_ARCH_I686) instead of below? > > Better still, should we maybe break out an architecture specific init > function? This function could set iopl on x86, and possibly do other > lowlevel init things on other architectures... Yep, that sounds like a good way to me too. > > > Signed-off-by: Chao Zhu <bjzhuc@cn.ibm.com> > > --- > > lib/librte_eal/linuxapp/eal/eal.c | 11 +++++++++++ > > 1 files changed, 11 insertions(+), 0 deletions(-) > > > > diff --git a/lib/librte_eal/linuxapp/eal/eal.c b/lib/librte_eal/linuxapp/eal/eal.c > > index 4869e7c..8cc1f21 100644 > > --- a/lib/librte_eal/linuxapp/eal/eal.c > > +++ b/lib/librte_eal/linuxapp/eal/eal.c > > @@ -50,7 +50,10 @@ > > #include <errno.h> > > #include <sys/mman.h> > > #include <sys/queue.h> > > +/* Power architecture doesn't have this header file */ > > +#ifndef RTE_ARCH_PPC_64 > > #include <sys/io.h> > > +#endif > > > > #include <rte_common.h> > > #include <rte_debug.h> > > @@ -1019,11 +1022,19 @@ rte_eal_mcfg_complete(void) > > > > /* > > * Request iopl privilege for all RPL, returns 0 on success > > + * > > + * Power architecture doesn't have iopl function, so this function > > + * return -1 on Power architecture, because this function is only used > > + * in rte_eal_init to add EAL_FLG_HIGH_IOPL to rte_config.flags. > > */ > > static int > > rte_eal_iopl_init(void) > > { > > +#ifndef RTE_ARCH_PPC_64 > > return iopl(HIGHEST_RPL); > > +#else > > + return -1; > > +#endif > > } > > > > /* Launch threads, called at application init(). */
OK. I'll update the patches. Thanks for your comments! Best Regards! ------------------------------ Chao Zhu From: "Ananyev, Konstantin" <konstantin.ananyev@intel.com> To: Cyril Chemparathy <cchemparathy@tilera.com>, Chao CH Zhu/China/IBM@IBMCN, "dev@dpdk.org" <dev@dpdk.org> Date: 2014/10/07 22:45 Subject: RE: [dpdk-dev] [PATCH 09/12] Remove iopl operation for IBM Power architecture > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Cyril Chemparathy > Sent: Monday, October 06, 2014 11:04 PM > To: Chao Zhu; dev@dpdk.org > Subject: Re: [dpdk-dev] [PATCH 09/12] Remove iopl operation for IBM Power architecture > > On 9/26/2014 2:36 AM, Chao Zhu wrote: > > iopl() call is mostly for the i386 architecture. In Power architecture. > > It doesn't exist. This patch modified rte_eal_iopl_init() and make it > > return -1 on Power. This means rte_config.flags will not contain > > EAL_FLG_HIGH_IOPL flag on IBM Power architecture. > > Since iopl() is an x86-only thing, shouldn't the code be conditional on > defined(RTE_ARCH_X86_64) || defined(RTE_ARCH_I686) instead of below? > > Better still, should we maybe break out an architecture specific init > function? This function could set iopl on x86, and possibly do other > lowlevel init things on other architectures... Yep, that sounds like a good way to me too. > > > Signed-off-by: Chao Zhu <bjzhuc@cn.ibm.com> > > --- > > lib/librte_eal/linuxapp/eal/eal.c | 11 +++++++++++ > > 1 files changed, 11 insertions(+), 0 deletions(-) > > > > diff --git a/lib/librte_eal/linuxapp/eal/eal.c b/lib/librte_eal/linuxapp/eal/eal.c > > index 4869e7c..8cc1f21 100644 > > --- a/lib/librte_eal/linuxapp/eal/eal.c > > +++ b/lib/librte_eal/linuxapp/eal/eal.c > > @@ -50,7 +50,10 @@ > > #include <errno.h> > > #include <sys/mman.h> > > #include <sys/queue.h> > > +/* Power architecture doesn't have this header file */ > > +#ifndef RTE_ARCH_PPC_64 > > #include <sys/io.h> > > +#endif > > > > #include <rte_common.h> > > #include <rte_debug.h> > > @@ -1019,11 +1022,19 @@ rte_eal_mcfg_complete(void) > > > > /* > > * Request iopl privilege for all RPL, returns 0 on success > > + * > > + * Power architecture doesn't have iopl function, so this function > > + * return -1 on Power architecture, because this function is only used > > + * in rte_eal_init to add EAL_FLG_HIGH_IOPL to rte_config.flags. > > */ > > static int > > rte_eal_iopl_init(void) > > { > > +#ifndef RTE_ARCH_PPC_64 > > return iopl(HIGHEST_RPL); > > +#else > > + return -1; > > +#endif > > } > > > > /* Launch threads, called at application init(). */
diff --git a/lib/librte_eal/linuxapp/eal/eal.c b/lib/librte_eal/linuxapp/eal/eal.c index 4869e7c..8cc1f21 100644 --- a/lib/librte_eal/linuxapp/eal/eal.c +++ b/lib/librte_eal/linuxapp/eal/eal.c @@ -50,7 +50,10 @@ #include <errno.h> #include <sys/mman.h> #include <sys/queue.h> +/* Power architecture doesn't have this header file */ +#ifndef RTE_ARCH_PPC_64 #include <sys/io.h> +#endif #include <rte_common.h> #include <rte_debug.h> @@ -1019,11 +1022,19 @@ rte_eal_mcfg_complete(void) /* * Request iopl privilege for all RPL, returns 0 on success + * + * Power architecture doesn't have iopl function, so this function + * return -1 on Power architecture, because this function is only used + * in rte_eal_init to add EAL_FLG_HIGH_IOPL to rte_config.flags. */ static int rte_eal_iopl_init(void) { +#ifndef RTE_ARCH_PPC_64 return iopl(HIGHEST_RPL); +#else + return -1; +#endif } /* Launch threads, called at application init(). */