[PATCH 1/8] telemetry: move to header to controllable range

2022-12-08 Thread Huisong Li
The "stdint.h" header is outside _RTE_TELEMETRY_H_ macro, which cause this header is uncontrollable. So this patch moves this header to inside _RTE_TELEMETRY_H_. Fixes: 99a2dd955fba ("lib: remove librte_ prefix from directory names") Cc: sta...@dpdk.org Signed-off-by: Huisong Li --- lib/telemet

[PATCH 0/8] fix possible data truncation and conversion error

2022-12-08 Thread Huisong Li
Some lib telemetry interfaces add the 'u32' and 'u64' data by the rte_tel_data_add_dict/array_int API. This may cause data conversion error or data truncation. The 'u32' data can not be assigned to signed 32-bit integer. However, assigning to u64 is very wasteful, after all, the buffer capacity of

[PATCH 5/8] mempool: fix possible data truncation and conversion error

2022-12-08 Thread Huisong Li
The 'u32' and 'u64' data can not assigned to 'int' type variable. The 'u32' data need to use the 'u32' telemetry API to add, and the 'u64' data need to use the 'u64' telemetry API to add. Fixes: 2f5c4025abb3 ("mempool: add telemetry endpoint") Cc: sta...@dpdk.org Signed-off-by: Huisong Li --- l

[PATCH 2/8] telemetry: add u32 telemetry data type API

2022-12-08 Thread Huisong Li
Currently, 32-bit integer value only is signed in telemetry. The u32 data can not be assigned to signed 32-bit integer. However, assigning to u64 is very wasteful, after all, the buffer capacity of each transfer is limited. So it is necessary for 'u32' data to add usigned 32-bit integer and a serie

[PATCH 8/8] ethdev: telemetry convert capability related variable to hex

2022-12-08 Thread Huisong Li
The 'dev_flags', 'rx_offloads', 'tx_offloads' and 'rss_hf' are suitable for hexadecimal display. Like: -->old display by input /ethdev/info,0 "dev_flags": 3, "rx_offloads": 524288, "tx_offloads": 65536, "ethdev_rss_hf": 9100 --> now display "dev_flags": "0x3",

[PATCH 4/8] ethdev: fix possible data truncation and conversion error

2022-12-08 Thread Huisong Li
The 'u32' and 'u64' data can not assigned to 'int' type variable. The 'u32' data need to use the 'u32' telemetry API to add, and the 'u64' data need to use the 'u64' telemetry API to add. Fixes: 58b43c1ddfd1 ("ethdev: add telemetry endpoint for device info") Cc: sta...@dpdk.org Signed-off-by: Hui

[PATCH 6/8] cryptodev: fix possible data conversion error

2022-12-08 Thread Huisong Li
The 'u32' data can not assigned to 'int' type variable. The 'u32' data need to use the 'u32' telemetry API to add. Fixes: d3d98f5ce9d0 ("cryptodev: support telemetry") Cc: sta...@dpdk.org Signed-off-by: Huisong Li --- lib/cryptodev/rte_cryptodev.c | 2 +- 1 file changed, 1 insertion(+), 1 delet

[PATCH 7/8] mem: possible data truncation and conversion error

2022-12-08 Thread Huisong Li
The 'u32' and 'u64' data can not assigned to 'int' type variable. The 'u32' data need to use the 'u32' telemetry API to add, and the 'u64' data need to use the 'u64' telemetry API to add. Fixes: e6732d0d6e26 ("mem: add telemetry infos") Cc: sta...@dpdk.org Signed-off-by: Huisong Li --- lib/eal/

[PATCH 3/8] test: add test cases for u32 telemetry data API

2022-12-08 Thread Huisong Li
Add test cases for u32 telemetry data API. Cc: sta...@dpdk.org Signed-off-by: Huisong Li --- app/test/test_telemetry_data.c | 86 +- app/test/test_telemetry_json.c | 23 - 2 files changed, 105 insertions(+), 4 deletions(-) diff --git a/app/test/test_tele

RE: [PATCH] net/iavf:fix slow memory allocation

2022-12-08 Thread Wu, Jingjing
> -Original Message- > From: You, KaisenX > Sent: Thursday, November 17, 2022 2:57 PM > To: dev@dpdk.org > Cc: sta...@dpdk.org; Yang, Qiming ; Zhou, YidingX > ; You, KaisenX ; Wu, Jingjing > ; Xing, Beilei ; Zhang, Qi Z > > Subject: [PATCH] net/iavf:fix slow memory allocation > > In s

[Bug 1064] [19.11.13-rc3] lib/eal make build failed with gcc10.3.0 and clang11.0.1 on FreeBSD13.0/64

2022-12-08 Thread bugzilla
https://bugs.dpdk.org/show_bug.cgi?id=1064 Bruce Richardson (bruce.richard...@intel.com) changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED

Re: [PATCH] maintainers: split baseband from crypto tree

2022-12-08 Thread Maxime Coquelin
Hi Akhil, On 12/5/22 08:59, Akhil Goyal wrote: Baseband patches are now split from dpdk-next-crypto, All baseband patches need to be submitted to dpdk-next-baseband which will be maintained by Maxime. Cc: maxime.coque...@redhat.com Signed-off-by: Akhil Goyal --- MAINTAINERS | 12 ---

RE: [PATCH 8/8] ethdev: telemetry convert capability related variable to hex

2022-12-08 Thread Morten Brørup
+To: Bruce and Stephen might also have opinions on this. > From: Huisong Li [mailto:lihuis...@huawei.com] > Sent: Thursday, 8 December 2022 09.06 > > The 'dev_flags', 'rx_offloads', 'tx_offloads' and 'rss_hf' are suitable > for hexadecimal display. > > Like: > -->old display by input /ethdev/in

[PATCH] net/mlx5/hws: fix incorrect dw_8_6_ext PRM offset

2022-12-08 Thread Alex Vesker
The offset of format_select_dw_8_6_ext was incorrect. Update the reserved offsets to correct value. Fixes: 365cdf5f8ce7 ("net/mlx5/hws: add command layer") Signed-off-by: Alex Vesker Reviewed-by: Erez Shitrit --- drivers/common/mlx5/mlx5_prm.h | 7 --- 1 file changed, 4 insertions(+), 3 del

Re: [PATCH] vhost: decrease log level for unimplemented request

2022-12-08 Thread Kevin Traynor
On 06/12/2022 15:02, Maxime Coquelin wrote: This patch changes VHOST_USER_SET_VRING_ERR "not implemented" log level from INFO to DEBUG. Indeed, it is not required to support this message type, and since version 7.1, QEMU sends this message for every queue. It could confuse the end-user, thinking

[PATCH] doc: update recipe for static rdma-core in mlx guides

2022-12-08 Thread Thomas Monjalon
With recent versions of rdma-core, it becomes important to install, so some non-standard compiler tricks are avoided. While at it, disabling unneeded pyVerbs and man pages. Signed-off-by: Thomas Monjalon --- doc/guides/nics/mlx4.rst | 3 ++- doc/guides/platform/mlx5.rst | 3 ++- 2 files cha

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

2022-12-08 Thread Thomas Monjalon
29/11/2022 22:33, 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.

Re: [PATCH 8/8] ethdev: telemetry convert capability related variable to hex

2022-12-08 Thread Bruce Richardson
On Thu, Dec 08, 2022 at 11:55:16AM +0100, Morten Brørup wrote: > +To: Bruce and Stephen might also have opinions on this. > > > From: Huisong Li [mailto:lihuis...@huawei.com] > > Sent: Thursday, 8 December 2022 09.06 > > > > The 'dev_flags', 'rx_offloads', 'tx_offloads' and 'rss_hf' are suitable

Re: [PATCH] maintainers: split baseband from crypto tree

2022-12-08 Thread Thomas Monjalon
08/12/2022 10:46, Maxime Coquelin: > On 12/5/22 08:59, Akhil Goyal wrote: > > Baseband patches are now split from dpdk-next-crypto, > > All baseband patches need to be submitted to dpdk-next-baseband > > which will be maintained by Maxime. > > > > Cc: maxime.coque...@redhat.com > > > > Signed-off

Re: [PATCH] devtools: update Meson setup command

2022-12-08 Thread Thomas Monjalon
06/12/2022 11:27, David Marchand: > On Tue, Dec 6, 2022 at 11:17 AM Thomas Monjalon wrote: > > > > The command "meson build" causes a deprecation warning with meson 0.64: > > > > WARNING: Running the setup command as `meson [options]` instead of > > `meson setup [options]` is ambiguous and

Re: [PATCH] doc: update recipe for static rdma-core in mlx guides

2022-12-08 Thread Bruce Richardson
On Thu, Dec 08, 2022 at 12:16:46PM +0100, Thomas Monjalon wrote: > With recent versions of rdma-core, it becomes important to install, > so some non-standard compiler tricks are avoided. > I think this paragraph could do with a bit more explanation in it, e.g. to clarify that this is (presumably)

[PATCH] net/iavf: fix mbuf VLAN offload flags in the L2TAG2 path with AVX2

2022-12-08 Thread Michal Schmidt
It has been observed that mbufs of some received VLAN packets had the VLAN tag correctly set in vlan_tci, but ol_flags were missing the VLAN-indicating flags. _mm256_shuffle_epi8 operates as two independent 128-bit operations, not as a single 256-bit operation. To have the RTE_MBUF_F_RX_VLAN* flag

RE: [PATCH v2] vdpa/ifc: Match ANY subsystem IDs for modern virtio devices

2022-12-08 Thread Wang, Xiao W
Hi Abhishek, Please see comments inline. BRs, Xiao > -Original Message- > From: Maheshwari, Abhishek > Sent: Tuesday, December 6, 2022 8:55 PM > To: Wang, Xiao W > Cc: dev@dpdk.org; sta...@dpdk.org; Xia, Chenbo ; > Mandal, Purna Chandra ; Maheshwari, > Abhishek > Subject: [PATCH v2] v

Re: [EXT] Re: [PATCH v4 1/2] drivers: fix symbol exports when map is omitted

2022-12-08 Thread Thomas Monjalon
I'm sorry Patrick that it gives you more work. Your proposals below don't look possible because a tag is something fixed forever. We had an ABI issue in the initial tag so we cannot use the tag v22.11 as planned. I don't see how we can better plan except having more tests on release candidates.

DPDK Release Status Meeting 2022-12-08

2022-12-08 Thread Mcnamara, John
Release status meeting minutes 2022-12-08 = Agenda: * Release Dates * Subtrees * Roadmaps * LTS * Defects * Opens Participants: * ARM * Debian/Microsoft * Intel * Marvell * Nvidia * Red Hat * AMD Release Dates - The following are the proposed

[Bug 1144] virtio may lost pkts when pmd rxq less than virtio-max_queue_pairs

2022-12-08 Thread bugzilla
https://bugs.dpdk.org/show_bug.cgi?id=1144 Bug ID: 1144 Summary: virtio may lost pkts when pmd rxq less than virtio-max_queue_pairs Product: DPDK Version: 22.11 Hardware: All OS: All Status: UNCO

Re: [PATCH v2] net/memif: change socket listener owner uid/gid

2022-12-08 Thread Ferruh Yigit
On 12/7/2022 5:48 PM, Junxiao Shi wrote: > Hi Ferruh > >> On 12/7/2022 2:41 PM, Junxiao Shi wrote: >> > This allows a DPDK application running with root privilege to create a >> > memif socket listener with non-root owner uid and gid, which can be >> > connected from client applications running wi

Re: [PATCH] net/iavf:fix slow memory allocation

2022-12-08 Thread Ferruh Yigit
On 11/17/2022 6:57 AM, Kaisen You wrote: > In some cases, the DPDK does not allocate hugepage heap memory to > some sockets due to the user setting parameters > (e.g. -l 40-79, SOCKET 0 has no memory). > When the interrupt thread runs on the corresponding core of this > socket, each allocation/rele

Re: [EXT] Re: [PATCH v4 1/2] drivers: fix symbol exports when map is omitted

2022-12-08 Thread Patrick Robb
Thomas - thanks for the response. We will proceed with making the necessary changes for using v22.11.1. On Thu, Dec 8, 2022 at 8:22 AM Thomas Monjalon wrote: > I'm sorry Patrick that it gives you more work. > Your proposals below don't look possible because a tag is something fixed > forever. >

Re: [PATCH v3] net/memif: change socket listener owner uid/gid

2022-12-08 Thread Ferruh Yigit
On 12/7/2022 3:53 PM, Junxiao Shi wrote: > This allows a DPDK application running with root privilege to create a > memif socket listener with non-root owner uid and gid, which can be > connected from client applications running without root privilege. > > Signed-off-by: Junxiao Shi (moving from

Re: [PATCH v3] net/memif: change socket listener owner uid/gid

2022-12-08 Thread Ferruh Yigit
On 12/7/2022 3:53 PM, Junxiao Shi wrote: > This allows a DPDK application running with root privilege to create a > memif socket listener with non-root owner uid and gid, which can be > connected from client applications running without root privilege. > > Signed-off-by: Junxiao Shi (moving from

Re: [PATCH 1/5] eal: add lcore set name and get name API

2022-12-08 Thread Tyler Retzlaff
On Wed, Dec 07, 2022 at 08:07:16PM -0800, Stephen Hemminger wrote: > On Wed, 7 Dec 2022 14:33:31 -0800 > Tyler Retzlaff wrote: > > > On Wed, Dec 07, 2022 at 01:03:41PM -0800, Stephen Hemminger wrote: > > > On Wed, 7 Dec 2022 11:00:13 -0800 > > > Tyler Retzlaff wrote: > > > > > > > +static ch

Re: [PATCH v2] net/nfp: using the correct PCI name to look for the firmware

2022-12-08 Thread Ferruh Yigit
On 12/8/2022 3:31 AM, Chaoyong He wrote: > From: Peng Zhang > > In the description of nfp document, DPDK PMD supports that the PF > looks for a firmware file by the PCI name. > > After this commit, it will looks for the PCI name format such as > pci-:04:00.0.nffw rather than pci-04:00.0.nffw

RE: [EXT] [PATCH 2/2] devtools: configure source repo to use as ABI reference

2022-12-08 Thread Akhil Goyal
> By default 'test-meson-builds.sh' script clones the repository which the > script is in, and selects a configured branch ('DPDK_ABI_REF_VERSION') > as a reference for ABI check. > > This patch enables selecting different repository to close for reference > using 'DPDK_ABI_REF_SRC' environment va

Re: VMware vmxnet3 PMD roadmap question

2022-12-08 Thread Jochen Behrens
Hi Morten, we have not looked at that. Jochen From: Morten Brørup Date: Wednesday, December 7, 2022 at 12:28 AM To: Jochen Behrens Cc: dev@dpdk.org Subject: VMware vmxnet3 PMD roadmap question !! External Email VMware vmxnet3 PMD maintainer, Are there any plans for VMware t

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

2022-12-08 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 v3 03/12] app/mldev: add test case to validate device ops

2022-12-08 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 v3 02/12] app/mldev: add common test functions

2022-12-08 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 v3 04/12] app/mldev: add test case to validate model ops

2022-12-08 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 v3 05/12] app/mldev: add ordered inference test case

2022-12-08 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 v3 06/12] app/mldev: add test case to interleave inferences

2022-12-08 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 v3 07/12] app/mldev: enable support for burst inferences

2022-12-08 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 v3 10/12] app/mldev: enable support for inference validation

2022-12-08 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 08/12] app/mldev: enable support for queue pairs and size

2022-12-08 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 v3 11/12] app/mldev: enable reporting stats in mldev app

2022-12-08 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 --- v3: * Fixed issue in reporting end-to-end inference stats v2: * Fixed typos and formatting iss

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

2022-12-08 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 v1 0/4] implementation of ML common code

2022-12-08 Thread Srikanth Yalavarthi
Machine Learning common code This patch series implements the common ML code that can be used by ML drivers. Common code include functions to convert ML IO type to string, IO format type to string, function get size of ML IO type, and functions for converting data type

[PATCH v1 1/4] common/ml: add initial files for ML common code

2022-12-08 Thread Srikanth Yalavarthi
Added initial files for common ML driver code. Implemented ML type to size conversion, type to string and format to string conversion utility functions. Signed-off-by: Srikanth Yalavarthi --- Depends-on: series-26046 ("app/mldev: implement test framework for mldev") MAINTAINERS

[PATCH v1 2/4] common/ml: add data type conversion routines

2022-12-08 Thread Srikanth Yalavarthi
Type conversion routines transform data from higher to lower precision data types or vice-versa. These conversion functions can be used by the ML driver implementations for quantization and de-quantization. Added driver routines for type conversion. These driver routines invoke the architecture sp

[PATCH v1 3/4] common/ml: add generic type conversion functions

2022-12-08 Thread Srikanth Yalavarthi
Added generic implementations to support conversion of data types. Support is enabled to handle int8, uint8, int16, uint16, float16, float32 and bfloat16 types. Signed-off-by: Srikanth Yalavarthi --- drivers/common/ml/meson.build| 2 + drivers/common/ml/ml_utils.c | 86 +--- d

[PATCH v1 4/4] common/ml: add Arm NEON type conversion routines

2022-12-08 Thread Srikanth Yalavarthi
Added ARM NEON intrinsic based implementations to support conversion of data types. Support is enabled to handle int8, uint8, int16, uint16, float16, float32 and bfloat16 types. Signed-off-by: Srikanth Yalavarthi --- drivers/common/ml/meson.build | 5 + drivers/common/ml/ml_utils.c |

Re: [EXT] [PATCH 2/2] devtools: configure source repo to use as ABI reference

2022-12-08 Thread Thomas Monjalon
08/12/2022 19:14, Akhil Goyal: > > By default 'test-meson-builds.sh' script clones the repository which the > > script is in, and selects a configured branch ('DPDK_ABI_REF_VERSION') > > as a reference for ABI check. > > > > This patch enables selecting different repository to close for reference

[PATCH v1 1/1] common/cnxk: add ML headers and ROC code for cnxk

2022-12-08 Thread Srikanth Yalavarthi
Added ML cnxk headers for register, structure definitions and ROC layer. Implemented ROC functions, registered logtype for ML module with the name pmd.ml.cnxk and defined ML hardware ID. Signed-off-by: Srikanth Yalavarthi --- Depends-on: series-26047 ("implementation of ML common code") MAINTAI

[PATCH v1 00/37] Implementation of ML CNXK driver

2022-12-08 Thread Srikanth Yalavarthi
Marvell ML CNXK Driver -- This patch series implements Machine Learning (ML) driver for Marvell Octeon 10 (cnxk) platform. ML inferencing is supported on cnxk platform through an integrated ML inferencing processor. The current driver supports programming the ML hardware engine

[PATCH v1 02/37] ml/cnxk: enable probe and remove of ML device

2022-12-08 Thread Srikanth Yalavarthi
ML inference engine on cn10k platform is a PCI based device. Added driver support to probe and remove the device for cn10k poll mode driver. The device is named by the PMD as "ml_cn10k". Signed-off-by: Srikanth Yalavarthi --- drivers/ml/cnxk/cn10k_ml_dev.c | 114 +

[PATCH v1 01/37] ml/cnxk: add skeleton for ML cnxk driver

2022-12-08 Thread Srikanth Yalavarthi
Added initial source files and build files for ML cnxk driver. Signed-off-by: Srikanth Yalavarthi --- Depends-on: patch-120600 ("common/cnxk: add ML headers and ROC code for cnxk") MAINTAINERS| 2 ++ drivers/meson.build| 1 + drivers/ml/cnxk/cn10k_ml_dev.c | 8

[PATCH v1 03/37] ml/cnxk: add driver support to get device info

2022-12-08 Thread Srikanth Yalavarthi
Added support to get the cn10k ML device information. This is a driver implementation for the RTE function rte_ml_dev_info_get. ML device on cn10k supports one queue-pair in lock-free mode and does not support segmented input output data. Signed-off-by: Srikanth Yalavarthi --- drivers/ml/cnxk/cn

[PATCH v1 07/37] ml/cnxk: enable support for simulator environment

2022-12-08 Thread Srikanth Yalavarthi
Enabled device initialization and firmware load on simulator platform. Firmware load stage on simulator would involve launching a firmware handshake request only. Signed-off-by: Srikanth Yalavarthi --- drivers/ml/cnxk/cn10k_ml_dev.c | 119 + 1 file changed, 107 in

[PATCH v1 04/37] ml/cnxk: add support for configure and close

2022-12-08 Thread Srikanth Yalavarthi
Implemented driver functions to configure and close ML devices. Added skeleton code and support to reconfigure ML device. PCI device remove is enabled in device close. Signed-off-by: Srikanth Yalavarthi --- drivers/ml/cnxk/cn10k_ml_dev.c | 2 ++ drivers/ml/cnxk/cn10k_ml_dev.h | 21

[PATCH v1 05/37] ml/cnxk: parse ML firmware path from device args

2022-12-08 Thread Srikanth Yalavarthi
Enabled parsing ML firmware path for cn10k. Default path is set as "/lib/firmware/mlip-fw.bin", when args are not provided. Added internal structures for ML firmware. Signed-off-by: Srikanth Yalavarthi --- drivers/ml/cnxk/cn10k_ml_dev.c | 71 ++ drivers/ml/cnxk/cn

[PATCH v1 10/37] ml/cnxk: add functions to load and unload models

2022-12-08 Thread Srikanth Yalavarthi
Added cnxk driver implementations to load and unload ML models. Enabled support in configure stage to allocate model handles array. Assign model ID and allocate resources per each model during load stage and release resources during model unload. Added internal structures to handle ML models. Sign

[PATCH v1 12/37] ml/cnxk: add internal structures for derived info

2022-12-08 Thread Srikanth Yalavarthi
Added internal structures to handle derived address fields and enabled support to compute DMA addresses for model start. Enabled updating internal model fields. Signed-off-by: Srikanth Yalavarthi --- drivers/ml/cnxk/cn10k_ml_model.c | 88 drivers/ml/cnxk/cn10k_ml

[PATCH v1 06/37] ml/cnxk: enable firmware load and device reset

2022-12-08 Thread Srikanth Yalavarthi
Enabled support to load ML firmware on cn10ka ROC model. Reset MLIP device during dev_close driver operation. Device can't be reconfigured after a call to close. Job execution is disabled after firmware load, execution is enabled in device start state. Added internal request structure. Signed-off-

[PATCH v1 17/37] ml/cnxk: enable support to start an ML model

2022-12-08 Thread Srikanth Yalavarthi
Implemented model start driver function. A model start job is checked for completion in synchronous mode. Tilemask and OCM slot is calculated before starting the model. Model start is enqueued through scratch registers. OCM pages are reserved after model start completion. Signed-off-by: Srikanth

[PATCH v1 08/37] ml/cnxk: enable support for device start and stop

2022-12-08 Thread Srikanth Yalavarthi
Implemented ML driver functions to start and stop ML device. Start / Stop would enable or disable ML device to accept inference requests. Signed-off-by: Srikanth Yalavarthi --- drivers/ml/cnxk/cn10k_ml_ops.c | 42 +++--- 1 file changed, 39 insertions(+), 3 deletions(-

[PATCH v1 18/37] ml/cnxk: enable support to stop an ML models

2022-12-08 Thread Srikanth Yalavarthi
Implemented model stop driver function. A model stop job is enqueued through scratch registers and is checked for completion through polling in a synchronous mode. OCM pages are released after model stop completion. Signed-off-by: Srikanth Yalavarthi --- drivers/ml/cnxk/cn10k_ml_ops.c | 115

[PATCH v1 09/37] ml/cnxk: add support to create device queue-pairs

2022-12-08 Thread Srikanth Yalavarthi
Enabled support to create and destroy device queue-pairs. Updated configure stage to create array to store queue-pair handles. Added internal structure for queue-pair, queue and ML inference requests. Signed-off-by: Srikanth Yalavarthi --- drivers/ml/cnxk/cn10k_ml_ops.c | 207 +++

[PATCH v1 19/37] ml/cnxk: enable support to get model information

2022-12-08 Thread Srikanth Yalavarthi
Added driver functions to get model information. Added internal functions to set and get model info. Signed-off-by: Srikanth Yalavarthi --- drivers/ml/cnxk/cn10k_ml_model.c | 54 drivers/ml/cnxk/cn10k_ml_model.h | 9 ++ drivers/ml/cnxk/cn10k_ml_ops.c | 37

[PATCH v1 11/37] ml/cnxk: enable validity checks for model metadata

2022-12-08 Thread Srikanth Yalavarthi
Added model metadata structure and enabled metadata check during model load. Remap cnxk IO types with RTE IO types. Store and update model metadata in model structure. Signed-off-by: Srikanth Yalavarthi --- drivers/ml/cnxk/cn10k_ml_model.c | 196 +++ drivers/ml/cnxk/cn10k_ml_mode

[PATCH v1 20/37] ml/cnxk: enable support to update model params

2022-12-08 Thread Srikanth Yalavarthi
Added cnxk driver functions to update model params or weights and bias after a models is loaded. Updating model params would not require reloading the model. Signed-off-by: Srikanth Yalavarthi --- drivers/ml/cnxk/cn10k_ml_ops.c | 31 +++ 1 file changed, 31 insertions(

[PATCH v1 13/37] ml/cnxk: add internal structures for tiles and OCM

2022-12-08 Thread Srikanth Yalavarthi
Added internal structures to handle tile and OCM information and OCM to model memory mapping. Initialize the fields to platform specific defaults and compute the OCM / tile requirements for model. Signed-off-by: Srikanth Yalavarthi --- drivers/ml/cnxk/cn10k_ml_dev.h | 5 ++ drivers/ml/cnxk/cn

[PATCH v1 14/37] ml/cnxk: add structures for slow and fast path JDs

2022-12-08 Thread Srikanth Yalavarthi
Added JD structures for load, unload and run jobs. Initialize job command and allocate memory for request structures for slow path jobs. Signed-off-by: Srikanth Yalavarthi --- drivers/ml/cnxk/cn10k_ml_dev.h | 99 drivers/ml/cnxk/cn10k_ml_model.h | 4 ++ driver

[PATCH v1 21/37] ml/cnxk: add support to get IO buffer sizes

2022-12-08 Thread Srikanth Yalavarthi
Added driver functions to get input and output buffer sizes for a given batch size. This function would compute the buffer size based on specific requirements of the device. Signed-off-by: Srikanth Yalavarthi --- drivers/ml/cnxk/cn10k_ml_ops.c | 52 ++ 1 file chan

[PATCH v1 15/37] ml/cnxk: find OCM mask and page slots for a model

2022-12-08 Thread Srikanth Yalavarthi
Added support to compute OCM tilemask and page start for a model. The computed tilemask and page start are used during model start to copy model weights and bias to OCM. OCM slot for a model is allocated from the tiles with maximum amount of free memory. Signed-off-by: Srikanth Yalavarthi --- dr

[PATCH v1 16/37] ml/cnxk: add support to reserve and free OCM pages

2022-12-08 Thread Srikanth Yalavarthi
Added support to reserve and free OCM pages for a model. OCM pages are reserved upon completion of model start and are released after model stop. Signed-off-by: Srikanth Yalavarthi --- drivers/ml/cnxk/cn10k_ml_ocm.c | 131 - drivers/ml/cnxk/cn10k_ml_ocm.h | 3 +

[PATCH v1 23/37] ml/cnxk: enable support to dump device debug info

2022-12-08 Thread Srikanth Yalavarthi
Added support to dump device debug information. Debug info on cn10k device includes model state info, OCM usage info, firmware debug and exception buffer. Signed-off-by: Srikanth Yalavarthi --- drivers/ml/cnxk/cn10k_ml_ocm.c | 51 + drivers/ml/cnxk/cn10k_ml_ocm.h | 1 + drivers/ml/cnx

[PATCH v1 24/37] ml/cnxk: add driver support for device selftest

2022-12-08 Thread Srikanth Yalavarthi
Added support for device selftest. Device selftest includes checking the status of firmware. Signed-off-by: Srikanth Yalavarthi --- drivers/ml/cnxk/cn10k_ml_ops.c | 57 ++ 1 file changed, 57 insertions(+) diff --git a/drivers/ml/cnxk/cn10k_ml_ops.c b/drivers/ml/c

[PATCH v1 26/37] ml/cnxk: dequeue a burst of inference requests

2022-12-08 Thread Srikanth Yalavarthi
Enabled driver support to dequeue inference requests from internal queue. Dequeue checks for request completion by polling the status field of the job request. Signed-off-by: Srikanth Yalavarthi --- drivers/ml/cnxk/cn10k_ml_ops.c | 61 ++ drivers/ml/cnxk/cn10k_ml_

[PATCH v1 29/37] ml/cnxk: add support to get and reset device stats

2022-12-08 Thread Srikanth Yalavarthi
Enabled support to get and reset ML device stats. Device stats include number of requests enqueued/dequeued and error count. Signed-off-by: Srikanth Yalavarthi --- drivers/ml/cnxk/cn10k_ml_ops.c | 55 -- drivers/ml/cnxk/cn10k_ml_ops.h | 3 ++ 2 files changed, 55

[PATCH v1 22/37] ml/cnxk: enable quantization and dequantization

2022-12-08 Thread Srikanth Yalavarthi
Implemented driver functions to quantize / dequantize input and output data. Support is enabled for multiple batches. Quantization / dequantization use the type conversion functions defined in ML common code. Signed-off-by: Srikanth Yalavarthi --- drivers/ml/cnxk/cn10k_ml_ops.c | 150 +++

[PATCH v1 31/37] ml/cnxk: enable support to get xstats in cycles

2022-12-08 Thread Srikanth Yalavarthi
Enabled support to retrieve xstats in either cycles or ns. Access to sclk is enabled only if an RVU device is probed during initialization. Driver would return the xstats in nanoseconds only when an RVU device is probed, else would fallback to cycles. Signed-off-by: Srikanth Yalavarthi --- drive

[PATCH v1 25/37] ml/cnxk: enqueue a burst of inference requests

2022-12-08 Thread Srikanth Yalavarthi
Enabled driver support to enqueue a burst of inference requests to ML device. Enqueue uses internal ML request structure to queue the inferences and job completion through polling. Signed-off-by: Srikanth Yalavarthi --- drivers/ml/cnxk/cn10k_ml_ops.c | 96 ++ driv

[PATCH v1 32/37] ml/cnxk: add support to report DPE FW warnings

2022-12-08 Thread Srikanth Yalavarthi
Enabled support to enable and report DPE warnings from ML firmware. Configure firmware load flags based on the device arguments. Default values: enable_dpe_errors = 1 report_dpe_errors = 0 Signed-off-by: Srikanth Yalavarthi --- drivers/ml/cnxk/cn10k_ml_dev.c | 94 +++

[PATCH v1 27/37] ml/cnxk: add internal function for sync mode run

2022-12-08 Thread Srikanth Yalavarthi
Added internal function to execute ML inference requests in synchronous mode. Sync mode inference execution is used to launch inference requests without using a queue-pair. Signed-off-by: Srikanth Yalavarthi --- drivers/ml/cnxk/cn10k_ml_ops.c | 53 ++ drivers/ml/c

[PATCH v1 34/37] ml/cnxk: add support to select OCM allocation mode

2022-12-08 Thread Srikanth Yalavarthi
Added device argument "ocm_alloc_mode" to select OCM allocation method during model start. Two modes are supported by the driver. Added implementation for ocm_alloc_mode lowest as default. ocm_alloc_mode: lowest: Allocate from first available free slot / lowest tile ID in OCM (default)

[PATCH v1 28/37] ml/cnxk: enable support for firmware error codes

2022-12-08 Thread Srikanth Yalavarthi
Enabled support for error handling. Added error types and subtypes supported by ML firmware. Enabled support to get device specific error code and message for a completed ML request. Signed-off-by: Srikanth Yalavarthi --- drivers/ml/cnxk/cn10k_ml_dev.c | 4 +- drivers/ml/cnxk/cn10k_ml_dev.h |

[PATCH v1 30/37] ml/cnxk: add support to handle extended dev stats

2022-12-08 Thread Srikanth Yalavarthi
Added support to handle ML device extended stats. Support is enabled to get xstats names and stats values and reset xstats. Supported xstats include avg, min and max hardware and firmware latency. Signed-off-by: Srikanth Yalavarthi --- drivers/ml/cnxk/cn10k_ml_dev.h | 3 + drivers/ml/cnxk/cn

[PATCH v1 33/37] ml/cnxk: add support to enable model data caching

2022-12-08 Thread Srikanth Yalavarthi
Added device argument 'cache_model_data' to enable model data caching. An inference request would be executed with dummy data in synchronous mode during model start stage. This run would cache the model weights and bias in the memory and result in improved inference throughput. cache_model_data =

[PATCH v1 35/37] ml/cnxk: add support to use lock during jcmd enq

2022-12-08 Thread Srikanth Yalavarthi
Added device argument "hw_queue_lock" to select the JCMDQ enqueue ROC function to be used in fast path. hw_queue_lock: 0: Disable, use lock free version of JCMDQ enqueue ROC function for job queuing. To avoid race condition in request queuing to hardware, disabling hw_queue_lock

[PATCH v1 36/37] ml/cnxk: add support to select poll memory region

2022-12-08 Thread Srikanth Yalavarthi
Added device argument "poll_mem" to select the memory region to be used for polling in fast-path requests. Implemented support to use scratch registers for polling. Available pool of scratch registers one-to-one mapped with the internal request queue. poll_mem: ddr: Use DDR memory location f

[PATCH v1 37/37] ml/cnxk: add user guide for marvell cnxk ml driver

2022-12-08 Thread Srikanth Yalavarthi
Added user guide for Marvell cnxk ML driver for Marvell Octeon cnxk Soc family. Added details about device initialization, debug options and runtime device args supported by the driver. Signed-off-by: Srikanth Yalavarthi --- MAINTAINERS | 1 + doc/guides/index.rst| 1

[PATCH v2 00/37] Implementation of ML CNXK driver

2022-12-08 Thread Srikanth Yalavarthi
Marvell ML CNXK Driver -- This patch series implements Machine Learning (ML) driver for Marvell Octeon 10 (cnxk) platform. ML inferencing is supported on cnxk platform through an integrated ML inferencing processor. The current driver supports programming the ML hardware engine

[PATCH v2 01/37] ml/cnxk: add skeleton for ML cnxk driver

2022-12-08 Thread Srikanth Yalavarthi
Added initial source files and build files for ML cnxk driver. Signed-off-by: Srikanth Yalavarthi --- Depends-on: patch-120600 ("common/cnxk: add ML headers and ROC code for cnxk") MAINTAINERS| 2 ++ drivers/meson.build| 1 + drivers/ml/cnxk/cn10k_ml_dev.c | 8

[PATCH v2 03/37] ml/cnxk: add driver support to get device info

2022-12-08 Thread Srikanth Yalavarthi
Added support to get the cn10k ML device information. This is a driver implementation for the RTE function rte_ml_dev_info_get. ML device on cn10k supports one queue-pair in lock-free mode and does not support segmented input output data. Signed-off-by: Srikanth Yalavarthi --- drivers/ml/cnxk/cn

[PATCH v2 02/37] ml/cnxk: enable probe and remove of ML device

2022-12-08 Thread Srikanth Yalavarthi
ML inference engine on cn10k platform is a PCI based device. Added driver support to probe and remove the device for cn10k poll mode driver. The device is named by the PMD as "ml_cn10k". Signed-off-by: Srikanth Yalavarthi --- drivers/ml/cnxk/cn10k_ml_dev.c | 114 +

[PATCH v2 04/37] ml/cnxk: add support for configure and close

2022-12-08 Thread Srikanth Yalavarthi
Implemented driver functions to configure and close ML devices. Added skeleton code and support to reconfigure ML device. PCI device remove is enabled in device close. Signed-off-by: Srikanth Yalavarthi --- drivers/ml/cnxk/cn10k_ml_dev.c | 2 ++ drivers/ml/cnxk/cn10k_ml_dev.h | 21

[PATCH v2 06/37] ml/cnxk: enable firmware load and device reset

2022-12-08 Thread Srikanth Yalavarthi
Enabled support to load ML firmware on cn10ka ROC model. Reset MLIP device during dev_close driver operation. Device can't be reconfigured after a call to close. Job execution is disabled after firmware load, execution is enabled in device start state. Added internal request structure. Signed-off-

[PATCH v2 07/37] ml/cnxk: enable support for simulator environment

2022-12-08 Thread Srikanth Yalavarthi
Enabled device initialization and firmware load on simulator platform. Firmware load stage on simulator would involve launching a firmware handshake request only. Signed-off-by: Srikanth Yalavarthi --- drivers/ml/cnxk/cn10k_ml_dev.c | 119 + 1 file changed, 107 in

[PATCH v2 05/37] ml/cnxk: parse ML firmware path from device args

2022-12-08 Thread Srikanth Yalavarthi
Enabled parsing ML firmware path for cn10k. Default path is set as "/lib/firmware/mlip-fw.bin", when args are not provided. Added internal structures for ML firmware. Signed-off-by: Srikanth Yalavarthi --- drivers/ml/cnxk/cn10k_ml_dev.c | 71 ++ drivers/ml/cnxk/cn

[PATCH v2 08/37] ml/cnxk: enable support for device start and stop

2022-12-08 Thread Srikanth Yalavarthi
Implemented ML driver functions to start and stop ML device. Start / Stop would enable or disable ML device to accept inference requests. Signed-off-by: Srikanth Yalavarthi --- drivers/ml/cnxk/cn10k_ml_ops.c | 42 +++--- 1 file changed, 39 insertions(+), 3 deletions(-

  1   2   >