DPDK patches and discussions
 help / color / mirror / Atom feed
From: Jan Viktorin <viktorin@rehivetech.com>
To: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Cc: dev@dpdk.org
Subject: Re: [dpdk-dev] [PATCH v2 00/15] DPDK armv8-a support
Date: Thu, 5 Nov 2015 18:32:21 +0100	[thread overview]
Message-ID: <20151105183221.476daf8d@pcviktorin.fit.vutbr.cz> (raw)
In-Reply-To: <1446741498-3096-1-git-send-email-jerin.jacob@caviumnetworks.com>

Hello Jerin,

I'm sorry, I am quite busy last days so I could not check the code yet.
By the way, I am about to provide an automatic build + autotest check in
qemu for both armv7 and armv8, however, I got stuck with some strange
behaviour of qemu.

However, I've got a note about the form of the v1, v2 patch sets. It is
recommended to send patch series with --thread --no-chain-reply-to [1]
so the actual patches 0001..00015 should be all a reply-to the 0000
commit and not every single commit a reply to the previous one [2].

In my opinion (however, I don't always do it myself :)), the 0000 patch
of v2 should be a reply-to the 0000 patch of v1... (as described in
[2] for the --no-chain-reply-to option).

Regards
Jan

[1] http://dpdk.org/dev
[2] https://kernel.org/pub/software/scm/git/docs/git-send-email.html

On Thu, 5 Nov 2015 22:08:03 +0530
Jerin Jacob <jerin.jacob@caviumnetworks.com> wrote:

> This is the v2 patchset for ARMv8 that now sits on top of the v6 patch
> (based on upstream 82fb702077f67585d64a07de0080e5cb6a924a72)
> of the ARMv7 code by RehiveTech. It adds code into the same arm include
> directory, reducing code duplication.
> 
> Tested on an ThunderX arm 64-bit arm server board, with PCI slots. Passes traffic
> between two physical ports on an Intel 82599 dual-port 10Gig NIC. Should
> work with many other NICS as long as there is no unaligned access to
> device memory but not yet untested.
> 
> Compiles igb_uio, kni and all the physical device PMDs.
> 
> An entry has been added to the Release notes.
> 
> v1..v2
> 
> 1) included  "Introduce rte_smp_*mb() for memory barriers to use between lcores"
> patch ACK by Konstantin in v2 as "eal: introduce rte_smp_*mb() for memory barriers to use between lcores"
> please superseded the original one
> 
> 2) defined rte_smp_mb(), rte_smp_wmb(), rte_smp_rmb() for arm
> (1) and (2) fixes "Mbuf autotest" stress failure found in version 1
> 
> 3) fixed white space issues with patch 8,9,10
> 4) disabled  CONFIG_RTE_LIBRTE_FM10K_PMD, CONFIG_RTE_LIBRTE_I40E_PMD
> due to tmmintrin.h depenency or ARM
> 
> 
> NOTE:
> Part of the work has been taken from David Hunt's v3 patch who was
> initiated the armv8 port.
> 
> 
> Notes on arm64 kernel configuration:
> 
>   Tested on using Ubuntu 14.04 LTS with a 3.18 kernel and igb_uio.
>   ARM64 kernels does not have functional resource mapping of PCI memory
>   (PCI_MMAP), so the pci driver needs to be patched to enable this. The
>   symptom of this is when /sys/bus/pci/devices/0000:0X:00.Y directory is
>   missing the resource0...N files for mmapping the device memory.
> 
>   Following patch fixes the PCI resource mapping issue om armv8.
>   Its not yet up streamed.We are in the process of up streaming it.
> 
>   http://lists.infradead.org/pipermail/linux-arm-kernel/2015-July/358906.html
> 
> 
> Jerin Jacob (15):
>   eal: arm64: add armv8-a version of rte_atomic_64.h
>   eal: arm64: add armv8-a version of rte_cpuflags_64.h
>   eal: arm64: add armv8-a version of rte_prefetch_64.h
>   eal: arm64: add armv8-a version of rte_cycles_64.h
>   eal: arm64: rte_memcpy_64.h version based on libc memcpy
>   eal: arm: ret_vector.h improvements
>   app: test_cpuflags: test the new cpu flags added for arm64
>   acl: arm64: acl implementation using NEON gcc intrinsic
>   mk: add support for armv8 on top of armv7
>   mk: add support for thunderx machine target based on armv8-a
>   updated release note for armv8 support for DPDK 2.2
>   maintainers: claim responsibility for ARMv8
>   eal: introduce rte_smp_*mb() for memory barriers to use between lcores
>   eal: arm: define rte_smp_mb(), rte_smp_wmb(), rte_smp_rmb() for arm
>   armv8: config file update
> 
>  MAINTAINERS                                        |   5 +
>  app/test-acl/main.c                                |   4 +
>  app/test/test_cpuflags.c                           |  26 ++
>  config/defconfig_arm64-armv8a-linuxapp-gcc         |  56 ++++
>  config/defconfig_arm64-thunderx-linuxapp-gcc       |  56 ++++
>  doc/guides/rel_notes/release_2_2.rst               |   7 +-
>  drivers/net/virtio/virtqueue.h                     |   8 +-
>  drivers/net/xenvirt/rte_eth_xenvirt.c              |   4 +-
>  drivers/net/xenvirt/virtqueue.h                    |   2 +-
>  lib/librte_acl/Makefile                            |   5 +
>  lib/librte_acl/acl.h                               |   4 +
>  lib/librte_acl/acl_run_neon.c                      |  46 ++++
>  lib/librte_acl/acl_run_neon.h                      | 289 +++++++++++++++++++++
>  lib/librte_acl/rte_acl.c                           |  25 ++
>  lib/librte_acl/rte_acl.h                           |   1 +
>  .../common/include/arch/arm/rte_atomic.h           |  10 +
>  .../common/include/arch/arm/rte_atomic_64.h        |  88 +++++++
>  .../common/include/arch/arm/rte_cpuflags.h         |   4 +
>  .../common/include/arch/arm/rte_cpuflags_64.h      | 152 +++++++++++
>  .../common/include/arch/arm/rte_cycles.h           |   4 +
>  .../common/include/arch/arm/rte_cycles_64.h        |  71 +++++
>  .../common/include/arch/arm/rte_memcpy.h           |   4 +
>  .../common/include/arch/arm/rte_memcpy_64.h        |  93 +++++++
>  .../common/include/arch/arm/rte_prefetch.h         |   4 +
>  .../common/include/arch/arm/rte_prefetch_64.h      |  61 +++++
>  lib/librte_eal/common/include/arch/arm/rte_vect.h  |  54 ++--
>  .../common/include/arch/ppc_64/rte_atomic.h        |   6 +
>  .../common/include/arch/tile/rte_atomic.h          |   6 +
>  .../common/include/arch/x86/rte_atomic.h           |   6 +
>  lib/librte_eal/common/include/generic/rte_atomic.h |  27 ++
>  lib/librte_ring/rte_ring.h                         |   8 +-
>  mk/arch/arm64/rte.vars.mk                          |  58 +++++
>  mk/machine/armv8a/rte.vars.mk                      |  58 +++++
>  mk/machine/thunderx/rte.vars.mk                    |  58 +++++
>  34 files changed, 1256 insertions(+), 54 deletions(-)
>  create mode 100644 config/defconfig_arm64-armv8a-linuxapp-gcc
>  create mode 100644 config/defconfig_arm64-thunderx-linuxapp-gcc
>  create mode 100644 lib/librte_acl/acl_run_neon.c
>  create mode 100644 lib/librte_acl/acl_run_neon.h
>  create mode 100644 lib/librte_eal/common/include/arch/arm/rte_atomic_64.h
>  create mode 100644 lib/librte_eal/common/include/arch/arm/rte_cpuflags_64.h
>  create mode 100644 lib/librte_eal/common/include/arch/arm/rte_cycles_64.h
>  create mode 100644 lib/librte_eal/common/include/arch/arm/rte_memcpy_64.h
>  create mode 100644 lib/librte_eal/common/include/arch/arm/rte_prefetch_64.h
>  create mode 100644 mk/arch/arm64/rte.vars.mk
>  create mode 100644 mk/machine/armv8a/rte.vars.mk
>  create mode 100644 mk/machine/thunderx/rte.vars.mk
> 



-- 
   Jan Viktorin                  E-mail: Viktorin@RehiveTech.com
   System Architect              Web:    www.RehiveTech.com
   RehiveTech
   Brno, Czech Republic

      parent reply	other threads:[~2015-11-05 17:35 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-05 16:38 Jerin Jacob
2015-11-05 16:38 ` [dpdk-dev] [PATCH 01/15] eal: arm64: add armv8-a version of rte_atomic_64.h Jerin Jacob
2015-11-05 16:38   ` [dpdk-dev] [PATCH 02/15] eal: arm64: add armv8-a version of rte_cpuflags_64.h Jerin Jacob
2015-11-05 16:38     ` [dpdk-dev] [PATCH 03/15] eal: arm64: add armv8-a version of rte_prefetch_64.h Jerin Jacob
2015-11-05 16:38       ` [dpdk-dev] [PATCH 04/15] eal: arm64: add armv8-a version of rte_cycles_64.h Jerin Jacob
2015-11-05 16:38         ` [dpdk-dev] [PATCH 05/15] eal: arm64: rte_memcpy_64.h version based on libc memcpy Jerin Jacob
2015-11-05 16:38           ` [dpdk-dev] [PATCH 06/15] eal: arm: ret_vector.h improvements Jerin Jacob
2015-11-05 16:38             ` [dpdk-dev] [PATCH 07/15] app: test_cpuflags: test the new cpu flags added for arm64 Jerin Jacob
2015-11-05 16:38               ` [dpdk-dev] [PATCH 08/15] acl: arm64: acl implementation using NEON gcc intrinsic Jerin Jacob
2015-11-05 16:38                 ` [dpdk-dev] [PATCH 09/15] mk: add support for armv8 on top of armv7 Jerin Jacob
2015-11-05 16:38                   ` [dpdk-dev] [PATCH 10/15] mk: add support for thunderx machine target based on armv8-a Jerin Jacob
2015-11-05 16:38                     ` [dpdk-dev] [PATCH 11/15] updated release note for armv8 support for DPDK 2.2 Jerin Jacob
2015-11-05 16:38                       ` [dpdk-dev] [PATCH 12/15] maintainers: claim responsibility for ARMv8 Jerin Jacob
2015-11-05 16:38                         ` [dpdk-dev] [PATCH 13/15] eal: introduce rte_smp_*mb() for memory barriers to use between lcores Jerin Jacob
2015-11-05 16:38                           ` [dpdk-dev] [PATCH 14/15] eal: arm: define rte_smp_mb(), rte_smp_wmb(), rte_smp_rmb() for arm Jerin Jacob
2015-11-05 16:38                             ` [dpdk-dev] [PATCH 15/15] armv8: config file update Jerin Jacob
2015-11-05 17:13                               ` Hunt, David
2015-11-05 17:32 ` Jan Viktorin [this message]

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=20151105183221.476daf8d@pcviktorin.fit.vutbr.cz \
    --to=viktorin@rehivetech.com \
    --cc=dev@dpdk.org \
    --cc=jerin.jacob@caviumnetworks.com \
    /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).