All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jerin Jacob <jerin.jacob@caviumnetworks.com>
To: Jianbo Liu <jianbo.liu@linaro.org>
Cc: dev@dpdk.org
Subject: Re: [PATCH v3 2/2] config: disable CONFIG_RTE_SCHED_VECTOR for arm
Date: Mon, 30 Nov 2015 11:17:52 +0530	[thread overview]
Message-ID: <20151130054749.GA11512@localhost.localdomain> (raw)
In-Reply-To: <20151129234829.GA2913@qq.com>

On Sun, Nov 29, 2015 at 06:48:29PM -0500, Jianbo Liu wrote:
> On Fri, Nov 27, 2015 at 07:04:28PM +0530, Jerin Jacob wrote:
> > Commit 42ec27a0178a causes compiling error on arm, as RTE_SCHED_VECTOR
> > does support only SSE intrinsic, so disable it till we have neon support.
> > 
> > Fixes: 42ec27a0178a ("sched: enable SSE optimizations in config")
> > 
> > Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
> > ---
> >  config/common_arm64                      | 1 +
> >  config/defconfig_arm-armv7a-linuxapp-gcc | 1 +
> >  2 files changed, 2 insertions(+)
> > 
> > diff --git a/config/common_arm64 b/config/common_arm64
> > index 5e5e303..d6a9cb9 100644
> > --- a/config/common_arm64
> > +++ b/config/common_arm64
> > @@ -46,3 +46,4 @@ CONFIG_RTE_LIBRTE_I40E_PMD=n
> >  CONFIG_RTE_LIBRTE_LPM=n
> >  CONFIG_RTE_LIBRTE_TABLE=n
> >  CONFIG_RTE_LIBRTE_PIPELINE=n
> > +CONFIG_RTE_SCHED_VECTOR=n
> > diff --git a/config/defconfig_arm-armv7a-linuxapp-gcc b/config/defconfig_arm-armv7a-linuxapp-gcc
> > index 82143af..9924ff9 100644
> > --- a/config/defconfig_arm-armv7a-linuxapp-gcc
> > +++ b/config/defconfig_arm-armv7a-linuxapp-gcc
> > @@ -57,6 +57,7 @@ CONFIG_RTE_LIBRTE_ACL=n
> >  CONFIG_RTE_LIBRTE_LPM=n
> >  CONFIG_RTE_LIBRTE_TABLE=n
> >  CONFIG_RTE_LIBRTE_PIPELINE=n
> > +CONFIG_RTE_SCHED_VECTOR=n
> >  
> >  # cannot use those on ARM
> >  CONFIG_RTE_KNI_KMOD=n
> > -- 
> > 2.1.0
> > 
> 
> Hi Jerin,

Hi Jianbo, Thanks for the review.
Looking forward to seeing contributions to DPDK-ARM.
We definitely need more hands to make best DPDK-ARM port.

> In this way, we still have to modify two files each time a new feature
> is added but not verified on ARM architectures.
> Since disabling those drivers and libs are common for both armv7 and
> armv8, can you put them in one config file, for example: common_arm? 

I initially thought of making it a single common_arm file, Then
later I realized that it may not be worth as,

1) If a new feature added to DPDK which has the dependency on SSE then
implementer has to disable on "n" platforms(tile, powerpc..).By unifying
single arm config will make it "n-1" so it's like "n" vs "n-1" not "n"
vs "2n"

2) AFAIK, PCI NIC PMD's are not yet supported in ARMv7 platform yet
unlike ARMv8.
Till we have PCI NIC PMD support, armv7 config needs to be updated
for each and every new PMD inclusion.

3) neon capabilities are bit different in ARMv7 and ARMv8.
For instance, "vqtbl1q_u8" neon intrinsics is not defined in ARMv7 which used
in implementing ACL-NEON. i.e Need additional efforts to extend
the armv8 neon code to armv7(or vice versa).So it's better to
have fine control on the config file to enable selective features

3) anyway we may need common_armv8 file to address the "IMPLEMENTATION
DEFINED" parts of the armv8 specific in future, like frequency at cntvct_el0
runs ? optional features like armv8 crypto instruction support or not?
It's armv8 v1 or v2 ? atomic instruction support for not? its a long
list

4)I would like to see ARM configs as different config like i686, X86_64
in DPDK


> It is not like common_arm64, which is solely for armv8 platform.
> Actually, the arm64 common config is defconfig_arm64-armv8a-linuxapp-gcc

I thought so, Then  I realized that we may have
FreeBSD, arm compiler, clang, llvm support in future.

> you can include it in the thunderx or xgene1 config files respectively,
> and overriding some special config if needed.

Agree. existing patch addresses this

> 
> On the other hand, If we support the features in the future by
> replacing SSE intrinsic with NEON, we just need to remove the lines in one place.

See point 3 above,

I feel rather than coming with the framework to fix the exceptions it's
better to fix the exceptions its self.
I am planning to send out next patch by today for supporting
CONFIG_RTE_LIBRTE_LPM,CONFIG_RTE_LIBRTE_TABLE,CONFIG_RTE_LIBRTE_PIPELINE.

i.e only a few entries will be common. Please find below the list,
the reason for setting as "n" for armv7 and armv8 is different.
lack of PCI PMD supports vs SIMD support.

CONFIG_RTE_IXGBE_INC_VECTOR=n
CONFIG_RTE_LIBRTE_VIRTIO_PMD=n
CONFIG_RTE_LIBRTE_IVSHMEM=n
CONFIG_RTE_LIBRTE_FM10K_PMD=n
CONFIG_RTE_LIBRTE_I40E_PMD=n

- Jerin

> 
> Regards,
> Jianbo

  reply	other threads:[~2015-11-30  5:48 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-27 13:34 [PATCH v3 0/2] disable CONFIG_RTE_SCHED_VECTOR for arm Jerin Jacob
2015-11-27 13:34 ` [PATCH v3 1/2] config: arm64: create common arm64 configs under common_arm64 file Jerin Jacob
2015-11-27 13:34 ` [PATCH v3 2/2] config: disable CONFIG_RTE_SCHED_VECTOR for arm Jerin Jacob
2015-11-27 14:36   ` Jan Viktorin
2015-11-29 23:48   ` Jianbo Liu
2015-11-30  5:47     ` Jerin Jacob [this message]
2015-11-30 17:03       ` Jianbo Liu
2015-11-30 10:22         ` Jerin Jacob
2015-11-30 18:55           ` Jianbo Liu
2015-11-30 13:27             ` Jan Viktorin
2015-11-30 13:59               ` Thomas Monjalon
2015-11-30 14:04                 ` Jan Viktorin
2015-11-30 14:13                   ` Thomas Monjalon
2015-11-27 14:40 ` [PATCH v3 0/2] " Jan Viktorin
2015-11-27 14:49   ` Thomas Monjalon
2015-11-30 16:37 ` Stephen Hemminger

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=20151130054749.GA11512@localhost.localdomain \
    --to=jerin.jacob@caviumnetworks.com \
    --cc=dev@dpdk.org \
    --cc=jianbo.liu@linaro.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 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.