[PATCH v3 1/1] app/testpmd: support congestion management CLIs

2022-11-29 Thread skori
From: Sunil Kumar Kori Support congestion management CLIs. Signed-off-by: Sunil Kumar Kori Acked-by: Aman Singh --- v2..v3: - Move Congestion management document section near TM section - Rebase on top of the dpdk/main v1..v2: - Rebase on top of the dpdk-next-net-mrvl/for-next-net app/tes

Re: [PATCH v2 2/4] eal: allow applications to report their cpu cycles utilization

2022-11-29 Thread Robin Jarry
Morten Brørup, Nov 28, 2022 at 11:52: > Consider adding the percentage here, for easy human consumption: > > ", busy cycles %"PRIu64"/%"PRIu64" (%.02f%%)", > busy_cycles, total_cycles, > busy_cycles ? (float)busy_cycles / (float)total_cycles * (float)100); > > On the other hand, it is the average o

[PATCH v2 03/12] app/mldev: add test case to validate device ops

2022-11-29 Thread Srikanth Yalavarthi
Added test case to validate device handling operations. Device ops test is a collection of multiple sub-tests. Enabled sub-test to validate device reconfiguration. Set device_ops as the default test. Signed-off-by: Srikanth Yalavarthi --- app/test-mldev/meson.build | 1 + app/test-mldev/

[PATCH v2 01/12] app/mldev: implement test framework for mldev

2022-11-29 Thread Srikanth Yalavarthi
Implemented framework for mldev test application. New test cases can be added using the framework. Support is also enabled to add options specific to the test cases. User can launch the tests by specifying the name of test as part of launch arguments. Code to parse command line arguments is import

[PATCH v2 02/12] app/mldev: add common test functions

2022-11-29 Thread Srikanth Yalavarthi
Added common functions used by all tests. Common code includes functions to check capabilities, options, and handle ML devices. Signed-off-by: Srikanth Yalavarthi --- app/test-mldev/meson.build | 1 + app/test-mldev/test_common.c | 139 +++ app/test-mldev/test

[PATCH v2 08/12] app/mldev: enable support for queue pairs and size

2022-11-29 Thread Srikanth Yalavarthi
Added support to create multiple queue-pairs per device to enqueue and dequeue inference requests. Number of queue pairs to be created can be specified through "--queue_pairs" option. Support is also enabled to control the number of descriptors per each queue pair through "--queue_size" option. Inf

[PATCH v2 04/12] app/mldev: add test case to validate model ops

2022-11-29 Thread Srikanth Yalavarthi
Added test case to validate model operations. Model ops test is a collection of sub-tests. Each sub-test invokes the model operations in a specific order. Sub-test A: (load -> start -> stop -> unload) x n Sub-test B: load x n -> start x n -> stop x n -> unload x n Sub-test C: load x n + (start +

[PATCH v2 05/12] app/mldev: add ordered inference test case

2022-11-29 Thread Srikanth Yalavarthi
Added an ordered test case to execute inferences with single or multiple models. In this test case inference requests for a model are enqueued after completion of all requests for the previous model. Test supports inference repetitions. Operations sequence when testing with N models and R reps, (

[PATCH v2 09/12] app/mldev: enable support for inference batches

2022-11-29 Thread Srikanth Yalavarthi
Enabled support to execute multiple batches of inferences per each enqueue request. Input and reference for the test should be appropriately provided for multi-batch run. Number of batches can be specified through "--batches" option. Signed-off-by: Srikanth Yalavarthi --- app/test-mldev/ml_optio

[PATCH v2 06/12] app/mldev: add test case to interleave inferences

2022-11-29 Thread Srikanth Yalavarthi
Added test case to interleave inference requests from multiple models. Interleaving would load and start all models and launch inference requests for the models using available queue-pairs Operations sequence when testing with N models and R reps, (load + start) x N -> (enqueue + dequeue) x N x R

[PATCH v2 07/12] app/mldev: enable support for burst inferences

2022-11-29 Thread Srikanth Yalavarthi
Added 'burst_size' support for inference tests. Burst size controls the number of inference requests handled during the burst enqueue and dequeue operations of the test case. Signed-off-by: Srikanth Yalavarthi --- app/test-mldev/ml_options.c| 26 ++-- app/test-mldev/ml_options.h

[PATCH v2 11/12] app/mldev: enable reporting stats in mldev app

2022-11-29 Thread Srikanth Yalavarthi
Enable reporting driver xstats and inference end-to-end latency and throughput in mldev inference tests. Reporting of stats can be enabled using "--stats" option. Signed-off-by: Srikanth Yalavarthi --- app/test-mldev/ml_options.c| 22 ++-- app/test-mldev/ml_options.h

[PATCH v2 10/12] app/mldev: enable support for inference validation

2022-11-29 Thread Srikanth Yalavarthi
Enabled support to validate inference output with reference output provided by the user. Validation would be successful only when the inference outputs are within the 'tolerance' specified through command line option "--tolerance". Signed-off-by: Srikanth Yalavarthi --- app/test-mldev/meson.buil

[PATCH v3 0/4] add support for self monitoring

2022-11-29 Thread Tomasz Duszynski
This series adds self monitoring support i.e allows to configure and read performance measurement unit (PMU) counters in runtime without using perf utility. This has certain adventages when application runs on isolated cores with nohz_full kernel parameter. Events can be read directly using rte_pm

[PATCH v3 1/4] eal: add generic support for reading PMU events

2022-11-29 Thread Tomasz Duszynski
Add support for programming PMU counters and reading their values in runtime bypassing kernel completely. This is especially useful in cases where CPU cores are isolated (nohz_full) i.e run dedicated tasks. In such cases one cannot use standard perf utility without sacrificing latency and performa

[PATCH v3 3/4] eal/x86: support reading Intel PMU events in runtime

2022-11-29 Thread Tomasz Duszynski
Add support for reading Intel PMU events in runtime. Signed-off-by: Tomasz Duszynski --- app/test/test_pmu.c | 2 ++ lib/eal/include/rte_pmu.h | 2 +- lib/eal/x86/include/meson.build | 1 + lib/eal/x86/include/rte_pmu_pmc.h | 33 +++ 4 files

[PATCH v3 2/4] eal/arm: support reading ARM PMU events in runtime

2022-11-29 Thread Tomasz Duszynski
Add support for reading ARM PMU events in runtime. Signed-off-by: Tomasz Duszynski --- app/test/test_pmu.c | 4 ++ lib/eal/arm/include/meson.build | 1 + lib/eal/arm/include/rte_pmu_pmc.h | 39 +++ lib/eal/arm/meson.build | 4 ++ lib/eal/arm/rte_pmu.c

[PATCH v3 4/4] eal: add PMU support to tracing library

2022-11-29 Thread Tomasz Duszynski
In order to profile app one needs to store significant amount of samples somewhere for an analysis latern on. Since trace library supports storing data in a CTF format lets take adventage of that and add a dedicated PMU tracepoint. Signed-off-by: Tomasz Duszynski --- app/test/test_trace_perf.c

RE: [PATCH v3 0/4] add support for self monitoring

2022-11-29 Thread Morten Brørup
> From: Tomasz Duszynski [mailto:tduszyn...@marvell.com] > Sent: Tuesday, 29 November 2022 10.28 > > This series adds self monitoring support i.e allows to configure and > read performance measurement unit (PMU) counters in runtime without > using perf utility. This has certain adventages when app

[PATCH] devtools: fix name check with mbox files

2022-11-29 Thread David Marchand
When passing a patch downloaded as mbox, the mail headers were being scanned which resulted in mailing list and other unrelated mail addresses being checked against the contributors list. Filter them by focusing on the mail body (separated from the headers with the first empty line). Fixes: e83d4

[PATCH] drivers: fix symbol exports when map is omitted

2022-11-29 Thread David Marchand
ld exports any global symbol by default if no version script is passed. As a consequence, the incriminated change let any public symbol leak out of the driver shared libraries. Hide again those symbols by providing a default map file which unexports any global symbol using a local: * catchall stat

Re: [PATCH v2] net/pcap: fix timeout of stopping device

2022-11-29 Thread Ferruh Yigit
On 11/22/2022 9:25 AM, Zhou, YidingX wrote: > > >> -Original Message- >> From: Zhou, YidingX >> Sent: Wednesday, September 21, 2022 3:15 PM >> To: Stephen Hemminger ; Zhang, Qi Z >> >> Cc: dev@dpdk.org; Burakov, Anatoly ; He, >> Xingguang ; sta...@dpdk.org >> Subject: RE: [PATCH v2] net

[PATCH v3 0/5] Failsafe bug fixes and improvements

2022-11-29 Thread Luc Pelletier
Following the comments on v1 and v2 of the patch, I've tried to address all issues that were mentioned. I've also fixed other issues discovered during testing. I've split the changes into several commits. Please note that only the bug fix commits have been marked for back-porting to stable. Luc Pe

[PATCH v3 1/5] failsafe: fix segfault on hotplug event

2022-11-29 Thread Luc Pelletier
When the failsafe PMD encounters a hotplug event, it switches its rx/tx functions to "safe" ones that validate the sub-device's rx/tx functions before calling them. It switches the rx/tx functions by changing the function pointers in the rte_eth_dev structure. Following commit 7a0935239b9e, the rx

[PATCH v3 2/5] failsafe: use public rx/tx burst API

2022-11-29 Thread Luc Pelletier
The failsafe rx/tx functions are calling the rx/tx functions of sub-devices via the function pointers stored in the rte_eth_dev structure rather than use the public APIs (rte_eth_rx/tx_burst). Use the public API rather than access structure internals which could change in the future. Signed-off-b

[PATCH v3 3/5] failsafe: fix double release of port

2022-11-29 Thread Luc Pelletier
When a sub-device is hot-unplugged, rte_eth_dev_release_port is being called twice. Once indirectly via rte_eth_dev_close and once explicitly. Changed the code to remove the explicit call since it's not required and results in mistakenly releasing port 0 (due to zero'ing of memory being done in rt

[PATCH v3 4/5] failsafe: use public APIs in fs_link_update

2022-11-29 Thread Luc Pelletier
The link_update function pointer is called directly on a sub-device, via its rte_eth_dev structure. In addition, it assumes that if link_update returns a value other than 0 or -1, an error occurred. That's not accurate. For example, the mlx5 PMD returns a positive value to indicate that the link st

[PATCH v3 5/5] failsafe: make sub-device remove flag thread-safe

2022-11-29 Thread Luc Pelletier
For each sub-device, there's a remove flag that's used to indicate if the sub-device has been removed or not. This flag is currently a volatile bit field. Even if it's marked as volatile, a bit field is not thread-safe according to the C standard. The remove flag is now an unsigned int rather than

[PATCH v4 0/5] Failsafe bug fixes and improvements

2022-11-29 Thread Luc Pelletier
v2: * fixed git commit hashes in commit message v3: * address comments / split into several commits v4: * fix checkpatch warnings Luc Pelletier (5): failsafe: fix segfault on hotplug event failsafe: use public rx/tx burst API failsafe: fix double release of port failsafe: use public APIs i

[PATCH v4 1/5] failsafe: fix segfault on hotplug event

2022-11-29 Thread Luc Pelletier
When the failsafe PMD encounters a hotplug event, it switches its rx/tx functions to "safe" ones that validate the sub-device's rx/tx functions before calling them. It switches the rx/tx functions by changing the function pointers in the rte_eth_dev structure. Following commit 7a0935239b9e, the rx

[PATCH v4 2/5] failsafe: use public rx/tx burst API

2022-11-29 Thread Luc Pelletier
The failsafe rx/tx functions are calling the rx/tx functions of sub-devices via the function pointers stored in the rte_eth_dev structure rather than use the public APIs (rte_eth_rx/tx_burst). Use the public API rather than access structure internals which could change in the future. Signed-off-b

[PATCH v4 3/5] failsafe: fix double release of port

2022-11-29 Thread Luc Pelletier
When a sub-device is hot-unplugged, rte_eth_dev_release_port is being called twice. Once indirectly via rte_eth_dev_close and once explicitly. Changed the code to remove the explicit call since it's not required and results in mistakenly releasing port 0 (due to zero'ing of memory being done in rt

[PATCH v4 4/5] failsafe: use public APIs in fs_link_update

2022-11-29 Thread Luc Pelletier
The link_update function pointer is called directly on a sub-device, via its rte_eth_dev structure. In addition, it assumes that if link_update returns a value other than 0 or -1, an error occurred. That's not accurate. For example, the mlx5 PMD returns a positive value to indicate that the link st

[PATCH v4 5/5] failsafe: make sub-device remove flag thread-safe

2022-11-29 Thread Luc Pelletier
For each sub-device, there's a remove flag that's used to indicate if the sub-device has been removed or not. This flag is currently a volatile bit field. Even if it's marked as volatile, a bit field is not thread-safe according to the C standard. The remove flag is now an unsigned int rather than

[PATCH v3 0/4] lcore telemetry improvements

2022-11-29 Thread Robin Jarry
This is a follow up on previous work by Kevin Laatz: http://patches.dpdk.org/project/dpdk/list/?series=24658&state=* This series is aimed at allowing DPDK applications to expose their CPU usage stats in the DPDK telemetry under /eal/lcore/info. This is a much more basic and naive approach which l

[PATCH v3 1/4] eal: add lcore info in telemetry

2022-11-29 Thread Robin Jarry
Report the same information than rte_lcore_dump() in the telemetry API into /eal/lcore/list and /eal/lcore/info,ID. Example: --> /eal/lcore/info,3 { "/eal/lcore/info": { "lcore_id": 3, "socket": 0, "role": "RTE", "cpuset": [ 3 ] } } Signed-off-

[PATCH v3 3/4] testpmd: add dump_lcores command

2022-11-29 Thread Robin Jarry
Add a simple command that calls rte_lcore_dump(). Signed-off-by: Robin Jarry Acked-by: Morten Brørup --- v2 -> v3: no change v1 -> v2: renamed show lcores -> dump_lcores app/test-pmd/cmdline.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline

[PATCH v3 2/4] eal: allow applications to report their cpu cycles usage

2022-11-29 Thread Robin Jarry
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 CPU cycles that have passed since application start and the number of these cycles that were spent doing busy wor

[PATCH v3 4/4] testpmd: report lcore usage

2022-11-29 Thread Robin Jarry
Reuse the --record-core-cycles option to account for busy cycles. One turn of packet_fwd_t is considered "busy" if there was at least one received or transmitted packet. Add a new busy_cycles field in struct fwd_stream. Update get_end_cycles to accept an additional argument for the number of proce

Re: [PATCH v3 2/4] eal: allow applications to report their cpu cycles usage

2022-11-29 Thread Mattias Rönnblom
On 2022-11-29 16:33, Robin Jarry wrote: 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 CPU cycles that have passed since application start and the number of t

Re: [PATCH v3 0/4] lcore telemetry improvements

2022-11-29 Thread Mattias Rönnblom
On 2022-11-29 16:33, Robin Jarry wrote: This is a follow up on previous work by Kevin Laatz: http://patches.dpdk.org/project/dpdk/list/?series=24658&state=* This series is aimed at allowing DPDK applications to expose their CPU usage stats in the DPDK telemetry under /eal/lcore/info. This is a

Re: [External] Re: [PATCH v2] mempool: fix rte_mempool_avail_count may segment fault when used in multiprocess

2022-11-29 Thread Fengnan Chang
Olivier Matz 于2022年11月22日周二 23:25写道: > > Hi, > > On Tue, Nov 15, 2022 at 08:35:02PM +0800, Fengnan Chang wrote: > > rte_mempool_create put tailq entry into rte_mempool_tailq list before > > populate, and pool_data set when populate. So in multi process, if > > process A create mempool, and process

Re: [PATCH] drivers: fix symbol exports when map is omitted

2022-11-29 Thread Ferruh Yigit
On 11/29/2022 2:00 PM, David Marchand wrote: > ld exports any global symbol by default if no version script is passed. > As a consequence, the incriminated change let any public symbol leak > out of the driver shared libraries. > > Hide again those symbols by providing a default map file which > u

[Bug 1133] missing #include in drivers/gpu/cuda/gdrcopy.c

2022-11-29 Thread bugzilla
https://bugs.dpdk.org/show_bug.cgi?id=1133 Bug ID: 1133 Summary: missing #include in drivers/gpu/cuda/gdrcopy.c Product: DPDK Version: 22.11 Hardware: All OS: All Status: UNCONFIRMED Severity: normal

RE: [PATCH v2] mempool cache: add zero-copy get and put functions

2022-11-29 Thread Kamalakshitha Aligeri
> -Original Message- > From: Morten Brørup > Sent: Wednesday, November 16, 2022 12:04 PM > To: olivier.m...@6wind.com; andrew.rybche...@oktetlabs.ru; Honnappa > Nagarahalli ; Kamalakshitha Aligeri > ; bruce.richard...@intel.com; > dev@dpdk.org > Cc: nd ; Morten Brørup > Subject: [PATCH

Re: [PATCH] devtools: fix name check with mbox files

2022-11-29 Thread Tyler Retzlaff
On Tue, Nov 29, 2022 at 02:59:00PM +0100, David Marchand wrote: > When passing a patch downloaded as mbox, the mail headers were being > scanned which resulted in mailing list and other unrelated mail > addresses being checked against the contributors list. > > Filter them by focusing on the mail

Re: [PATCH v2 1/2] eal: expose lcore pthread id

2022-11-29 Thread Tyler Retzlaff
On Thu, Oct 20, 2022 at 10:03:01PM +0200, Michael Pfeiffer wrote: > On Thu, 2022-10-20 at 08:36 -0700, Stephen Hemminger wrote: > > On Thu, 20 Oct 2022 13:20:40 +0200 > > David Marchand wrote: > > > > > On Fri, Oct 14, 2022 at 9:54 AM Markus Theil > > > wrote: > > > > > > > > From: Michael Pfei

Re: [PATCH] drivers: fix symbol exports when map is omitted

2022-11-29 Thread David Marchand
On Tue, Nov 29, 2022 at 7:23 PM Ferruh Yigit wrote: > > On 11/29/2022 2:00 PM, David Marchand wrote: > > ld exports any global symbol by default if no version script is passed. > > As a consequence, the incriminated change let any public symbol leak > > out of the driver shared libraries. > > > >

[Bug 1134] net/i40e Tx prepare unexpectedly rejects packet with tunnel type set and no offloads requested

2022-11-29 Thread bugzilla
https://bugs.dpdk.org/show_bug.cgi?id=1134 Bug ID: 1134 Summary: net/i40e Tx prepare unexpectedly rejects packet with tunnel type set and no offloads requested Product: DPDK Version: 22.11 Hardware: All OS:

[Bug 1134] net/i40e Tx prepare unexpectedly rejects packet with tunnel type set and no offloads requested

2022-11-29 Thread bugzilla
https://bugs.dpdk.org/show_bug.cgi?id=1134 Andrew Rybchenko (andrew.rybche...@oktetlabs.ru) changed: What|Removed |Added Assignee|dev@dpdk.org|yuying.zh...@in

[Bug 1135] [DPDK-22.11][asan]vhost_event_idx_interrupt/wake_up_split_ring_vhost_user_cores_with_event_idx_interrupt_mode_16_queues the backend feedback EAL Error when relunch the dpdk-l3fwd

2022-11-29 Thread bugzilla
https://bugs.dpdk.org/show_bug.cgi?id=1135 Bug ID: 1135 Summary: [DPDK-22.11][asan]vhost_event_idx_interrupt/wake_up_sp lit_ring_vhost_user_cores_with_event_idx_interrupt_mod e_16_queues the backend feedback EAL Error when

[Bug 1136] [stable 20.11.7-rc1] lib/librte_mempool meson build error with gcc+debug on FreeBSD13.1-64/RHEL86-64

2022-11-29 Thread bugzilla
https://bugs.dpdk.org/show_bug.cgi?id=1136 Bug ID: 1136 Summary: [stable 20.11.7-rc1] lib/librte_mempool meson build error with gcc+debug on FreeBSD13.1-64/RHEL86-64 Product: DPDK Version: 20.11 Hardware: All

[Bug 1132] net/i40e changes recommended Rx ring_size after device start

2022-11-29 Thread bugzilla
https://bugs.dpdk.org/show_bug.cgi?id=1132 Andrew Rybchenko (andrew.rybche...@oktetlabs.ru) changed: What|Removed |Added Assignee|dev@dpdk.org|yuying.zh...@in