DPDK patches and discussions
 help / color / mirror / Atom feed
From: Jan Viktorin <viktorin@rehivetech.com>
To: David Hunt <david.hunt@intel.com>
Cc: dev@dpdk.org, ben.boren@intel.com
Subject: Re: [dpdk-dev] [PATCH 00/11] add armv8 architecture support
Date: Mon, 26 Oct 2015 17:21:53 +0100	[thread overview]
Message-ID: <20151026172153.26b99df3@pcviktorin.fit.vutbr.cz> (raw)
In-Reply-To: <1445609833-17649-1-git-send-email-david.hunt@intel.com>

Hello David,

thanks for this series. I'am sending few comments to the code as well.
Soon, I will have an ARMv8 board available so I will be able to test it.

Probably, we can just reinclude some headers from arm/ directory for
ARMv8 as they are not different.

Jan

On Fri, 23 Oct 2015 15:17:02 +0100
David Hunt <david.hunt@intel.com> wrote:

> This patch provides support for the ARMv8 architecture. We hope that this will
> encourage the ARM community to contribute PMDs for their SoCs to DPDK.
> 
> For now, we've added Intel engineers to the MAINTAINERS file. We would like to
> encourage the ARM community to take over maintenance of this area in future,
> and to further improve it.
> 
> ACL and LPM libraries have been disabled in the config due to their reliance
> on SSE. 
> 
> This patch was tested on an Applied Micro X-Gene Mustang board (pcap only)
> 
> This patch was also tested with an Intel 82599 NIC on a Gigabyte MP30-AR0
> passing traffic between the two NIC ports using testpmd.
> 
> Notes on DPDK configuration:
> 
>   Did not use igb_uio or kni so the following optionse were disabled in 
>   config/common_linuxapp
> 
>   CONFIG_RTE_EAL_IGB_UIO=n
>   CONFIG_RTE_LIBRTE_KNI=n
>   CONFIG_RTE_KNI_KMOD=n
> 
>   make config T=arm64-native-linuxapp-gcc
>   make install T=arm64-native-linuxapp-gcc
>   
> Notes on arm64 kernel configuration:
> 
>   Using Ubuntu 14.04 LTS with a 4.3.0-rc6 kernel (with modified PCI drivers),
>   and uio_pci_generic.
>   ARM64 kernels do not seem to 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. Earlier
>   kernels (3.13.x) had these files present, but mmap'ping resulted in a
>   "Bus Error" when the NIC memory was accessed.
>   However, during limited testing with a modified 4.3.0-rc6 kernel, we were
>   able to mmap the NIC memory, and pass traffic between the two ports on a
>   82599 NIC connected via fibre cable. 
>   We have no plans to upstream a kernel patch for this and hope that
>   someone more familiar with the arm architecture can create a proper patch
>   and enable this functionality.
> 
> Benjamin Boren (11):
>   lib: add armv8 rte_atomic.h
>   lib: add armv8 rte_byteorder.h
>   lib: add armv8 rte_cpuflags.h
>   lib: add armv8 rte_cycles.h
>   lib: add armv8 rte_memcpy.h
>   lib: add armv8 rte_prefetch.h
>   lib: add armv8 rte_rwlock.h
>   lib: add armv8 rte_spinlock.h
>   lib: add armv8 rte_vect.h
>   mk: add makefile and config changes for armv8 architecture
>   app: add armv8 cpuflags check to test_cpuflags application
> 
>  MAINTAINERS                                        |   6 +
>  app/test/test_cpuflags.c                           |  17 ++
>  config/defconfig_arm64-native-linuxapp-gcc         |  55 +++++
>  .../common/include/arch/arm64/rte_atomic.h         | 269 +++++++++++++++++++++
>  .../common/include/arch/arm64/rte_byteorder.h      | 157 ++++++++++++
>  .../common/include/arch/arm64/rte_cpuflags.h       | 137 +++++++++++
>  .../common/include/arch/arm64/rte_cycles.h         |  77 ++++++
>  .../common/include/arch/arm64/rte_memcpy.h         | 266 ++++++++++++++++++++
>  .../common/include/arch/arm64/rte_prefetch.h       |  61 +++++
>  .../common/include/arch/arm64/rte_rwlock.h         |  70 ++++++
>  .../common/include/arch/arm64/rte_spinlock.h       | 114 +++++++++
>  .../common/include/arch/arm64/rte_vect.h           | 102 ++++++++
>  mk/arch/arm64/rte.vars.mk                          |  58 +++++
>  mk/machine/armv8-a/rte.vars.mk                     |  57 +++++
>  mk/rte.cpuflags.mk                                 |   9 +
>  15 files changed, 1455 insertions(+)
>  create mode 100644 config/defconfig_arm64-native-linuxapp-gcc
>  create mode 100644 lib/librte_eal/common/include/arch/arm64/rte_atomic.h
>  create mode 100644 lib/librte_eal/common/include/arch/arm64/rte_byteorder.h
>  create mode 100644 lib/librte_eal/common/include/arch/arm64/rte_cpuflags.h
>  create mode 100644 lib/librte_eal/common/include/arch/arm64/rte_cycles.h
>  create mode 100644 lib/librte_eal/common/include/arch/arm64/rte_memcpy.h
>  create mode 100644 lib/librte_eal/common/include/arch/arm64/rte_prefetch.h
>  create mode 100644 lib/librte_eal/common/include/arch/arm64/rte_rwlock.h
>  create mode 100644 lib/librte_eal/common/include/arch/arm64/rte_spinlock.h
>  create mode 100644 lib/librte_eal/common/include/arch/arm64/rte_vect.h
>  create mode 100644 mk/arch/arm64/rte.vars.mk
>  create mode 100644 mk/machine/armv8-a/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-10-26 16:23 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-23 14:17 David Hunt
2015-10-23 14:17 ` [dpdk-dev] [PATCH 01/11] lib: add armv8 rte_atomic.h David Hunt
2015-10-23 14:17 ` [dpdk-dev] [PATCH 02/11] lib: add armv8 rte_byteorder.h David Hunt
2015-10-23 14:17 ` [dpdk-dev] [PATCH 03/11] lib: add armv8 rte_cpuflags.h David Hunt
2015-10-26 16:23   ` Jan Viktorin
2015-10-23 14:17 ` [dpdk-dev] [PATCH 04/11] lib: add armv8 rte_cycles.h David Hunt
2015-10-23 14:17 ` [dpdk-dev] [PATCH 05/11] lib: add armv8 rte_memcpy.h David Hunt
2015-10-26 16:22   ` Jan Viktorin
2015-10-23 14:17 ` [dpdk-dev] [PATCH 06/11] lib: add armv8 rte_prefetch.h David Hunt
2015-10-23 14:17 ` [dpdk-dev] [PATCH 07/11] lib: add armv8 rte_rwlock.h David Hunt
2015-10-23 14:17 ` [dpdk-dev] [PATCH 08/11] lib: add armv8 rte_spinlock.h David Hunt
2015-10-23 14:17 ` [dpdk-dev] [PATCH 09/11] lib: add armv8 rte_vect.h David Hunt
2015-10-26 16:23   ` Jan Viktorin
2015-10-23 14:17 ` [dpdk-dev] [PATCH 10/11] mk: add makefile and config changes for armv8 architecture David Hunt
2015-10-26 16:22   ` Jan Viktorin
2015-10-27 18:24     ` Jan Viktorin
2015-10-26 16:22   ` Jan Viktorin
2015-10-23 14:17 ` [dpdk-dev] [PATCH 11/11] app: add armv8 cpuflags check to test_cpuflags application David Hunt
2015-10-26 16:21 ` 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=20151026172153.26b99df3@pcviktorin.fit.vutbr.cz \
    --to=viktorin@rehivetech.com \
    --cc=ben.boren@intel.com \
    --cc=david.hunt@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).