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
prev 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).