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