RE: [PATCH 00/16] remove use of VLAs for Windows built code

2024-04-18 Thread Konstantin Ananyev
Hi Tyler, > As per guidance technical board meeting 2024/04/17. This series > removes the use of VLAs from code built for Windows for all 3 > toolchains. If there are additional opportunities to convert VLAs > to regular C arrays please provide the details for incorporation > into the series. I s

RE: [PATCH 00/16] remove use of VLAs for Windows built code

2024-04-18 Thread Konstantin Ananyev
> On Thu, Apr 18, 2024 at 12:11:35PM +0000, Konstantin Ananyev wrote: > > Hi Tyler, > > > > > As per guidance technical board meeting 2024/04/17. This series > > > removes the use of VLAs from code built for Windows for all 3 > > > toolchains. If the

RE: [PATCH 4/4] mempool: use lcore API to check if lcore ID is valid

2023-03-10 Thread Konstantin Ananyev
> > > > > > > > > > > > > > Use lcore API to check if the lcore ID is valid. The runtime check > > > does not add much value. > > > > From my perspective it adds a perfect value: > > Only threads with valid lcore id have their own default mempool cache. > The threads would call 'rte_lcore_id()

Re: [PATCH v4] lib/bpf: Rename bpf function names to avoid potential conflict with libpcap

2023-03-12 Thread Konstantin Ananyev
12/03/2023 06:20, J.J. Martzki пишет: The library libpcap has their function 'bpf_validate' either so there would be a multiple definition issue when linking with librte_bpf.a and libpcap.a statically (Same as http://dpdk.org/patch/52631). So just rename the function names to avoid such issue. S

RE: [PATCH v4] lib/bpf: Rename bpf function names to avoid potential conflict with libpcap

2023-03-13 Thread Konstantin Ananyev
> I've read the libbpf code again and I found some other functions with > pure 'bpf_' prefix. Should we rename all the functions whose names > start with pure 'bpf_'? I thought you already prefixed all non-static functions in the lib... Or do I miss something?

Re: [PATCH v5] lib/bpf: Rename bpf function names to avoid potential conflict with libpcap

2023-03-15 Thread Konstantin Ananyev
*bvf) } int -bpf_validate(struct rte_bpf *bpf) +__rte_bpf_validate(struct rte_bpf *bpf) { int32_t rc; struct bpf_verifier bvf; Acked-by: Konstantin Ananyev

RE: [PATCH 21.11] ring: squash gcc 12.2.1 warnings

2023-03-16 Thread Konstantin Ananyev
> > On Tue, Dec 20, 2022 at 1:38 PM Kevin Traynor wrote: > > > > gcc 12.2.1 on Fedora 37 is giving stringop-overread and > > stringop-overflow warnings when compiled with --buildtype=debug > > e.g. [1]. > > > > These are not yet fixed on main branch. They look similar > > to the overflow issues

Re: 回复: [PATCH v3 2/3] net/i40e: enable direct rearm with separate API

2023-03-19 Thread Konstantin Ananyev
+int +i40e_tx_fill_sw_ring(void *tx_queue, + struct rte_eth_rxq_rearm_data *rxq_rearm_data) { + struct i40e_tx_queue *txq = tx_queue; + struct i40e_tx_entry *txep; + void **rxep; + struct rte_mbuf *m; + int i, n; + int nb_rearm = 0; + + if

RE: [PATCH v3] telemetry: use portable syntax to initialize array

2023-04-04 Thread Konstantin Ananyev
> -Original Message- > From: Tyler Retzlaff > Sent: Monday, April 3, 2023 7:59 PM > To: dev@dpdk.org > Cc: ciara.po...@intel.com; bruce.richard...@intel.com; > david.march...@redhat.com; tho...@monjalon.net; Tyler Retzlaff > > Subject: [PATCH v3] telemetry: use portable syntax to init

RE: [PATCH 3/9] eal: use barrier intrinsics when compiling with msvc

2023-04-04 Thread Konstantin Ananyev
> Inline assembly is not supported for msvc x64 instead use > _{Read,Write,ReadWrite}Barrier() intrinsics. > > Signed-off-by: Tyler Retzlaff > --- > lib/eal/include/generic/rte_atomic.h | 4 > lib/eal/x86/include/rte_atomic.h | 10 +- > 2 files changed, 13 insertions(+), 1 d

Re: [PATCH 3/9] eal: use barrier intrinsics when compiling with msvc

2023-04-04 Thread Konstantin Ananyev
04/04/2023 16:49, Tyler Retzlaff пишет: On Tue, Apr 04, 2023 at 12:11:07PM +, Konstantin Ananyev wrote: Inline assembly is not supported for msvc x64 instead use _{Read,Write,ReadWrite}Barrier() intrinsics. Signed-off-by: Tyler Retzlaff --- lib/eal/include/generic/rte_atomic.h | 4

RE: [PATCH v2 3/9] eal: use barrier intrinsics when compiling with msvc

2023-04-05 Thread Konstantin Ananyev
> Inline assembly is not supported for msvc x64 instead use > _mm_{s,l,m}fence() intrinsics. > > Signed-off-by: Tyler Retzlaff > --- > lib/eal/include/generic/rte_atomic.h | 4 > lib/eal/x86/include/rte_atomic.h | 10 +- > 2 files changed, 13 insertions(+), 1 deletion(-) >

RE: [PATCH 3/9] eal: use barrier intrinsics when compiling with msvc

2023-04-05 Thread Konstantin Ananyev
> > >>>Inline assembly is not supported for msvc x64 instead use > > >>>_{Read,Write,ReadWrite}Barrier() intrinsics. > > >>> > > >>>Signed-off-by: Tyler Retzlaff > > >>>--- > > >>> lib/eal/include/generic/rte_atomic.h | 4 > > >>> lib/eal/x86/include/rte_atomic.h | 10 +- > > >>

Re: [dpdk-web] [RFC PATCH] process: new library approval in principle

2023-04-10 Thread Konstantin Ananyev
Scope and expected usage models of the library. Apart from that - LGTM. Acked-by: Konstantin Ananyev + - Any licensing constraints. + - Justification for adding to DPDK. + - Any other implementations of the same functionality in other libs/products and how this version differs. + -

Re: [PATCH 3/9] eal: use barrier intrinsics when compiling with msvc

2023-04-10 Thread Konstantin Ananyev
05/04/2023 16:38, Tyler Retzlaff пишет: On Wed, Apr 05, 2023 at 02:35:47PM +0200, Morten Brørup wrote: From: Konstantin Ananyev [mailto:konstantin.anan...@huawei.com] Sent: Wednesday, 5 April 2023 12.57 Another ore generic comment - do we really need to pollute all that code with

Re: [PATCH v3 06/11] eal: typedef cpu flag enum as int for msvc

2023-04-10 Thread Konstantin Ananyev
06/04/2023 01:45, Tyler Retzlaff пишет: Forward declaration of a typedef is a non-standard extension and is not supported by msvc. Use an int instead. Abstract the use of the int/enum rte_cpu_flag_t in function parameter lists by re-typdefing the enum rte_cpu_flag_t to the rte_cpu_flag_t identif

Re: [PATCH 3/9] eal: use barrier intrinsics when compiling with msvc

2023-04-10 Thread Konstantin Ananyev
06/04/2023 01:07, Tyler Retzlaff пишет: On Wed, Apr 05, 2023 at 10:57:02AM +, Konstantin Ananyev wrote: Inline assembly is not supported for msvc x64 instead use _{Read,Write,ReadWrite}Barrier() intrinsics. Signed-off-by: Tyler Retzlaff --- lib/eal/include/generic/rte_atomic.h | 4

RE: [PATCH v4 02/14] eal: use rtm and xtest intrinsics

2023-04-12 Thread Konstantin Ananyev
/* not an inline function to workaround a clang bug with -O0 */ > -#define rte_xabort(status) do { \ > - asm volatile(".byte 0xc6,0xf8,%P0" :: "i" (status) : "memory"); \ > -} while (0) > +#define rte_xabort(status) _xabort(status) > > static __rte_always_inline > int rte_xtest(void) > { > - unsigned char out; > - > - asm volatile(".byte 0x0f,0x01,0xd6 ; setnz %0" : > - "=r" (out) :: "memory"); > - return out; > + return _xtest(); > } > > #ifdef __cplusplus > -- Acked-by: Konstantin Ananyev > 1.8.3.1

RE: [PATCH v4 01/14] eal: use rdtsc intrinsic

2023-04-12 Thread Konstantin Ananyev
ponds to the physical TSC for VMware */ > asm volatile("rdpmc" : > @@ -42,11 +48,7 @@ > return tsc.tsc_64; > } > #endif > - > - asm volatile("rdtsc" : > - "=a" (tsc.lo_32), > - "=d" (tsc.hi_32)); > - return tsc.tsc_64; > + return __rdtsc(); > } > > static inline uint64_t > -- Acked-by: Konstantin Ananyev > 1.8.3.1

RE: [PATCH v4 06/14] eal: use prefetch intrinsics

2023-04-12 Thread Konstantin Ananyev
> On Tue, Apr 11, 2023 at 02:12:20PM -0700, Tyler Retzlaff wrote: > > Inline assembly is not supported for MSVC x64 instead use _mm_prefetch > > and _mm_cldemote intrinsics. > > > > Signed-off-by: Tyler Retzlaff > > --- > > Acked-by: Bruce Richardson > > One comment inline below for future c

RE: [PATCH v4 03/14] eal: use barrier intrinsics

2023-04-12 Thread Konstantin Ananyev
uot;); > #else > asm volatile("lock addl $0, -128(%%rsp); " ::: "memory"); > #endif > +#else > + _mm_mfence(); > +#endif > } > > #define rte_io_mb() rte_mb() > -- Acked-by: Konstantin Ananyev > 1.8.3.1

Minutes of Technical Board Meeting, 2023-April-22

2023-04-14 Thread Konstantin Ananyev
Minutes of Technical Board Meeting, 2023-March-05 Members Attending - -Bruce -Hemant -Honnappa -Jerin -Kevin -Konstantin (Chair) -Stephen NOTE: The technical board meetings every second Wednesday at https://meet.jit.si/DPDK at 3 pm UTC. Meetings are public, and DPDK communi

Re: [PATCH v3 06/11] eal: typedef cpu flag enum as int for msvc

2023-04-16 Thread Konstantin Ananyev
10/04/2023 21:53, Tyler Retzlaff пишет: On Mon, Apr 10, 2023 at 08:59:33PM +0100, Konstantin Ananyev wrote: 06/04/2023 01:45, Tyler Retzlaff пишет: Forward declaration of a typedef is a non-standard extension and is not supported by msvc. Use an int instead. Abstract the use of the int/enum

Re: [PATCH v3 06/11] eal: typedef cpu flag enum as int for msvc

2023-04-17 Thread Konstantin Ananyev
17/04/2023 16:46, Tyler Retzlaff пишет: On Sun, Apr 16, 2023 at 10:29:38PM +0100, Konstantin Ananyev wrote: 10/04/2023 21:53, Tyler Retzlaff пишет: On Mon, Apr 10, 2023 at 08:59:33PM +0100, Konstantin Ananyev wrote: 06/04/2023 01:45, Tyler Retzlaff пишет: Forward declaration of a typedef is

RE: [PATCH v6 1/4] ethdev: add API for mbufs recycle mode

2023-06-06 Thread Konstantin Ananyev
> > Thanks for the comments. > > From: Константин Ананьев > Sent: Monday, June 5, 2023 8:54 PM > To: Feifei Wang ; mailto:tho...@monjalon.net; > Ferruh Yigit ; > Andrew Rybchenko

RE: [PATCH v6 2/4] net/i40e: implement mbufs recycle mode

2023-06-06 Thread Konstantin Ananyev
> > Define specific function implementation for i40e driver. > Currently, mbufs recycle mode can support 128bit > vector path and avx2 path. And can be enabled both in > fast free and no fast free mode. > > Suggested-by: Honnappa Nagarahalli > Signed-off-by:

RE: [PATCH v6 2/4] net/i40e: implement mbufs recycle mode

2023-06-06 Thread Konstantin Ananyev
> > > Define specific function implementation for i40e driver. > > > Currently, mbufs recycle mode can support 128bit vector path and avx2 > > > path. And can be enabled both in fast free and no fast free mode. > > > > > > Suggested-by: Honnappa Nagarahalli > > >

RE: [PATCH v6 1/4] ethdev: add API for mbufs recycle mode

2023-06-06 Thread Konstantin Ananyev
> > [...] > > > Probably I am missing something, but why it is not possible to do > > > something > > like that: > > > > > > rte_eth_recycle_mbufs(rx_port_id=X, rx_queue_id=Y, tx_port_id=N, > > > tx_queue_id=M, ...); > > > rte_eth_recycle_mbufs(rx_port_id=X, rx_queue_id=Y, tx_port_id=N, >

RE: [PATCH v3] net/ixgbe: add proper memory barriers for some Rx functions

2023-06-14 Thread Konstantin Ananyev
Konstantin Ananyev Mobile: +353-873459988 Email: konstantin.anan...@huawei.com From:zhoumin To:Thomas Monjalon ;Ruifeng Wang ;Zhang, Qi Z Cc:dev ;mb ;konstantin.v.ananyev ;Yang, Qiming ;Wu, Wenjun1 ;drc ;roretzla ;stable ;maobibo ;nd ;David Marchand

Re: [PATCH v5 1/2] ip_frag: optimize key compare and hash generation

2023-06-27 Thread Konstantin Ananyev
UE); v = rte_hash_crc_4byte(p[1], v); v = rte_hash_crc_4byte(p[2], v); -- Acked-by: Konstantin Ananyev 2.25.1

Re: [PATCH v4 5/9] build: make bpf library optional

2023-06-27 Thread Konstantin Ananyev
it a/lib/meson.build b/lib/meson.build index de7069a078..47c18ca3b0 100644 --- a/lib/meson.build +++ b/lib/meson.build @@ -70,6 +70,7 @@ libraries = [ optional_libs = [ 'bbdev', 'bitratestats', +'bpf', 'cfgfile', 'compressdev', 'dmadev', Acked-by: Konstantin Ananyev

Re: [PATCH v4 8/9] build: make fragmentation library optional

2023-06-27 Thread Konstantin Ananyev
TE_LIB_METRICS') test_sources += ['test_metrics.c'] fast_tests += [['metrics_autotest', true, true]] diff --git a/lib/meson.build b/lib/meson.build index 757c1a63e9..ea351b236a 100644 --- a/lib/meson.build +++ b/lib/meson.build @@ -83,6 +83,7 @@ optional_libs = [ 'gro', 'gso', 'kni', +'ip_frag', 'jobstats', 'latencystats', 'member', Acked-by: Konstantin Ananyev

Re: [PATCH v5 2/2] test: add reassembly perf test

2023-06-27 Thread Konstantin Ananyev
Prakash Shukla --- app/test/meson.build|2 + app/test/test_reassembly_perf.c | 1002 +++ 2 files changed, 1004 insertions(+) create mode 100644 app/test/test_reassembly_perf.c -- Acked-by: Konstantin Ananyev 2.25.1

RE: Ring algorithm with fewer cache misses

2023-06-27 Thread Konstantin Ananyev
Hi Morten, > Hi Honnappa, Konstantin, Bruce and Gavin, > > You might find this ring algorithm optimization article interesting: > https://rigtorp.se/ringbuffer/ > > > It adds the following optimization: > > The single-producer put() operation keeps a cache of the consumer's index. If > the

Re: [PATCH] hash: fix reading unaligned bits implementation

2023-06-29 Thread Konstantin Ananyev
shift = (len == 0) ? 0 : + (CHAR_BIT - ((len + CHAR_BIT) % CHAR_BIT)); + return ret >> shift; } /* returns mask for len bits with given offset inside byte */ Acked-by: Konstantin Ananyev Tested-by: Konstantin Ananyev

Re: [PATCH v2] cryptodev: fix device socket ID type

2023-07-05 Thread Konstantin Ananyev
char name[RTE_CRYPTODEV_NAME_MAX_LEN]; Acked-by: Konstantin Ananyev

Re: [PATCH] doc: announce deprecation for security ops

2023-07-05 Thread Konstantin Ananyev
flow_classify library and example have no maintainer. The library is experimental and, as such, it could be removed from DPDK. Its removal has been postponed to let potential users report interest Acked-by: Konstantin Ananyev

Re: [PATCH v4 1/4] doc: announce new cpu flag added to rte_cpu_flag_t

2023-07-05 Thread Konstantin Ananyev
on EPYC processors. Acked-by: Konstantin Ananyev

Re: [PATCH] doc: announce ethdev operation struct changes

2023-07-05 Thread Konstantin Ananyev
`` will be updated to have another parameter ``qp_id`` to return the queue pair ID which got error interrupt to the application, Acked-by: Konstantin Ananyev

RE: [EXT] [PATCH] ipsec: fix NAT-T length calculation

2023-07-06 Thread Konstantin Ananyev
Hi Akhil, > > Hi Konstantin, > Can you review this patch? > > > UDP header length is included in sa->hdr_len. Take care of that in > > L3 header and pakcet length calculation. > > > > Fixes: 01eef5907fc3 ("ipsec: support NAT-T") > > > > Signed-off-by: Xiao Liang > > --- > > lib/ipsec/esp_out

Re: [PATCH v11 1/2] mempool cache: add zero-copy get and put functions

2023-07-06 Thread Konstantin Ananyev
ool/version.map index dff2d1cb55..093d3f0a01 100644 --- a/lib/mempool/version.map +++ b/lib/mempool/version.map @@ -49,6 +49,15 @@ EXPERIMENTAL { __rte_mempool_trace_get_contig_blocks; __rte_mempool_trace_default_cache; __rte_mempool_trace_cache_flush; + __rte_mempool_trace_ops_populate; + __rte_mempool_trace_ops_alloc; + __rte_mempool_trace_ops_free; + __rte_mempool_trace_set_ops_byname; + + # added in 23.07 + __rte_mempool_trace_cache_zc_put_bulk; + __rte_mempool_trace_cache_zc_put_rewind; + __rte_mempool_trace_cache_zc_get_bulk; }; INTERNAL { -- Acked-by: Konstantin Ananyev 2.25.1

Re: [PATCH v11 2/2] net/i40e: replace put function

2023-07-06 Thread Konstantin Ananyev
goto done; + } m = rte_pktmbuf_prefree_seg(txep[0].mbuf); -- Acked-by: Konstantin Ananyev 2.25.1

Re: [PATCH] ipsec: fix NAT-T length calculation

2023-07-10 Thread Konstantin Ananyev
0, 0, 0, 0); esp_outb_init(sa, sa->hdr_len, prm->ipsec_xform.esn.value); } Acked-by: Konstantin Ananyev Thanks for explanation and for the fix. One thing that still bothers me with UDP encap support: we still don't have a test-case for it in examples/ipsec-secgw/test.

Re: [EXT] [PATCH] ipsec: fix NAT-T length calculation

2023-07-10 Thread Konstantin Ananyev
07/07/2023 14:26, Radu Nicolau пишет: On 07-Jul-23 1:51 PM, Xiao Liang wrote: sa->hdr_len and prm->tun.hdr_len don't include L2 length so both should start in the diagram at the end of the ETH header. So the right way to compute datagram length is dgram_len = mb->pkt_len - sqh_len - sa->hdr_l

RE: [PATCH v7 1/4] eal: add lcore poll busyness telemetry

2022-09-19 Thread Konstantin Ananyev
Hi everyone, > > From: Anatoly Burakov > > Currently, there is no way to measure lcore poll busyness in a passive way, > without any modifications to the application. This patch adds a new EAL API > that will be able to passively track core polling busyness. > > The poll busyness is calculated

RE: [PATCH v2 1/3] net/bonding: support Tx prepare

2022-09-19 Thread Konstantin Ananyev
> > On 9/16/22 22:35, fengchengwen wrote: > > Hi Chas, > > > > On 2022/9/15 0:59, Chas Williams wrote: > >> On 9/13/22 20:46, fengchengwen wrote: > >>> > >>> The main problem is hard to design a tx_prepare for bonding device: > >>> 1. as Chas Williams said, there maybe twice hash calc to get targ

RE: [PATCH v7 1/4] eal: add lcore poll busyness telemetry

2022-09-26 Thread Konstantin Ananyev
Hi Kevin, > >> Currently, there is no way to measure lcore poll busyness in a passive way, > >> without any modifications to the application. This patch adds a new EAL API > >> that will be able to passively track core polling busyness. > >> > >> The poll busyness is calculated by relying on the

RE: [PATCH v2 1/3] net/bonding: support Tx prepare

2022-09-26 Thread Konstantin Ananyev
Hi everyone, Sorry for late reply. > > The main problem is hard to design a tx_prepare for bonding device: > > 1. as Chas Williams said, there maybe twice hash calc to get target > > slave > >     devices. > > 2. also more important, if the slave devices have changes(e.g.

[dpdk-dev] [PATCH v3 0/7] hide eth dev related structures

2021-10-01 Thread Konstantin Ananyev
owdown - l3fwd: no actual slowdown observed Would like to thank Ferruh and Jerrin for reviewing and testing previous versions of these series. All other interested parties please don't be shy and provide your feedback. Konstantin Ananyev (7): ethdev: allocate max space for internal queue arr

[dpdk-dev] [PATCH v3 1/7] ethdev: allocate max space for internal queue array

2021-10-01 Thread Konstantin Ananyev
That would help in future to hide rte_eth_dev and related structures. Signed-off-by: Konstantin Ananyev --- lib/ethdev/rte_ethdev.c | 36 +--- 1 file changed, 9 insertions(+), 27 deletions(-) diff --git a/lib/ethdev/rte_ethdev.c b/lib/ethdev/rte_ethdev.c index

[dpdk-dev] [PATCH v3 5/7] ethdev: add API to retrieve multiple ethernet addresses

2021-10-01 Thread Konstantin Ananyev
Introduce rte_eth_macaddrs_get() to allow user to retrieve all ethernet addresses assigned to given port. Change testpmd to use this new function and avoid referencing directly rte_eth_devices[]. Signed-off-by: Konstantin Ananyev --- app/test-pmd/config.c | 23

[dpdk-dev] [PATCH v3 4/7] ethdev: make burst functions to use new flat array

2021-10-01 Thread Konstantin Ananyev
will cause extra function call with these changes. That might cause some insignificant slowdown for code-path where RX/TX callbacks are heavily involved. Signed-off-by: Konstantin Ananyev --- lib/ethdev/ethdev_private.c | 31 + lib/ethdev/rte_ethdev.h | 244 ++-

[dpdk-dev] [PATCH v3 2/7] ethdev: change input parameters for rx_queue_count

2021-10-01 Thread Konstantin Ananyev
nt(). Signed-off-by: Konstantin Ananyev --- doc/guides/rel_notes/release_21_11.rst | 6 ++ drivers/net/ark/ark_ethdev_rx.c | 4 ++-- drivers/net/ark/ark_ethdev_rx.h | 3 +-- drivers/net/atlantic/atl_ethdev.h | 2 +- drivers/net/atlantic/atl_rxtx.c | 9 ++-

[dpdk-dev] [PATCH v3 6/7] ethdev: remove legacy Rx descriptor done API

2021-10-01 Thread Konstantin Ananyev
rte_eth_rx_descriptor_status() should be used as a replacement. Signed-off-by: Andrew Rybchenko Reviewed-by: Ferruh Yigit Acked-by: Konstantin Ananyev --- doc/guides/nics/features.rst| 6 +- doc/guides/rel_notes/deprecation.rst| 5 - doc/guides/rel_notes

[dpdk-dev] [PATCH v3 7/7] ethdev: hide eth dev related structures

2021-10-01 Thread Konstantin Ananyev
Move rte_eth_dev, rte_eth_dev_data, rte_eth_rxtx_callback and related data into private header (ethdev_driver.h). Few minor changes to keep DPDK building after that. Signed-off-by: Konstantin Ananyev --- doc/guides/rel_notes/release_21_11.rst| 6 + drivers/common/octeontx2

[dpdk-dev] [PATCH v3 3/7] ethdev: copy ethdev 'fast' API into separate structure

2021-10-01 Thread Konstantin Ananyev
ned-off-by: Konstantin Ananyev --- lib/ethdev/ethdev_private.c | 52 lib/ethdev/ethdev_private.h | 7 + lib/ethdev/rte_ethdev.c | 17 lib/ethdev/rte_ethdev_core.h | 45 +++ 4 files changed, 121 insertions(+) di

[dpdk-dev] [PATCH v4 2/7] ethdev: change input parameters for rx_queue_count

2021-10-04 Thread Konstantin Ananyev
nt(). Signed-off-by: Konstantin Ananyev --- doc/guides/rel_notes/release_21_11.rst | 6 ++ drivers/net/ark/ark_ethdev_rx.c | 4 ++-- drivers/net/ark/ark_ethdev_rx.h | 3 +-- drivers/net/atlantic/atl_ethdev.h | 2 +- drivers/net/atlantic/atl_rxtx.c | 9 ++-

[dpdk-dev] [PATCH v4 0/7] hide eth dev related structures

2021-10-04 Thread Konstantin Ananyev
k everyone who already reviewed and tested previous versions of these series. All other interested parties please don't be shy and provide your feedback. Konstantin Ananyev (7): ethdev: allocate max space for internal queue array ethdev: change input parameters for rx_queue_count ethd

[dpdk-dev] [PATCH v4 4/7] ethdev: make burst functions to use new flat array

2021-10-04 Thread Konstantin Ananyev
will cause extra function call with these changes. That might cause some insignificant slowdown for code-path where RX/TX callbacks are heavily involved. Signed-off-by: Konstantin Ananyev --- lib/ethdev/ethdev_private.c | 31 + lib/ethdev/rte_ethdev.h | 242 ++-

[dpdk-dev] [PATCH v4 7/7] ethdev: hide eth dev related structures

2021-10-04 Thread Konstantin Ananyev
Move rte_eth_dev, rte_eth_dev_data, rte_eth_rxtx_callback and related data into private header (ethdev_driver.h). Few minor changes to keep DPDK building after that. Signed-off-by: Konstantin Ananyev --- doc/guides/rel_notes/release_21_11.rst| 6 + drivers/common/octeontx2

[dpdk-dev] [PATCH v4 5/7] ethdev: add API to retrieve multiple ethernet addresses

2021-10-04 Thread Konstantin Ananyev
Introduce rte_eth_macaddrs_get() to allow user to retrieve all ethernet addresses assigned to given port. Change testpmd to use this new function and avoid referencing directly rte_eth_devices[]. Signed-off-by: Konstantin Ananyev --- app/test-pmd/config.c | 23

[dpdk-dev] [PATCH v4 6/7] ethdev: remove legacy Rx descriptor done API

2021-10-04 Thread Konstantin Ananyev
rte_eth_rx_descriptor_status() should be used as a replacement. Signed-off-by: Andrew Rybchenko Reviewed-by: Ferruh Yigit Acked-by: Konstantin Ananyev --- doc/guides/nics/features.rst| 6 +- doc/guides/rel_notes/deprecation.rst| 5 - doc/guides/rel_notes

[dpdk-dev] [PATCH v4 1/7] ethdev: allocate max space for internal queue array

2021-10-04 Thread Konstantin Ananyev
That would help in future to hide rte_eth_dev and related structures. Signed-off-by: Konstantin Ananyev --- lib/ethdev/rte_ethdev.c | 36 +--- 1 file changed, 9 insertions(+), 27 deletions(-) diff --git a/lib/ethdev/rte_ethdev.c b/lib/ethdev/rte_ethdev.c index

[dpdk-dev] [PATCH v4 3/7] ethdev: copy ethdev 'fast' API into separate structure

2021-10-04 Thread Konstantin Ananyev
ned-off-by: Konstantin Ananyev --- lib/ethdev/ethdev_private.c | 52 lib/ethdev/ethdev_private.h | 7 + lib/ethdev/rte_ethdev.c | 27 +++ lib/ethdev/rte_ethdev_core.h | 45 +++ 4 files changed, 131 insertion

[dpdk-dev] [PATCH v5 0/7] hide eth dev related structures

2021-10-07 Thread Konstantin Ananyev
7;t be shy and provide your feedback. Andrew Rybchenko (1): ethdev: remove legacy Rx descriptor done API Konstantin Ananyev (6): ethdev: allocate max space for internal queue array ethdev: change input parameters for rx_queue_count ethdev: copy fast-path API into separate structure ethdev: m

[dpdk-dev] [PATCH v5 1/7] ethdev: remove legacy Rx descriptor done API

2021-10-07 Thread Konstantin Ananyev
From: Andrew Rybchenko rte_eth_rx_descriptor_status() should be used as a replacement. Signed-off-by: Andrew Rybchenko Reviewed-by: Ferruh Yigit Acked-by: Thomas Monjalon Acked-by: Konstantin Ananyev --- doc/guides/nics/features.rst| 6 +- doc/guides/rel_notes

[dpdk-dev] [PATCH v5 2/7] ethdev: allocate max space for internal queue array

2021-10-07 Thread Konstantin Ananyev
ned-off-by: Konstantin Ananyev --- lib/ethdev/rte_ethdev.c | 36 +--- 1 file changed, 9 insertions(+), 27 deletions(-) diff --git a/lib/ethdev/rte_ethdev.c b/lib/ethdev/rte_ethdev.c index ed37f8871b..c8abda6dd7 100644 --- a/lib/ethdev/rte_ethdev.c +++ b/lib/ethdev/rt

[dpdk-dev] [PATCH v5 3/7] ethdev: change input parameters for rx_queue_count

2021-10-07 Thread Konstantin Ananyev
-by: Konstantin Ananyev --- doc/guides/rel_notes/release_21_11.rst | 6 ++ drivers/net/ark/ark_ethdev_rx.c | 4 ++-- drivers/net/ark/ark_ethdev_rx.h | 3 +-- drivers/net/atlantic/atl_ethdev.h | 2 +- drivers/net/atlantic/atl_rxtx.c | 9 ++--- drivers/net

[dpdk-dev] [PATCH v5 4/7] ethdev: copy fast-path API into separate structure

2021-10-07 Thread Konstantin Ananyev
flat array to call PMD specific functions. That approach should allow us to make rte_eth_devices[] private without introducing regression and help to avoid changes in drivers code. Signed-off-by: Konstantin Ananyev --- lib/ethdev/ethdev_private.c | 52 ++ lib

[dpdk-dev] [PATCH v5 6/7] ethdev: add API to retrieve multiple ethernet addresses

2021-10-07 Thread Konstantin Ananyev
Introduce rte_eth_macaddrs_get() to allow user to retrieve all ethernet addresses assigned to given port. Change testpmd to use this new function and avoid referencing directly rte_eth_devices[]. Signed-off-by: Konstantin Ananyev --- app/test-pmd/config.c | 23

[dpdk-dev] [PATCH v5 5/7] ethdev: make fast-path functions to use new flat array

2021-10-07 Thread Konstantin Ananyev
cause extra function call with these changes. That might cause some insignificant slowdown for code-path where RX/TX callbacks are heavily involved. Signed-off-by: Konstantin Ananyev --- lib/ethdev/ethdev_private.c | 31 + lib/ethdev/rte_ethdev.h | 242

[dpdk-dev] [PATCH v5 7/7] ethdev: hide eth dev related structures

2021-10-07 Thread Konstantin Ananyev
Move rte_eth_dev, rte_eth_dev_data, rte_eth_rxtx_callback and related data into private header (ethdev_driver.h). Few minor changes to keep DPDK building after that. Signed-off-by: Konstantin Ananyev --- doc/guides/rel_notes/release_21_11.rst| 6 + drivers/common/octeontx2

Re: [PATCH v7 1/4] eal: add lcore poll busyness telemetry

2022-10-01 Thread Konstantin Ananyev
Hi Kevin, Currently, there is no way to measure lcore poll busyness in a passive way, without any modifications to the application. This patch adds a new EAL API that will be able to passively track core polling busyness. The poll busyness is calculated by relying on the fact that most DP

Re: [PATCH v2 1/3] ethdev: add API for direct rearm mode

2022-10-03 Thread Konstantin Ananyev
27/09/2022 03:47, Feifei Wang пишет: Add API for enabling direct rearm mode and for mapping RX and TX queues. Currently, the API supports 1:1(txq : rxq) mapping. Furthermore, to avoid Rx load Tx data directly, add API called 'rte_eth_txq_data_get' to get Tx sw_ring and its information. Suggeste

RE: [PATCH v7 1/4] eal: add lcore poll busyness telemetry

2022-10-04 Thread Konstantin Ananyev
Hi Bruce, > On Tue, Oct 04, 2022 at 11:15:19AM +0200, Morten Brørup wrote: > > > From: Mattias Rönnblom [mailto:hof...@lysator.liu.se] > > > Sent: Monday, 3 October 2022 22.02 > > > > [...] > > > > > The functionality provided is very useful, and the implementation is > > > clever in the way it

Re: [dpdk-dev v5] lib/cryptodev: multi-process IPC request handler

2022-10-06 Thread Konstantin Ananyev
06/10/2022 18:06, Kai Ji пишет: As some cryptode PMDs have multiprocess support, the secondary process needs queue-pair to be configured by the primary process before to use. This patch adds an IPC register function to help the primary process to register IPC action that allow secondary process t

RE: [PATCH] eal: non-temporal memcpy

2022-10-11 Thread Konstantin Ananyev
Hi Morten, > Mattias, Konstantin, Honnappa, Stephen, > > In my patch for non-temporal memcpy, I have been aiming for using as much > non-temporal store as possible. E.g. copying 16 byte to a > 16 byte aligned address will be done using non-temporal store instructions. > > Now, I am seriously

Re: 回复: [PATCH v2 1/3] ethdev: add API for direct rearm mode

2022-10-11 Thread Konstantin Ananyev
Add API for enabling direct rearm mode and for mapping RX and TX queues. Currently, the API supports 1:1(txq : rxq) mapping. Furthermore, to avoid Rx load Tx data directly, add API called 'rte_eth_txq_data_get' to get Tx sw_ring and its information. Suggested-by: Honnappa Nagarahalli Sugges

[dpdk-dev] [RFC 0/7] hide eth dev related structures

2021-08-20 Thread Konstantin Ananyev
use some help from other PMD maintainers. Required changes are mechanical, but we have a lot of drivers these days. - contains reference to rte_eth_dev field RTE_ETH_DEV_TO_PCI(eth_dev). Need to move this macro into some internal header. - Extra testing - checkpatch warnings - docs update

[dpdk-dev] [RFC 1/7] eth: move ethdev 'burst' API into separate structure

2021-08-20 Thread Konstantin Ananyev
s internal. That should allow future possible changes to core eth_dev strcutures to be transaprent to the user and help to avoid ABI/API breakages. Signed-off-by: Konstantin Ananyev --- lib/ethdev/ethdev_private.c | 74 lib/ethdev/ethdev_private.h | 3 ++

[dpdk-dev] [RFC 2/7] eth: make drivers to use new API for Rx

2021-08-20 Thread Konstantin Ananyev
ethdev: - make changes so drivers can start using new API for rx_pkt_burst(). - provide helper functions/macros. - remove rx_pkt_burst() from 'struct rte_eth_dev'. drivers/net: - adjust to new rx_burst API. Signed-off-by: Konstantin Ananyev --- app/test/virtual_pmd.c

[dpdk-dev] [RFC 3/7] eth: make drivers to use new API for Tx

2021-08-20 Thread Konstantin Ananyev
ethdev: - make changes so drivers can start using new API for tx_pkt_burst(). - provide helper functions/macros. - remove tx_pkt_burst() from 'struct rte_eth_dev'. drivers/net: - adjust to new tx_burst API. Signed-off-by: Konstantin Ananyev --- app/test/virtual_pmd.c

[dpdk-dev] [RFC 4/7] eth: make drivers to use new API for Tx prepare

2021-08-20 Thread Konstantin Ananyev
ethdev: - make changes so drivers can start using new API for tx_pkt_prepare(). - provide helper functions/macros. - remove tx_pkt_prepare() from 'struct rte_eth_dev'. drivers/net: - adjust to new tx_prepare API. Signed-off-by: Konstantin Ananyev --- drivers/net/i40e/i40e_eth

[dpdk-dev] [RFC 5/7] eth: make drivers to use new API to obtain descriptor status

2021-08-20 Thread Konstantin Ananyev
ethdev: make changes so drivers can start using new API for rx_descriptor_status() and tx_descriptor_status(). remove related function pointers from 'struct rte_eth_dev'. drivers/net: adjust to new API. Signed-off-by: Konstantin Ananyev --- drivers/net/i40e/i40

[dpdk-dev] [RFC 6/7] eth: make drivers to use new API for Rx queue count

2021-08-20 Thread Konstantin Ananyev
ethdev: - make changes so drivers can start using new API for rx_queue_count(). - provide helper functions/macros. - remove rx_queue_count() from 'struct rte_eth_dev'. drivers/net: - adjust to new rx_queue_count() API. Signed-off-by: Konstantin Ananyev --- drivers/net/i40e/i40

[dpdk-dev] [RFC 7/7] eth: hide eth dev related structures

2021-08-20 Thread Konstantin Ananyev
Move rte_eth_dev, rte_eth_dev_data, rte_eth_rxtx_callback and related data into ethdev_driver.h. Make changes to keep DPDK building after that. Remove references to 'rte_eth_devices[]' from test-pmd. Signed-off-by: Konstantin Ananyev --- app/test-pmd/config.c

RE: [PATCH v4 3/3] mempool: use cache for frequently updated stats

2022-11-08 Thread Konstantin Ananyev
l { > #define RTE_MEMPOOL_STAT_ADD(mp, name, n) do {} while (0) > #endif > > +/** > + * @internal When stats is enabled, store some statistics. > + * > + * @param cache > + * Pointer to the memory pool cache. > + * @param name > + * Name of the statistics field to

RE: FW: [PATCH v4 3/3] mempool: use cache for frequently updated stats

2022-11-08 Thread Konstantin Ananyev
> > On Tue, Nov 08, 2022 at 04:51:11PM +0100, Thomas Monjalon wrote: > > 08/11/2022 15:30, Morten Brørup: > > > > From: Thomas Monjalon [mailto:tho...@monjalon.net] > > > > 08/11/2022 12:25, Morten Brørup: > > > > > From:

RE: FW: [PATCH v4 3/3] mempool: use cache for frequently updated stats

2022-11-09 Thread Konstantin Ananyev
> On 2022-11-09 06:03, Morten Brørup wrote: > >> From: Konstantin Ananyev [mailto:konstantin.anan...@huawei.com] > >> Sent: Tuesday, 8 November 2022 18.38 > >>> > >>> On Tue, Nov 08, 2022 at 04:51:11PM +0100, Thomas Monjalon wrote: > >>>

RE: [PATCH] failsafe: fix segfault on hotplug event

2022-11-16 Thread Konstantin Ananyev
urst() and failsafe_eth_rmv_event_callback(). Right now DPDK doesn't support switching PMD fast-ops functions (or updating rxq/txq data) on the fly. > Fixes: 7a0935239b ("ethdev: make fast-path functions to use new flat array") > Cc: Konstantin Ananyev > Cc: sta...@d

RE: Regarding User Data in DPDK ACL Library.

2022-11-18 Thread Konstantin Ananyev
> On Thu, 17 Nov 2022 19:28:12 +0530 > venkatesh bs wrote: > > > Hi DPDK Team, > > > > After the ACL match for highest priority DPDK Classification API returns > > User Data Which is as mentioned below in the document. > > > > 53. Packet Classification and Access Control — Data Plane Developmen

RE: [PATCH] failsafe: fix segfault on hotplug event

2022-11-18 Thread Konstantin Ananyev
Hi Luc, > > Hi Konstantin, > > > > > It is not recommended way to update rte_eth_fp_ops[] contents directly. > > > There are eth_dev_fp_ops_setup()/ eth_dev_fp_ops_reset() that supposed > > > to be used for that. > > > > Good to know. I see another fix that was made in a different PMD that > >

RE: Regarding User Data in DPDK ACL Library.

2022-11-21 Thread Konstantin Ananyev
> > > On Thu, 17 Nov 2022 19:28:12 +0530 > > > venkatesh bs wrote: > > > > > > > Hi DPDK Team, > > > > > > > > After the ACL match for highest priority DPDK Classification API > > > > returns User Data Which is as mentioned below in the document. > > > > > > > > 53. Packet Classification and Acc

RE: [PATCH] ring: build with global includes

2022-11-21 Thread Konstantin Ananyev
> -Original Message- > From: Tyler Retzlaff > Sent: Monday, November 21, 2022 7:53 PM > To: Bruce Richardson > Cc: dev@dpdk.org > Subject: Re: [PATCH] ring: build with global includes > > On Mon, Nov 21, 2022 at 10:31:29AM +, Bruce Richardson wrote: > > On Fri, Nov 18, 2022 at 03:

RE: Regarding User Data in DPDK ACL Library.

2022-11-22 Thread Konstantin Ananyev
> -Original Message- > From: Honnappa Nagarahalli > Sent: Monday, November 21, 2022 4:57 PM > To: Konstantin Ananyev ; Stephen Hemminger > ; venkatesh bs > > Cc: us...@dpdk.org; dev@dpdk.org; nd ; nd > Subject: RE: Regarding User Data in DPDK ACL Library. &g

RE: C++20 report error at file rte_spinlock.h

2022-12-19 Thread Konstantin Ananyev
> On Tue, Dec 13, 2022 at 06:11:06AM +, Zhou, Xiangyun wrote: > > Dear dpdk dev, > > > > I'm using dpdk 21.11 LTS, when compile my program with CPP flag > > "-std=c++20", the compiler report below errors. After checking file > rte_spinlock.h, I think the error report by compiler is valid, th

RE: [PATCH v5 2/4] eal: allow applications to report their cpu usage

2022-12-22 Thread Konstantin Ananyev
> > Allow applications to register a callback that will be invoked in > rte_lcore_dump() and when requesting lcore info in the telemetry API. > > The callback is expected to return the number of TSC cycles that have > passed since application start and the number of these cycles that were > spe

RE: [PATCH v5 3/4] testpmd: add dump_lcores command

2022-12-22 Thread Konstantin Ananyev
t); > } > @@ -8358,6 +8360,7 @@ static cmdline_parse_token_string_t cmd_dump_dump = > "dump_ring#" > "dump_mempool#" > "dump_devargs#" > + "dump_lcores#" > "dump_log_types"); > > static cmdline_parse_inst_t cmd_dump = { > -- Acked-by: Konstantin Ananyev > 2.38.1

RE: [PATCH v5 4/4] testpmd: report lcore usage

2022-12-22 Thread Konstantin Ananyev
gt; "socket": 0, > "role": "RTE", > "cpuset": [ >4 > ], > "busy_cycles": 10623340318, > "total_cycles": 55331167354 >} > } > > Signed-off-by: Robin Jarry > Acked-by: Morten Brørup > --- Acked-by: Konstantin Ananyev > 2.38.1

RE: [PATCH v2] mempool: micro-optimize put function

2022-12-22 Thread Konstantin Ananyev
Hi Morten, > PING mempool maintainers. > > If you don't provide ACK or Review to patches, how should Thomas know that it > is ready for merging? > > -Morten The code changes itself looks ok to me. Though I don't think it would really bring any noticeable speedup. But yes, it looks a bit nice

<    1   2   3   4   5   6   7   8   9   10   >