Re: [dpdk-dev] [PATCH v4 2/8] test/distributor: synchronize lcores statistics

2020-10-16 Thread Lukasz Wojciechowski
W dniu 16.10.2020 o 17:42, Honnappa Nagarahalli pisze: > > >> W dniu 16.10.2020 o 14:43, Lukasz Wojciechowski pisze: >>> Hi Honnappa, >>> >>> Thank you for your answer. >>> In the current v7 version I followed your advise and used RELAXED memory >> model. >>> And it works without any issues. I g

Re: [dpdk-dev] [PATCH v7 09/16] test/distributor: collect return mbufs

2020-10-16 Thread Lukasz Wojciechowski
Hi Honnappa, W dniu 16.10.2020 o 07:13, Honnappa Nagarahalli pisze: > >> During quit_workers function distributor's main core processes some packets >> to wake up pending worker cores so they can quit. >> As quit_workers acts also as a cleanup procedure for next test case it should >> also collec

Re: [dpdk-dev] [PATCH v7 08/16] test/distributor: fix freeing mbufs

2020-10-16 Thread Lukasz Wojciechowski
Hi Honnappa, W dniu 16.10.2020 o 07:12, Honnappa Nagarahalli pisze: > > >> Sanity tests with mbuf alloc and shutdown tests assume that mbufs passed >> to worker cores are freed in handlers. >> Such packets should not be returned to the distributor's main core. The only >> packets that should be r

Re: [dpdk-dev] [PATCH v7 06/16] test/distributor: synchronize lcores statistics

2020-10-16 Thread Lukasz Wojciechowski
Hi Honnappa, W dniu 16.10.2020 o 07:13, Honnappa Nagarahalli pisze: > Hi Lukasz, > I see that in commit 8/16, the same code is changed again (updating the > counters using the RELAXED memory order). It is better to pull the statistics > changes from 8/16 into this commit. I reordered patc

[dpdk-dev] [PATCH v8 13/17] test/distributor: add test with packets marking

2020-10-16 Thread Lukasz Wojciechowski
All of the former tests analyzed only statistics of packets processed by all workers. The new test verifies also if packets are processed on workers as expected. Every packets processed by the worker is marked and analyzed after it is returned to distributor. This test allows finding issues in mat

Re: [dpdk-dev] [PATCH v7 01/16] distributor: fix missing handshake synchronization

2020-10-16 Thread Lukasz Wojciechowski
All suggested changes applied and published in v8. W dniu 16.10.2020 o 01:47, Honnappa Nagarahalli pisze: > > >> rte_distributor_return_pkt function which is run on worker cores must wait >> for distributor core to clear handshake on retptr64 before using those >> buffers. While the handshake is

[dpdk-dev] [PATCH v8 16/17] test/distributor: ensure all packets are delivered

2020-10-16 Thread Lukasz Wojciechowski
In all distributor tests there is a chance that tests will send packets to distributor with rte_distributor_process() before workers are started and requested for packets. This patch ensures that all packets are delivered to workers by calling rte_distributor_process() in loop until number of succ

[dpdk-dev] [PATCH v8 14/17] distributor: fix flushing in flight packets

2020-10-16 Thread Lukasz Wojciechowski
rte_distributor_flush() is using total_outstanding() function to calculate if it should still wait for processing packets. However in burst mode only backlog packets were counted. This patch fixes that issue by counting also in flight packets. There are also sum fixes to properly keep count of in

[dpdk-dev] [PATCH v8 11/17] test/distributor: replace delays with spin locks

2020-10-16 Thread Lukasz Wojciechowski
Instead of making delays in test code and waiting for worker hopefully to reach proper states, synchronize worker shutdown test cases with spin lock on atomic variable. Fixes: c0de0eb82e40 ("distributor: switch over to new API") Cc: david.h...@intel.com Cc: sta...@dpdk.org Signed-off-by: Lukasz W

[dpdk-dev] [PATCH v8 15/17] distributor: fix clearing returns buffer

2020-10-16 Thread Lukasz Wojciechowski
The patch clears distributors returns buffer in clear_returns() by setting start and count to 0. Fixes: 775003ad2f96 ("distributor: add new burst-capable library") Cc: david.h...@intel.com Cc: sta...@dpdk.org Signed-off-by: Lukasz Wojciechowski Acked-by: David Hunt --- lib/librte_distributor/r

[dpdk-dev] [PATCH v8 08/17] test/distributor: synchronize lcores statistics

2020-10-16 Thread Lukasz Wojciechowski
Statistics of handled packets are cleared and read on main lcore, while they are increased in workers handlers on different lcores. Without synchronization occasionally showed invalid values. This patch uses atomic mechanisms to synchronize. Relaxed memory model is used. Fixes: c3eabff124e6 ("dis

[dpdk-dev] [PATCH v8 17/17] test/distributor: fix quitting workers

2020-10-16 Thread Lukasz Wojciechowski
Sending number of packets equal to number of workers isn't enough to stop all workers in burst version of distributor as more than one packet can be matched and consumed by a single worker. This way some of workers might not be awaken from rte_distributor_get_pkt(). This patch fixes it by sending

[dpdk-dev] [PATCH v8 10/17] distributor: align API documentation with code

2020-10-16 Thread Lukasz Wojciechowski
After introducing burst API there were some artefacts in the API documentation from legacy single API. Also the rte_distributor_poll_pkt() function return values mismatched the implementation. Fixes: c0de0eb82e40 ("distributor: switch over to new API") Cc: david.h...@intel.com Cc: sta...@dpdk.org

[dpdk-dev] [PATCH v8 05/17] test/distributor: fix shutdown of busy worker

2020-10-16 Thread Lukasz Wojciechowski
The sanity test with worker shutdown delegates all bufs to be processed by a single lcore worker, then it freezes one of the lcore workers and continues to send more bufs. The freezed core shuts down first by calling rte_distributor_return_pkt(). The test intention is to verify if packets assigned

[dpdk-dev] [PATCH v8 07/17] test/distributor: fix freeing mbufs

2020-10-16 Thread Lukasz Wojciechowski
Sanity tests with mbuf alloc and shutdown tests assume that mbufs passed to worker cores are freed in handlers. Such packets should not be returned to the distributor's main core. The only packets that should be returned are the packets send after completion of the tests in quit_workers function.

[dpdk-dev] [PATCH v8 06/17] distributor: fix return pkt calls in single mode

2020-10-16 Thread Lukasz Wojciechowski
In the single legacy version of the distributor synchronization requires continues exchange of buffers between distributor and workers. Empty buffers are sent if only handshake synchronization is required. However calls to the rte_distributor_return_pkt() with 0 buffers in single mode were ignored

[dpdk-dev] [PATCH v8 03/17] distributor: do not use oldpkt when not needed

2020-10-16 Thread Lukasz Wojciechowski
rte_distributor_request_pkt and rte_distributor_get_pkt dereferenced oldpkt parameter when in RTE_DIST_ALG_SINGLE even if number of returned buffers from worker to distributor was 0. This patch passes NULL to the legacy API when number of returned buffers is 0. This allows passing NULL as oldpkt p

[dpdk-dev] [PATCH v8 04/17] distributor: handle worker shutdown in burst mode

2020-10-16 Thread Lukasz Wojciechowski
The burst version of distributor implementation was missing proper handling of worker shutdown. A worker processing packets received from distributor can call rte_distributor_return_pkt() function informing distributor that it want no more packets. Further calls to rte_distributor_request_pkt() or

[dpdk-dev] [PATCH v8 12/17] distributor: fix scalar matching

2020-10-16 Thread Lukasz Wojciechowski
Fix improper indexes while comparing tags. In the find_match_scalar() function: * j iterates over flow tags of following packets; * w iterates over backlog or in flight tags positions. Fixes: 775003ad2f96 ("distributor: add new burst-capable library") Cc: david.h...@intel.com Cc: sta...@dpdk.org

[dpdk-dev] [PATCH v8 09/17] test/distributor: collect return mbufs

2020-10-16 Thread Lukasz Wojciechowski
During quit_workers function distributor's main core processes some packets to wake up pending worker cores so they can quit. As quit_workers acts also as a cleanup procedure for next test case it should also collect these packets returned by workers' handlers, so the cyclic buffer with returned pa

[dpdk-dev] [PATCH v8 02/17] distributor: fix handshake deadlock

2020-10-16 Thread Lukasz Wojciechowski
Synchronization of data exchange between distributor and worker cores is based on 2 handshakes: retptr64 for returning mbufs from workers to distributor and bufptr64 for passing mbufs to workers. Without proper order of verifying those 2 handshakes a deadlock may occur. This can happen when worker

[dpdk-dev] [PATCH v8 00/17] fix distributor synchronization issues

2020-10-16 Thread Lukasz Wojciechowski
During review and verification of the patch created by Sarosh Arif: "test_distributor: prevent memory leakages from the pool" I found out that running distributor unit tests multiple times in a row causes fails. So I investigated all the issues I found. There are few synchronization issues that mi

[dpdk-dev] [PATCH v8 01/17] distributor: fix missing handshake synchronization

2020-10-16 Thread Lukasz Wojciechowski
rte_distributor_return_pkt function which is run on worker cores must wait for distributor core to clear handshake on retptr64 before using those buffers. While the handshake is set distributor core controls buffers and any operations on worker side might overwrite buffers which are unread yet. Sam

Re: [dpdk-dev] [PATCH v2] baseband/turbo_sw: fix memory leak in error path

2020-10-16 Thread Chautru, Nicolas
Thanks Reviewed-by: Nicolas Chautru > -Original Message- > From: wangyunjian > Sent: Thursday, October 15, 2020 6:46 AM > To: dev@dpdk.org > Cc: Chautru, Nicolas ; jerry.lili...@huawei.com; > xudin...@huawei.com; Yunjian Wang ; > sta...@dpdk.org > Subject: [dpdk-dev] [PATCH v2] baseband/

Re: [dpdk-dev] [PATCH] ethdev: unify error code if port ID is invalid

2020-10-16 Thread Ferruh Yigit
On 10/16/2020 10:58 PM, Ferruh Yigit wrote: On 10/16/2020 1:05 PM, Ferruh Yigit wrote: On 10/13/2020 4:32 PM, Ferruh Yigit wrote: On 10/13/2020 3:53 PM, Andrew Rybchenko wrote: Use ENODEV as the error code if specified port ID is invalid. Signed-off-by: Andrew Rybchenko ---   lib/librte_ethd

Re: [dpdk-dev] [RFC] ethdev: unify prefix for static function and variables

2020-10-16 Thread Ferruh Yigit
On 10/14/2020 8:59 AM, Gaëtan Rivet wrote: On 14/10/20 09:25 +0300, Andrew Rybchenko wrote: On 10/13/20 7:56 PM, Ferruh Yigit wrote: Prefix static function and variables with 'eth_dev'. For some 'rte_' prefix dropped, and for others 'eth_dev' added. This is useful to differentiate public and s

Re: [dpdk-dev] [PATCH] ethdev: unify error code if port ID is invalid

2020-10-16 Thread Ferruh Yigit
On 10/16/2020 1:05 PM, Ferruh Yigit wrote: On 10/13/2020 4:32 PM, Ferruh Yigit wrote: On 10/13/2020 3:53 PM, Andrew Rybchenko wrote: Use ENODEV as the error code if specified port ID is invalid. Signed-off-by: Andrew Rybchenko ---   lib/librte_ethdev/rte_ethdev.c | 44

Re: [dpdk-dev] [RFC v2 2/2] doc: announce queue stats moving to xstats

2020-10-16 Thread Ajit Khaparde
On Fri, Oct 16, 2020 at 8:07 AM Stephen Hemminger wrote: > > On Fri, 16 Oct 2020 16:34:46 +0200 > Thomas Monjalon wrote: > > > 14/10/2020 10:43, Kinsella, Ray: > > > > > > On 14/10/2020 03:26, Ferruh Yigit wrote: > > > > Queue stats will be removed from basic stats to xstats. > > > > > > > > It w

Re: [dpdk-dev] [RFC v2 1/2] ethdev: provide device flag to bypass ethdev queue xstats

2020-10-16 Thread Ferruh Yigit
On 10/16/2020 3:32 PM, Thomas Monjalon wrote: 16/10/2020 14:16, Ferruh Yigit: On 10/14/2020 3:26 AM, Ferruh Yigit wrote: Queue stats are stored in 'struct rte_eth_stats' as array and array size is defined by 'RTE_ETHDEV_QUEUE_STAT_CNTRS' compile time flag. As a result of technical board discus

Re: [dpdk-dev] [PATCH v12 1/6] ethdev: introduce Rx buffer split

2020-10-16 Thread Ferruh Yigit
On 10/16/2020 8:22 PM, Ferruh Yigit wrote: On 10/16/2020 5:44 PM, Viacheslav Ovsiienko wrote: The DPDK datapath in the transmit direction is very flexible. An application can build the multi-segment packet and manages almost all data aspects - the memory pools where segments are allocated from,

Re: [dpdk-dev] [PATCH v12 1/6] ethdev: introduce Rx buffer split

2020-10-16 Thread Ferruh Yigit
On 10/16/2020 5:44 PM, Viacheslav Ovsiienko wrote: The DPDK datapath in the transmit direction is very flexible. An application can build the multi-segment packet and manages almost all data aspects - the memory pools where segments are allocated from, the segment lengths, the memory attributes l

Re: [dpdk-dev] [PATCH v6 2/3] ethdev: reset all when releasing a port

2020-10-16 Thread Ajit Khaparde
On Fri, Oct 16, 2020 at 6:33 AM Thomas Monjalon wrote: > > The function rte_eth_dev_release_port() is partially resetting > the struct rte_eth_dev. The drivers were completing this reset > with more pointers set to NULL in the close or remove operations. > > More pointers are reset at ethdev level

Re: [dpdk-dev] [PATCH v2 00/11] ethdev: change device stop to return status

2020-10-16 Thread Ferruh Yigit
On 10/15/2020 2:30 PM, Andrew Rybchenko wrote: Very late attempt to close deprecation notice sent long time ago. Together with Thomas's changes for dev_close it will do the job. Ivan Ilchenko (11): ethdev: change eth dev stop function to return int test/event: check eth dev stop status

Re: [dpdk-dev] [PATCH v2 11/11] ethdev: change stop device callback to return int

2020-10-16 Thread Ferruh Yigit
On 10/15/2020 2:30 PM, Andrew Rybchenko wrote: From: Ivan Ilchenko Change eth_dev_stop_t return value from void to int. Make eth_dev_stop_t implementations across all drivers to return negative errno values if case of error conditions. Signed-off-by: Ivan Ilchenko Signed-off-by: Andrew Rybche

Re: [dpdk-dev] [PATCH v6 0/3] cleanup ethdev close operation

2020-10-16 Thread Ferruh Yigit
On 10/16/2020 2:32 PM, Thomas Monjalon wrote: Most of the patches from the v3 have been merged already. The remaining 3 patches are reworked in v4: - reset dev_started in some PMDs - selectively reset pointers in rte_eth_dev_release_port() - fix error handling v5: change error code to E

[dpdk-dev] [PATCH v3 1/3] lib/hash: integrate RCU QSBR

2020-10-16 Thread Dharmik Thakkar
Currently, users have to use external RCU mechanisms to free resources when using lock free hash algorithm. Integrate RCU QSBR process to make it easier for the applications to use lock free algorithm. Refer to RCU documentation to understand various aspects of integrating RCU library into other

[dpdk-dev] [PATCH v3 2/3] test/hash: replace rte atomic with C11 atomic APIs

2020-10-16 Thread Dharmik Thakkar
Replace rte_atomic APIs with C11 atomic APIs in test_hash_readwrite_lf_perf.c Signed-off-by: Dharmik Thakkar Reviewed-by: Ruifeng Wang --- app/test/test_hash_readwrite_lf_perf.c | 89 +++--- 1 file changed, 36 insertions(+), 53 deletions(-) diff --git a/app/test/test_hash_r

[dpdk-dev] [PATCH 0/3] hash: integrate RCU QSBR

2020-10-16 Thread Dharmik Thakkar
Integrate RCU QSBR to make it easier for the applications to use lock free algorithm. Resource reclamation implementation was split from the original series, and has already been part of RCU library. Rework the series to base hash integration on RCU reclamation APIs. Refer 'Resource reclamation f

[dpdk-dev] [PATCH v3 3/3] test/hash: add tests for integrated RCU QSBR

2020-10-16 Thread Dharmik Thakkar
Add functional and performance tests for the integrated RCU QSBR. Suggested-by: Honnappa Nagarahalli Signed-off-by: Dharmik Thakkar Reviewed-by: Ruifeng Wang --- app/test/test_hash.c | 390 - app/test/test_hash_readwrite_lf_perf.c | 171 ++- 2

Re: [dpdk-dev] [PATCH v11 1/6] ethdev: introduce Rx buffer split

2020-10-16 Thread Slava Ovsiienko
> -Original Message- > From: Thomas Monjalon > Sent: Friday, October 16, 2020 18:14 > To: Slava Ovsiienko > Cc: dev@dpdk.org; step...@networkplumber.org; ferruh.yi...@intel.com; > olivier.m...@6wind.com; jerinjac...@gmail.com; > maxime.coque...@redhat.com; david.march...@redhat.com; > ary

Re: [dpdk-dev] [PATCH] doc: add instructions for building 32-bit DPDK

2020-10-16 Thread Luca Boccassi
On Fri, 2020-10-16 at 16:09 +0100, Bruce Richardson wrote: > For users with 32-bit applications who wish to use DPDK we need to provide > instructions on creating a 32-bit build of DPDK with meson. Therefore add a > section with this information to the GSG. > > Signed-off-by: Bruce Richardson > -

Re: [dpdk-dev] [PATCH v2 01/11] ethdev: change eth dev stop function to return int

2020-10-16 Thread Andrew Rybchenko
On 10/16/20 2:20 PM, Kinsella, Ray wrote: On 15/10/2020 14:30, Andrew Rybchenko wrote: From: Ivan Ilchenko Change rte_eth_dev_stop() return value from void to int and return negative errno values in case of error conditions. Also update the usage of the function in ethdev according to the new

Re: [dpdk-dev] [PATCH v12 0/6] ethdev: introduce Rx buffer split

2020-10-16 Thread Slava Ovsiienko
> -Original Message- > From: Ferruh Yigit > Sent: Friday, October 16, 2020 20:05 > To: Slava Ovsiienko ; dev@dpdk.org > Cc: NBU-Contact-Thomas Monjalon ; > step...@networkplumber.org; olivier.m...@6wind.com; > jerinjac...@gmail.com; maxime.coque...@redhat.com; > david.march...@redhat.com;

Re: [dpdk-dev] [PATCH v12 0/6] ethdev: introduce Rx buffer split

2020-10-16 Thread Ferruh Yigit
On 10/16/2020 5:44 PM, Viacheslav Ovsiienko wrote: The DPDK datapath in the transmit direction is very flexible. An application can build the multi-segment packet and manages almost all data aspects - the memory pools where segments are allocated from, the segment lengths, the memory attributes l

Re: [dpdk-dev] [PATCH v11 2/6] app/testpmd: add multiple pools per core creation

2020-10-16 Thread Ferruh Yigit
On 10/16/2020 4:55 PM, Slava Ovsiienko wrote: -Original Message- From: Ferruh Yigit Sent: Friday, October 16, 2020 18:52 To: Slava Ovsiienko ; dev@dpdk.org Cc: NBU-Contact-Thomas Monjalon ; step...@networkplumber.org; olivier.m...@6wind.com; jerinjac...@gmail.com; maxime.coque...@redhat.

Re: [dpdk-dev] [PATCH v4 12/14] acl: deduplicate AVX512 code paths

2020-10-16 Thread Thomas Monjalon
16/10/2020 17:56, Ferruh Yigit: > On 10/6/2020 4:03 PM, Konstantin Ananyev wrote: > > @@ -120,7 +161,7 @@ _m256_mask_gather_epi8x4(__m256i pdata, __mmask8 mask) > > > > static const uint32_t zero; > > icc complains about this, although it is static [1]. > Would it be acceptable to initializ

Re: [dpdk-dev] [PATCH v2 01/11] ethdev: change eth dev stop function to return int

2020-10-16 Thread Ferruh Yigit
On 10/15/2020 2:30 PM, Andrew Rybchenko wrote: From: Ivan Ilchenko Change rte_eth_dev_stop() return value from void to int and return negative errno values in case of error conditions. Also update the usage of the function in ethdev according to the new return type. Signed-off-by: Ivan Ilchenk

Re: [dpdk-dev] [PATCH v2 0/3] Allow overriding of build-time constants

2020-10-16 Thread David Marchand
On Fri, Oct 16, 2020 at 5:56 PM Bruce Richardson wrote: > > librte_eal.so is indeed built with the 64 value: > > $ pahole -C rte_mem_config build/install/lib64/librte_eal.so |grep memsegs > > die__process_function: tag not supported (INVALID)! > > struct rte_memseg_list memsegs[64];

[dpdk-dev] [PATCH v12 4/6] app/testpmd: add rxpkts commands and parameters

2020-10-16 Thread Viacheslav Ovsiienko
Add command line parameter: --rxpkts=X[,Y] Sets the length of segments to scatter packets on receiving if split feature is engaged. Affects only the queues configured with split offloads (currently BUFFER_SPLIT is supported only). Add interactive mode command: testpmd> set rxpkts (x[,y]*) Wher

Re: [dpdk-dev] [PATCH v2] doc: make sphinx errors more visible

2020-10-16 Thread Thomas Monjalon
16/10/2020 14:43, Bruce Richardson: > On Fri, Oct 16, 2020 at 02:39:06PM +0200, Thomas Monjalon wrote: > > When running Sphinx through ninja, the wrapper configured in meson > > redirects stdout to a log file. > > It makes more important to print issues on stderr. > > > > Some warnings generated b

[dpdk-dev] [PATCH v12 3/6] app/testpmd: add buffer split offload configuration

2020-10-16 Thread Viacheslav Ovsiienko
This patch add support for RTE_ETH_RX_OFFLOAD_BUFFER_SPLIT providing per queue configuration for this offload. Signed-off-by: Viacheslav Ovsiienko --- app/test-pmd/cmdline.c | 21 +++-- app/test-pmd/config.c | 9 + 2 files changed, 20 insertions(+), 10 deletions(-) dif

[dpdk-dev] [PATCH v12 6/6] app/testpmd: add extended Rx queue setup

2020-10-16 Thread Viacheslav Ovsiienko
If Rx queue is configured with split feature the extended setup with specified segment sizes and pool will be performed. Signed-off-by: Viacheslav Ovsiienko --- app/test-pmd/cmdline.c | 12 ++-- app/test-pmd/testpmd.c | 49 +++-- app/test-pmd/t

[dpdk-dev] [PATCH v12 5/6] app/testpmd: add rxoffs commands and parameters

2020-10-16 Thread Viacheslav Ovsiienko
Add command line parameter: --rxoffs=X[,Y] Sets the offsets of packet segments from the beginning of the receiving buffer if split feature is engaged. Affects only the queues configured with split offloads (currently BUFFER_SPLIT is supported only). Add interactive mode command, providing the sa

[dpdk-dev] [PATCH v12 2/6] app/testpmd: add multiple pools per core creation

2020-10-16 Thread Viacheslav Ovsiienko
The command line parameter --mbuf-size is updated, it can handle the multiple values like the following: --mbuf-size=2176,512,768,4096 specifying the creation the extra memory pools with the requested mbuf data buffer sizes. If some buffer split feature is engaged the extra memory pools can be us

[dpdk-dev] [PATCH v12 1/6] ethdev: introduce Rx buffer split

2020-10-16 Thread Viacheslav Ovsiienko
The DPDK datapath in the transmit direction is very flexible. An application can build the multi-segment packet and manages almost all data aspects - the memory pools where segments are allocated from, the segment lengths, the memory attributes like external buffers, registered for DMA, etc. In th

[dpdk-dev] [PATCH v12 0/6] ethdev: introduce Rx buffer split

2020-10-16 Thread Viacheslav Ovsiienko
The DPDK datapath in the transmit direction is very flexible. An application can build the multi-segment packet and manages almost all data aspects - the memory pools where segments are allocated from, the segment lengths, the memory attributes like external buffers, registered for DMA, etc. In th

Re: [dpdk-dev] [PATCH v2 0/3] Allow overriding of build-time constants

2020-10-16 Thread Bruce Richardson
On Fri, Oct 16, 2020 at 05:47:45PM +0200, David Marchand wrote: > Hello Bruce, > > On Thu, Sep 3, 2020 at 4:50 PM Bruce Richardson > wrote: > > > > A number of the more advanced DPDK build settings which are not expected to > > be user modified are stored in config/rte_config.h. In some cases, fo

Re: [dpdk-dev] [PATCH v11 1/6] ethdev: introduce Rx buffer split

2020-10-16 Thread Ferruh Yigit
On 10/16/2020 5:05 PM, Thomas Monjalon wrote: 16/10/2020 17:47, Ferruh Yigit: On 10/16/2020 2:39 PM, Viacheslav Ovsiienko wrote: +__rte_experimental +struct rte_eth_rxseg_split { + struct rte_mempool *mp; /**< Memory pool to allocate segment from. */ + uint16_t length; /**< Segment

Re: [dpdk-dev] [PATCH v11 1/6] ethdev: introduce Rx buffer split

2020-10-16 Thread Thomas Monjalon
16/10/2020 17:47, Ferruh Yigit: > On 10/16/2020 2:39 PM, Viacheslav Ovsiienko wrote: > > +__rte_experimental > > +struct rte_eth_rxseg_split { > > + struct rte_mempool *mp; /**< Memory pool to allocate segment from. */ > > + uint16_t length; /**< Segment data length, configures split point. */

Re: [dpdk-dev] [PATCH v2 1/2] eal/windows: fix symbol export

2020-10-16 Thread Thomas Monjalon
16/10/2020 17:48, Kinsella, Ray: > On 16/10/2020 12:22, David Marchand wrote: > > On Fri, Oct 16, 2020 at 1:16 PM Kinsella, Ray wrote: > >> > >> The windows exports and the map files, feels like duplication of effort. > >> Could we massage one into the other during the build? > > > > That's what

Re: [dpdk-dev] [PATCH v4 12/14] acl: deduplicate AVX512 code paths

2020-10-16 Thread Ferruh Yigit
On 10/6/2020 4:03 PM, Konstantin Ananyev wrote: Current rte_acl_classify_avx512x32() and rte_acl_classify_avx512x16() code paths are very similar. The only differences are due to 256/512 register/instrincts naming conventions. So to deduplicate the code: - Move common code into “acl_run_avx512

Re: [dpdk-dev] [PATCH] doc: fix project version in guides

2020-10-16 Thread Thomas Monjalon
16/10/2020 04:50, Thomas Monjalon: > The DPDK version should appear in the top left corner of the HTML guides. > When dropping make, the variable version has been removed, > so Sphinx stopped integrating the version number. > > Fixes: a4362f150204 ("doc: build without using make") > > Signed-off-

Re: [dpdk-dev] [PATCH v11 2/6] app/testpmd: add multiple pools per core creation

2020-10-16 Thread Slava Ovsiienko
> -Original Message- > From: Ferruh Yigit > Sent: Friday, October 16, 2020 18:52 > To: Slava Ovsiienko ; dev@dpdk.org > Cc: NBU-Contact-Thomas Monjalon ; > step...@networkplumber.org; olivier.m...@6wind.com; > jerinjac...@gmail.com; maxime.coque...@redhat.com; > david.march...@redhat.com;

Re: [dpdk-dev] [PATCH v2 1/2] eal/windows: fix symbol export

2020-10-16 Thread Bruce Richardson
On Fri, Oct 16, 2020 at 04:48:59PM +0100, Kinsella, Ray wrote: > > On 16/10/2020 12:22, David Marchand wrote: > > On Fri, Oct 16, 2020 at 1:16 PM Kinsella, Ray wrote: > >> > >> > >> The windows exports and the map files, feels like duplication of effort. > >> Could we massage one into the other d

Re: [dpdk-dev] [PATCH v11 2/6] app/testpmd: add multiple pools per core creation

2020-10-16 Thread Ferruh Yigit
On 10/16/2020 4:48 PM, Slava Ovsiienko wrote: -Original Message- From: Ferruh Yigit Sent: Friday, October 16, 2020 18:39 To: Slava Ovsiienko ; dev@dpdk.org Cc: NBU-Contact-Thomas Monjalon ; step...@networkplumber.org; olivier.m...@6wind.com; jerinjac...@gmail.com; maxime.coque...@redhat.

Re: [dpdk-dev] [PATCH v2 1/2] eal/windows: fix symbol export

2020-10-16 Thread Kinsella, Ray
On 16/10/2020 12:22, David Marchand wrote: > On Fri, Oct 16, 2020 at 1:16 PM Kinsella, Ray wrote: >> >> >> The windows exports and the map files, feels like duplication of effort. >> Could we massage one into the other during the build? > > That's what is done with map-to-win.py, unless we have

Re: [dpdk-dev] [PATCH v11 2/6] app/testpmd: add multiple pools per core creation

2020-10-16 Thread Slava Ovsiienko
> -Original Message- > From: Ferruh Yigit > Sent: Friday, October 16, 2020 18:39 > To: Slava Ovsiienko ; dev@dpdk.org > Cc: NBU-Contact-Thomas Monjalon ; > step...@networkplumber.org; olivier.m...@6wind.com; > jerinjac...@gmail.com; maxime.coque...@redhat.com; > david.march...@redhat.com;

Re: [dpdk-dev] [PATCH v2 0/3] Allow overriding of build-time constants

2020-10-16 Thread David Marchand
Hello Bruce, On Thu, Sep 3, 2020 at 4:50 PM Bruce Richardson wrote: > > A number of the more advanced DPDK build settings which are not expected to > be user modified are stored in config/rte_config.h. In some cases, for a > custom build a user may want to override those settings via CFLAGS, so w

Re: [dpdk-dev] [PATCH v11 1/6] ethdev: introduce Rx buffer split

2020-10-16 Thread Ferruh Yigit
On 10/16/2020 2:39 PM, Viacheslav Ovsiienko wrote: The DPDK datapath in the transmit direction is very flexible. An application can build the multi-segment packet and manages almost all data aspects - the memory pools where segments are allocated from, the segment lengths, the memory attributes l

Re: [dpdk-dev] [PATCH v9 01/18] eal: add max SIMD bitwidth

2020-10-16 Thread Kinsella, Ray
On 16/10/2020 15:27, Ciara Power wrote: > This patch adds a max SIMD bitwidth EAL configuration. The API allows > for an app to set this value. It can also be set using EAL argument > --force-max-simd-bitwidth, which will lock the value and override any > modifications made by the app. > > Each

Re: [dpdk-dev] [PATCH v4 2/8] test/distributor: synchronize lcores statistics

2020-10-16 Thread Honnappa Nagarahalli
> > W dniu 16.10.2020 o 14:43, Lukasz Wojciechowski pisze: > > Hi Honnappa, > > > > Thank you for your answer. > > In the current v7 version I followed your advise and used RELAXED memory > model. > > And it works without any issues. I guess after fixing other issues found > since v4 the distrib

[dpdk-dev] [PATCH v11 8/8] app/testfib: add support for different lookup functions

2020-10-16 Thread Vladimir Medvedkin
Added -v option to switch between different lookup implementations to measure their performance and correctness. Signed-off-by: Vladimir Medvedkin --- app/test-fib/main.c | 65 ++--- 1 file changed, 62 insertions(+), 3 deletions(-) diff --git a/ap

[dpdk-dev] [PATCH v11 7/8] fib6: introduce AVX512 lookup

2020-10-16 Thread Vladimir Medvedkin
Add new lookup implementation for FIB6 trie algorithm using AVX512 instruction set Signed-off-by: Vladimir Medvedkin Acked-by: Konstantin Ananyev --- doc/guides/rel_notes/release_20_11.rst | 2 +- lib/librte_fib/meson.build | 17 +++ lib/librte_fib/rte_fib6.c | 2 +

[dpdk-dev] [PATCH v11 6/8] fib6: move lookup definition into the header file

2020-10-16 Thread Vladimir Medvedkin
Move trie table layout and lookup definition into the private header file. This is necessary for implementing a vectorized lookup function in a separate .с file. Signed-off-by: Vladimir Medvedkin Acked-by: Konstantin Ananyev --- lib/librte_fib/trie.c | 121 --

[dpdk-dev] [PATCH v11 5/8] fib6: make lookup function type configurable

2020-10-16 Thread Vladimir Medvedkin
Add type argument to trie_get_lookup_fn() Now it only supports RTE_FIB6_TRIE_SCALAR Add new rte_fib6_set_lookup_fn() - user can change lookup function type runtime. Signed-off-by: Vladimir Medvedkin Acked-by: Konstantin Ananyev --- lib/librte_fib/rte_fib6.c | 20 +++- lib/

[dpdk-dev] [PATCH v11 4/8] fib: introduce AVX512 lookup

2020-10-16 Thread Vladimir Medvedkin
Add new lookup implementation for DIR24_8 algorithm using AVX512 instruction set Signed-off-by: Vladimir Medvedkin Acked-by: Konstantin Ananyev --- doc/guides/rel_notes/release_20_11.rst | 3 + lib/librte_fib/dir24_8.c | 38 lib/librte_fib/dir24_8_avx512.c| 165

[dpdk-dev] [PATCH v11 3/8] fib: move lookup definition into the header file

2020-10-16 Thread Vladimir Medvedkin
Move dir24_8 table layout and lookup definition into the private header file. This is necessary for implementing a vectorized lookup function in a separate .с file. Signed-off-by: Vladimir Medvedkin Acked-by: Konstantin Ananyev --- lib/librte_fib/dir24_8.c | 225 +---

[dpdk-dev] [PATCH v11 2/8] fib: make lookup function type configurable

2020-10-16 Thread Vladimir Medvedkin
Add type argument to dir24_8_get_lookup_fn() Now it supports 3 different lookup implementations: RTE_FIB_DIR24_8_SCALAR_MACRO RTE_FIB_DIR24_8_SCALAR_INLINE RTE_FIB_DIR24_8_SCALAR_UNI Add new rte_fib_set_lookup_fn() - user can change lookup function type runtime. Signed-off-by: Vladimir Medvedk

[dpdk-dev] [PATCH v11 0/8] fib: implement AVX512 vector lookup

2020-10-16 Thread Vladimir Medvedkin
This patch series implements vectorized lookup using AVX512 for ipv4 dir24_8 and ipv6 trie algorithms. Also introduced rte_fib_set_lookup_fn() to change lookup function type. Added option to select lookup function type in testfib application. Depends-on: patch-81125 ("eal: add max SIMD bitwidth")

[dpdk-dev] [PATCH v11 1/8] eal/x86: introduce AVX 512-bit type

2020-10-16 Thread Vladimir Medvedkin
New data type to manipulate 512 bit AVX values. Signed-off-by: Vladimir Medvedkin Acked-by: Konstantin Ananyev --- lib/librte_eal/x86/include/rte_vect.h | 19 +++ 1 file changed, 19 insertions(+) diff --git a/lib/librte_eal/x86/include/rte_vect.h b/lib/librte_eal/x86/include/r

Re: [dpdk-dev] [PATCH v8 2/3] ethdev: tunnel offload model

2020-10-16 Thread Kinsella, Ray
On 16/10/2020 13:51, Gregory Etelson wrote: > From: Eli Britstein > > rte_flow API provides the building blocks for vendor-agnostic flow > classification offloads. The rte_flow "patterns" and "actions" > primitives are fine-grained, thus enabling DPDK applications the > flexibility to offload

Re: [dpdk-dev] [PATCH v11 2/6] app/testpmd: add multiple pools per core creation

2020-10-16 Thread Ferruh Yigit
On 10/16/2020 4:05 PM, Ferruh Yigit wrote: On 10/16/2020 2:39 PM, Viacheslav Ovsiienko wrote: The command line parameter --mbuf-size is updated, it can handle the multiple values like the following: --mbuf-size=2176,512,768,4096 specifying the creation the extra memory pools with the requested

Re: [dpdk-dev] [PATCH v10 0/8] fib: implement AVX512 vector lookup

2020-10-16 Thread Medvedkin, Vladimir
Hello, On 16/10/2020 16:15, David Marchand wrote: On Tue, Oct 13, 2020 at 3:14 PM Vladimir Medvedkin wrote: This patch series implements vectorized lookup using AVX512 for ipv4 dir24_8 and ipv6 trie algorithms. Also introduced rte_fib_set_lookup_fn() to change lookup function type. Added opti

Re: [dpdk-dev] [PATCH v10 0/8] fib: implement AVX512 vector lookup

2020-10-16 Thread David Marchand
On Tue, Oct 13, 2020 at 3:14 PM Vladimir Medvedkin wrote: > > This patch series implements vectorized lookup using AVX512 for > ipv4 dir24_8 and ipv6 trie algorithms. > Also introduced rte_fib_set_lookup_fn() to change lookup function type. > Added option to select lookup function type in testfib

Re: [dpdk-dev] [PATCH v11 1/6] ethdev: introduce Rx buffer split

2020-10-16 Thread Thomas Monjalon
16/10/2020 15:39, Viacheslav Ovsiienko: > + if (offset != 0) { > + if (seg_capa->offset_allowed == 0) { > + RTE_ETHDEV_LOG(ERR, "Rx segmentation with > offset is not supported\n"); > + return -ENOTSUP; > +

[dpdk-dev] [PATCH] doc: add instructions for building 32-bit DPDK

2020-10-16 Thread Bruce Richardson
For users with 32-bit applications who wish to use DPDK we need to provide instructions on creating a 32-bit build of DPDK with meson. Therefore add a section with this information to the GSG. Signed-off-by: Bruce Richardson --- doc/guides/linux_gsg/build_dpdk.rst | 25 +

Re: [dpdk-dev] [RFC v2 2/2] doc: announce queue stats moving to xstats

2020-10-16 Thread Stephen Hemminger
On Fri, 16 Oct 2020 16:34:46 +0200 Thomas Monjalon wrote: > 14/10/2020 10:43, Kinsella, Ray: > > > > On 14/10/2020 03:26, Ferruh Yigit wrote: > > > Queue stats will be removed from basic stats to xstats. > > > > > > It will be PMDs responsibility to fill queue stats based on number of > > > q

Re: [dpdk-dev] [PATCH v11 2/6] app/testpmd: add multiple pools per core creation

2020-10-16 Thread Ferruh Yigit
On 10/16/2020 2:39 PM, Viacheslav Ovsiienko wrote: The command line parameter --mbuf-size is updated, it can handle the multiple values like the following: --mbuf-size=2176,512,768,4096 specifying the creation the extra memory pools with the requested mbuf data buffer sizes. If some buffer spli

Re: [dpdk-dev] [RFC v2] lib/hash: integrate RCU QSBR

2020-10-16 Thread Dharmik Thakkar
Hi David, > On Oct 16, 2020, at 8:53 AM, David Marchand wrote: > > Hello Dharmik, > > On Wed, Sep 2, 2020 at 12:01 AM Dharmik Thakkar > wrote: >>> [Wang, Yipeng] >>> Hi, Dharmik, >>> Thanks for the patch. It generally looks good to me. >> >> That’s great. I will convert it to a patch. >> >>

Re: [dpdk-dev] [PATCH v5] app/testpmd: fix the default RSS key configuration

2020-10-16 Thread Ophir Munk
Ferruh Yigit wrote: > Sent: Friday, October 16, 2020 1:57 PM > >> Lijun's idea can work. There was a problem in implementation related > >> to the key size assumption, which can be fixed. > >> > >> Even it is fixed, when user gives a rss rule without a key, we are > >> getting key from device an

Re: [dpdk-dev] [RFC v2 2/2] doc: announce queue stats moving to xstats

2020-10-16 Thread Jerin Jacob
On Fri, Oct 16, 2020 at 8:05 PM Thomas Monjalon wrote: > > 14/10/2020 10:43, Kinsella, Ray: > > > > On 14/10/2020 03:26, Ferruh Yigit wrote: > > > Queue stats will be removed from basic stats to xstats. > > > > > > It will be PMDs responsibility to fill queue stats based on number of > > > queues

Re: [dpdk-dev] [RFC v2 2/2] doc: announce queue stats moving to xstats

2020-10-16 Thread Bruce Richardson
On Fri, Oct 16, 2020 at 04:34:46PM +0200, Thomas Monjalon wrote: > 14/10/2020 10:43, Kinsella, Ray: > > > > On 14/10/2020 03:26, Ferruh Yigit wrote: > > > Queue stats will be removed from basic stats to xstats. > > > > > > It will be PMDs responsibility to fill queue stats based on number of > >

Re: [dpdk-dev] [RFC v2 2/2] doc: announce queue stats moving to xstats

2020-10-16 Thread Thomas Monjalon
14/10/2020 10:43, Kinsella, Ray: > > On 14/10/2020 03:26, Ferruh Yigit wrote: > > Queue stats will be removed from basic stats to xstats. > > > > It will be PMDs responsibility to fill queue stats based on number of > > queues they have. > > > > Until all PMDs implement the xstats, a temporary >

[dpdk-dev] [PATCH v9 18/18] acl: add checks for max SIMD bitwidth

2020-10-16 Thread Ciara Power
When choosing a vector path to take, an extra condition must be satisfied to ensure the max SIMD bitwidth allows for the CPU enabled path. These checks are added in the check alg helper functions. Cc: Konstantin Ananyev Signed-off-by: Ciara Power Acked-by: Konstantin Ananyev Tested-by: Konstan

Re: [dpdk-dev] [RFC v2 1/2] ethdev: provide device flag to bypass ethdev queue xstats

2020-10-16 Thread Thomas Monjalon
16/10/2020 14:16, Ferruh Yigit: > On 10/14/2020 3:26 AM, Ferruh Yigit wrote: > > Queue stats are stored in 'struct rte_eth_stats' as array and array size > > is defined by 'RTE_ETHDEV_QUEUE_STAT_CNTRS' compile time flag. > > > > As a result of technical board discussion, decided to remove the queu

[dpdk-dev] [PATCH v9 17/18] node: choose vector path at runtime

2020-10-16 Thread Ciara Power
When choosing the vector path, max SIMD bitwidth is now checked to ensure the vector path is suitable. To do this, the scalar function is chosen by default in the struct, but at node initialisation time, this function pointer is updated to the vector version if supported, and if it is within the ma

[dpdk-dev] [PATCH v9 15/18] efd: add checks for max SIMD bitwidth

2020-10-16 Thread Ciara Power
When choosing a vector path to take, an extra condition must be satisfied to ensure the max SIMD bitwidth allows for the CPU enabled path. Cc: Byron Marohn Cc: Yipeng Wang Signed-off-by: Ciara Power Acked-by: Yipeng Wang --- v4: Updated enum name. --- lib/librte_efd/rte_efd.c | 7 +-- 1

[dpdk-dev] [PATCH v9 16/18] net: add checks for max SIMD bitwidth

2020-10-16 Thread Ciara Power
When choosing a vector path to take, an extra condition must be satisfied to ensure the max SIMD bitwidth allows for the CPU enabled path. The vector path was initially chosen in RTE_INIT, however this is no longer suitable as we cannot check the max SIMD bitwidth at that time. Default handlers ar

[dpdk-dev] [PATCH v9 13/18] distributor: add checks for max SIMD bitwidth

2020-10-16 Thread Ciara Power
When choosing a vector path to take, an extra condition must be satisfied to ensure the max SIMD bitwidth allows for the CPU enabled path. Cc: David Hunt Signed-off-by: Ciara Power Acked-by: David Hunt --- v4: Updated enum name. --- lib/librte_distributor/rte_distributor.c | 3 ++- 1 file ch

[dpdk-dev] [PATCH v9 14/18] member: add checks for max SIMD bitwidth

2020-10-16 Thread Ciara Power
When choosing a vector path to take, an extra condition must be satisfied to ensure the max SIMD bitwidth allows for the CPU enabled path. Cc: Yipeng Wang Cc: Sameh Gobriel Signed-off-by: Ciara Power Acked-by: Yipeng Wang --- v4: Updated enum name. --- lib/librte_member/rte_member_ht.c | 3

  1   2   3   >