Re: [dpdk-dev] [PATCH v1 1/5] ipsec: add inbound SAD API

2019-09-14 Thread Ananyev, Konstantin
> --- /dev/null > +++ b/lib/librte_ipsec/rte_ipsec_sad.h > @@ -0,0 +1,174 @@ > + > +/* SPDX-License-Identifier: BSD-3-Clause > + * Copyright(c) 2019 Intel Corporation > + */ > + > +#ifndef _RTE_IPSEC_SAD_H_ > +#define _RTE_IPSEC_SAD_H_ > + > +#include > + > +/** > + * @file rte_ipsec_sad.h > + * @

Re: [dpdk-dev] [EXT] [PATCH v4 5/6] spinlock: use wfe to reduce contention on aarch64

2019-09-14 Thread Gavin Hu (Arm Technology China)
Hi Jerin, Add the offlist discussion with Pavan to facilitate the review for the spinlock patch(currently in v6). Thanks Pavan and Jerin for review. Best Regards, Gavin > -Original Message- > From: Gavin Hu (Arm Technology China) > Sent: Thursday, September 12, 2019 5:22 PM > To: Pavan

Re: [dpdk-dev] [PATCH v1 0/2] declare crypto asym xform immutable

2019-09-14 Thread Sunila Sahu
Hi Fiona, Anoob, Fiona, > Though above reasons are from a QAT perspective, they surely also apply to sw > PMDs and > I'd guess they also apply to other hw devices - though would like feedback if > different. Declaring crypto asym xform immutable does save allocation and copy of key data into

Re: [dpdk-dev] The type string in the malloc library is unused

2019-09-14 Thread Alexander Pshenichnikov
Hi Morten, Look rte_memzone_reserve/rte_memzone_lookup On Fri, Sep 13, 2019 at 4:32 PM Morten Brørup wrote: > > Hi Anatoly, > > > > The functions in the DPDK malloc library takes a "type" parameter (a string, > supposedly for debug purposes), but the underlying malloc_heap functions > (whic

[dpdk-dev] [PATCH] git: ignore more build directories

2019-09-14 Thread Thomas Monjalon
Build directories commonly have compiler in their names. In order to filter build directories not starting with "build-" (common with make), patterns for gcc and clang are added to .gitignore. Signed-off-by: Thomas Monjalon --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.g

[dpdk-dev] [PATCH v6 5/7] ring: use wfe to wait for ring tail update on aarch64

2019-09-14 Thread Gavin Hu
Instead of polling for tail to be updated, use wfe instruction. Signed-off-by: Gavin Hu Reviewed-by: Ruifeng Wang Reviewed-by: Steve Capper Reviewed-by: Ola Liljedahl Reviewed-by: Honnappa Nagarahalli --- lib/librte_ring/rte_ring_c11_mem.h | 4 ++-- lib/librte_ring/rte_ring_generic.h | 3 +--

[dpdk-dev] [PATCH v6 7/7] event/opdl: use new API to save cycles on aarch64

2019-09-14 Thread Gavin Hu
Use the new API to wait in low power state instead of continuous polling to save CPU cycles and power. Signed-off-by: Gavin Hu Reviewed-by: Ruifeng Wang Reviewed-by: Jerin Jacob --- drivers/event/opdl/opdl_ring.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/

[dpdk-dev] [PATCH v6 6/7] net/thunderx: use new API to save cycles on aarch64

2019-09-14 Thread Gavin Hu
Use the new API to wait in low power state instead of continuous polling to save CPU cycles and power. Signed-off-by: Gavin Hu Reviewed-by: Ruifeng Wang Acked-by: Jerin Jacob --- drivers/net/thunderx/nicvf_rxtx.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/net

[dpdk-dev] [PATCH v6 4/7] ticketlock: use new API to reduce contention on aarch64

2019-09-14 Thread Gavin Hu
While using ticket lock, cores repeatedly poll the lock variable. This is replaced by rte_wait_until_equal API. Running ticketlock_autotest on ThunderX2, Ampere eMAG80, and Arm N1SDP[1], there were variances between runs, but no notable performance gain or degradation were seen with and without th

[dpdk-dev] [PATCH v6 0/7] use WFE for aarch64

2019-09-14 Thread Gavin Hu
V6: - squash the RTE_ARM_USE_WFE configuration entry patch into the new API patch - move the new configuration to the end of EAL - add doxygen comments to reflect the relaxed and acquire semantics - correct the meson configuration V5: - add doxygen comments for the new APIs - spinlock early exit w

[dpdk-dev] [PATCH v6 2/7] eal: add the APIs to wait until equal

2019-09-14 Thread Gavin Hu
The rte_wait_until_equal_xx APIs abstract the functionality of 'polling for a memory location to become equal to a given value'. Add the RTE_ARM_USE_WFE configuration entry for aarch64, disabled by default. When it is enabled, the above APIs will call WFE instruction to save CPU cycles and power.

[dpdk-dev] [PATCH v6 3/7] spinlock: use wfe to reduce contention on aarch64

2019-09-14 Thread Gavin Hu
In acquiring a spinlock, cores repeatedly poll the lock variable. This is replaced by rte_wait_until_equal API. Running the micro benchmarking and the testpmd and l3fwd traffic tests on ThunderX2, Ampere eMAG80 and Arm N1SDP, everything went well and no notable performance gain nor degradation was

[dpdk-dev] [PATCH v6 1/7] bus/fslmc: fix the conflicting dmb function

2019-09-14 Thread Gavin Hu
There are two definitions conflicting each other, for more details, refer to [1]. include/rte_atomic_64.h:19: error: "dmb" redefined [-Werror] drivers/bus/fslmc/mc/fsl_mc_sys.h:36: note: this is the location of the previous definition #define dmb() {__asm__ __volatile__("" : : : "memory"); } The

[dpdk-dev] [PATCH v3 13/13] examples: take promiscuous mode switch result into account

2019-09-14 Thread Andrew Rybchenko
From: Ivan Ilchenko rte_eth_promiscuous_enable()/rte_eth_promiscuous_disable() return value was changed from void to int, so this patch modify usage of these functions across examples according to new return type. Signed-off-by: Ivan Ilchenko Signed-off-by: Andrew Rybchenko --- examples/bbdev

[dpdk-dev] [PATCH v3 04/13] ethdev: change promiscuous callbacks to return status

2019-09-14 Thread Andrew Rybchenko
Enabling/disabling of promiscuous mode is not always successful and it should be taken into account to be able to handle it properly. When correct return status is unclear from driver code, -EAGAIN is used. Signed-off-by: Andrew Rybchenko Acked-by: Matan Azrad Acked-by: Hyong Youb Kim --- app

[dpdk-dev] [PATCH v3 11/13] kni: check code of promiscuous mode switch

2019-09-14 Thread Andrew Rybchenko
From: Ivan Ilchenko rte_eth_promiscuous_enable()/rte_eth_promiscuous_disable() return value was changed from void to int, so modify usage of these functions across lib/librte_kni according to new return type. Signed-off-by: Ivan Ilchenko Signed-off-by: Andrew Rybchenko --- app/test/test_kni.c

[dpdk-dev] [PATCH v3 12/13] test/bonding: check code of promiscuous mode switch

2019-09-14 Thread Andrew Rybchenko
From: Ivan Ilchenko rte_eth_promiscuous_enable()/rte_eth_promiscuous_disable() return value was changed from void to int, so this patch modify usage of these functions across test/bonding according to new return type. Signed-off-by: Ivan Ilchenko Signed-off-by: Andrew Rybchenko --- app/test/t

[dpdk-dev] [PATCH v3 09/13] app/pdump: check code of promiscuous mode switch

2019-09-14 Thread Andrew Rybchenko
From: Ivan Ilchenko rte_eth_promiscuous_enable()/rte_eth_promiscuous_disable() return value was changed from void to int, so this patch modify usage of these functions across app/pdump according to new return type. Signed-off-by: Ivan Ilchenko Signed-off-by: Andrew Rybchenko --- app/pdump/mai

[dpdk-dev] [PATCH v3 10/13] app/test: check code of promiscuous mode switch

2019-09-14 Thread Andrew Rybchenko
From: Ivan Ilchenko rte_eth_promiscuous_enable()/rte_eth_promiscuous_disable() return value was changed from void to int, so this patch modify usage of these functions across app/test/test_event_eth_rx_adapter.c and app/test/test_event_eth_tx_adapter.c according to new return type. Signed-off-by

[dpdk-dev] [PATCH v3 08/13] app/eventdev: check code of promiscuous mode switch

2019-09-14 Thread Andrew Rybchenko
From: Ivan Ilchenko rte_eth_promiscuous_enable()/rte_eth_promiscuous_disable() return value was changed from void to int, so this patch modify usage of these functions across app/eventdev according to new return type. Signed-off-by: Ivan Ilchenko Signed-off-by: Andrew Rybchenko --- app/test-e

[dpdk-dev] [PATCH v3 06/13] app/pipeline: check code of promiscuous mode switch

2019-09-14 Thread Andrew Rybchenko
From: Ivan Ilchenko rte_eth_promiscuous_enable()/rte_eth_promiscuous_disable() return value was changed from void to int, so this patch modify usage of these functions across app/pipeline according to new return type. Signed-off-by: Ivan Ilchenko Signed-off-by: Andrew Rybchenko --- app/test-p

[dpdk-dev] [PATCH v3 07/13] app/testpmd: check code of promiscuous mode switch

2019-09-14 Thread Andrew Rybchenko
From: Ivan Ilchenko rte_eth_promiscuous_enable()/rte_eth_promiscuous_disable() return value was changed from void to int, so this patch modify usage of these functions across app/testpmd according to new return type. Signed-off-by: Ivan Ilchenko Signed-off-by: Andrew Rybchenko --- app/test-pm

[dpdk-dev] [PATCH v3 00/13] ethdev: change promiscuous mode functions to return status

2019-09-14 Thread Andrew Rybchenko
It is the second patch series to get rid of void returning functions in ethdev in accordance with deprecation notice [1]. It should be applied on top of the first one [2] which is already applied to dpdk-next-net, but not in main DPDK repo. It could be applied separately, but few simple conflicts

[dpdk-dev] [PATCH v3 05/13] ethdev: do nothing if promiscuous mode is applied again

2019-09-14 Thread Andrew Rybchenko
Since driver callbacks return status code now, there is no necessity to enable or disable promiscuous mode once again if it is already successfully enabled or disabled. Configuration restore at startup tries to ensure that configured promiscuous mode is applied and start will return error if it fa

[dpdk-dev] [PATCH v3 02/13] net/failsafe: check code of promiscuous mode switch

2019-09-14 Thread Andrew Rybchenko
From: Ivan Ilchenko rte_eth_promiscuous_enable()/rte_eth_promiscuous_disable() return value was changed from void to int, so this patch modify usage of these functions across net/failsafe according to new return type. Try to keep promiscuous mode consistent across all active devices in the case

[dpdk-dev] [PATCH v3 01/13] ethdev: change promiscuous mode controllers to return errors

2019-09-14 Thread Andrew Rybchenko
From: Ivan Ilchenko Change rte_eth_promiscuous_enable()/rte_eth_promiscuous_disable() return value from void to int and return negative errno values in case of error conditions. Modify usage of these functions across the ethdev according to new return type. Signed-off-by: Ivan Ilchenko Signed-o

[dpdk-dev] [PATCH v3 03/13] net/bonding: check code of promiscuous mode switch

2019-09-14 Thread Andrew Rybchenko
From: Ivan Ilchenko rte_eth_promiscuous_enable()/rte_eth_promiscuous_disable() return value was changed from void to int, so this patch modify usage of these functions across net/bonding according to new return type. Signed-off-by: Ivan Ilchenko Signed-off-by: Andrew Rybchenko --- drivers/net

Re: [dpdk-dev] [RFC 19.11 v2 1/3] ethdev: hide key ethdev structures from public API

2019-09-14 Thread Jerin Jacob
On Mon, Sep 9, 2019 at 3:54 PM Ferruh Yigit wrote: > > On 9/9/2019 11:02 AM, Zapolski, MarcinX A wrote: > >> -Original Message- > >> From: Yigit, Ferruh > >> Sent: Monday, September 9, 2019 12:00 PM > >> To: Zapolski, MarcinX A ; dev@dpdk.org > >> Subject: Re: [dpdk-dev] [RFC 19.11 v2 1/3]

[dpdk-dev] [PATCH 1/2] net/nfb: fix dependency check

2019-09-14 Thread Thomas Monjalon
The library libnfb is part of netcope-common which provides a pkg-config file: netcope-common.pc. Looking for this .pc file - with dependency() - is preferred than looking for the library - with cc.find_library(). If the library is not installed in a standard path, it can be found thanks to PKG_CO

[dpdk-dev] [PATCH 2/2] net/szedata2: fix dependency check

2019-09-14 Thread Thomas Monjalon
The library libsze2 provides a pkg-config file: libsze2.pc. Looking for this .pc file - with dependency() - is preferred than looking for the library - with cc.find_library(). If the library is not installed in a standard path, it can be found thanks to PKG_CONFIG_PATH variable. The previous solut

[dpdk-dev] [PATCH 0/2] use pkg-config to find Netcope dependencies

2019-09-14 Thread Thomas Monjalon
The libraries required for Netcope PMDs can be found in https://www.netcope.com/en/company/community-support/dpdk-libsze2 These libraries are compatible with pkg-config, which is a better solution than directly looking for libraries and includes. These patches are using exclusively pkg-config with

[dpdk-dev] [PATCH] devtools: test nfb and AF_XDP build with make

2019-09-14 Thread Thomas Monjalon
The nfb PMD is disabled by default because of its dependency on netcope-common package. The variable DPDK_DEP_NFB was introduced but not used to notify the dependency availability in the build test script. The AF_XDP PMD is disabled by default because of its dependency on libbpf on Linux. An optio

[dpdk-dev] [PATCH] devtools: fix test of ninja install

2019-09-14 Thread Thomas Monjalon
When trying to compile some examples with libdpdk.pc, the right environment (for default target) was not loaded. The consequence is to not detect some dependencies because of missing directories in PKG_CONFIG_PATH. The environment preparation is moved to a dedicate function, and called for the def

Re: [dpdk-dev] The type string in the malloc library is unused

2019-09-14 Thread Morten Brørup
I tend to agree with Stephen here, although it will break the API/ABI. Another argument supporting its removal is the fact that it has remained non-implemented for many years, so a function for dumping information about rte_malloc'ed memory using the "type" string for debugging purposes has

Re: [dpdk-dev] The type string in the malloc library is unused

2019-09-14 Thread Morten Brørup
Hi Alexander, That was exactly what I was looking for, thanks! Med venlig hilsen / kind regards - Morten Brørup > -Original Message- > From: Alexander Pshenichnikov [mailto:aps...@gmail.com] > Sent: Friday, September 13, 2019 9:38 PM > To: Morten Brørup > Cc: Anatoly Burakov; Olivier Mat