[v6,00/34] Implementation of revised ml/cnxk driver

Message ID 20231018135423.14111-1-syalavarthi@marvell.com (mailing list archive)
Headers
Series Implementation of revised ml/cnxk driver |

Message

Srikanth Yalavarthi Oct. 18, 2023, 1:53 p.m. UTC
  This patch series is an implementation of revised ml/cnxk driver
to support models compiled with TVM compiler framework. TVM models
use a hybrid mode for execution, with regions of the model executing
on the ML accelerator and the rest executing on CPU cores.

This series of commits reorganizes the ml/cnxk driver and adds support
to execute multiple regions with-in a TVM model.

v6:
  - Added depends info for series. This series depends on patch-132887
  - Fix merge conflicts with dpdk-23.11-rc1
  - Fix issues with ml/cnxk driver release notes
  - Added build dependency information for dlpack headers

v5:
  - Fix build failures for individual patches in the series
  - Finished build testing with devtools/test-meson-builds.sh script

v4:
  - Squashed release notes
  - Updated external build dependency info in documentation

v3:
  - Reduced use of RTE_MLDEV_CNXK_ENABLE_MVTVM macro
  - Added stubs file with dummy functions to use when TVM is disabled
  - Dropped patch with internal function to read firmware
  - Updated ML CNXK PMD documentation
  - Added external library dependency info in documentation
  - Added release notes for 23.11

v2:
  - Fix xstats reporting
  - Fix issues reported by klocwork static analysis tool
  - Update external header inclusions

v1:
  - Initial changes

Anup Prabhu (2):
  ml/cnxk: enable OCM check for multilayer TVM model
  ml/cnxk: enable fast-path ops for TVM models

Prince Takkar (2):
  ml/cnxk: update internal TVM model info structure
  ml/cnxk: support quantize and dequantize callback

Srikanth Yalavarthi (30):
  ml/cnxk: drop support for register polling
  ml/cnxk: add generic cnxk device structure
  ml/cnxk: add generic model and layer structures
  ml/cnxk: add generic cnxk request structure
  ml/cnxk: add generic cnxk xstats structures
  ml/cnxk: rename cnxk ops function pointers struct
  ml/cnxk: update device handling functions
  ml/cnxk: update queue-pair handling functions
  ml/cnxk: update model load and unload functions
  ml/cnxk: update model start and stop functions
  ml/cnxk: update model utility functions
  ml/cnxk: update data quantization functions
  ml/cnxk: update device debug functions
  ml/cnxk: update device stats functions
  ml/cnxk: update device and model xstats functions
  ml/cnxk: update fast path functions
  ml/cnxk: move error handling to cnxk layer
  ml/cnxk: support config and close of tvmdp library
  ml/cnxk: add structures to support TVM model type
  ml/cnxk: add support for identify model type
  ml/cnxk: add support to parse TVM model objects
  ml/cnxk: fetch layer info and load TVM model
  ml/cnxk: update internal info for TVM model
  ml/cnxk: enable model unload in tvmdp library
  ml/cnxk: support start and stop for TVM models
  ml/cnxk: support device dump for TVM models
  ml/cnxk: enable reporting model runtime as xstats
  ml/cnxk: implement I/O alloc and free callbacks
  ml/cnxk: add generic ML malloc and free callback
  ml/cnxk: enable creation of mvtvm virtual device

 doc/guides/mldevs/cnxk.rst             |  131 +-
 doc/guides/rel_notes/release_23_11.rst |    3 +
 drivers/ml/cnxk/cn10k_ml_dev.c         |  416 ++--
 drivers/ml/cnxk/cn10k_ml_dev.h         |  457 +---
 drivers/ml/cnxk/cn10k_ml_model.c       |  401 ++--
 drivers/ml/cnxk/cn10k_ml_model.h       |  151 +-
 drivers/ml/cnxk/cn10k_ml_ocm.c         |  111 +-
 drivers/ml/cnxk/cn10k_ml_ocm.h         |   15 +-
 drivers/ml/cnxk/cn10k_ml_ops.c         | 2828 ++++++++----------------
 drivers/ml/cnxk/cn10k_ml_ops.h         |  358 ++-
 drivers/ml/cnxk/cnxk_ml_dev.c          |   22 +
 drivers/ml/cnxk/cnxk_ml_dev.h          |  120 +
 drivers/ml/cnxk/cnxk_ml_io.c           |   95 +
 drivers/ml/cnxk/cnxk_ml_io.h           |   88 +
 drivers/ml/cnxk/cnxk_ml_model.c        |   94 +
 drivers/ml/cnxk/cnxk_ml_model.h        |  192 ++
 drivers/ml/cnxk/cnxk_ml_ops.c          | 1690 ++++++++++++++
 drivers/ml/cnxk/cnxk_ml_ops.h          |   87 +
 drivers/ml/cnxk/cnxk_ml_utils.c        |   15 +
 drivers/ml/cnxk/cnxk_ml_utils.h        |   17 +
 drivers/ml/cnxk/cnxk_ml_xstats.h       |  152 ++
 drivers/ml/cnxk/meson.build            |   73 +
 drivers/ml/cnxk/mvtvm_ml_dev.c         |  196 ++
 drivers/ml/cnxk/mvtvm_ml_dev.h         |   40 +
 drivers/ml/cnxk/mvtvm_ml_model.c       |  392 ++++
 drivers/ml/cnxk/mvtvm_ml_model.h       |   90 +
 drivers/ml/cnxk/mvtvm_ml_ops.c         |  652 ++++++
 drivers/ml/cnxk/mvtvm_ml_ops.h         |   82 +
 drivers/ml/cnxk/mvtvm_ml_stubs.c       |  141 ++
 drivers/ml/cnxk/mvtvm_ml_stubs.h       |   36 +
 30 files changed, 6186 insertions(+), 2959 deletions(-)
 create mode 100644 drivers/ml/cnxk/cnxk_ml_dev.c
 create mode 100644 drivers/ml/cnxk/cnxk_ml_dev.h
 create mode 100644 drivers/ml/cnxk/cnxk_ml_io.c
 create mode 100644 drivers/ml/cnxk/cnxk_ml_io.h
 create mode 100644 drivers/ml/cnxk/cnxk_ml_model.c
 create mode 100644 drivers/ml/cnxk/cnxk_ml_model.h
 create mode 100644 drivers/ml/cnxk/cnxk_ml_ops.c
 create mode 100644 drivers/ml/cnxk/cnxk_ml_ops.h
 create mode 100644 drivers/ml/cnxk/cnxk_ml_utils.c
 create mode 100644 drivers/ml/cnxk/cnxk_ml_utils.h
 create mode 100644 drivers/ml/cnxk/cnxk_ml_xstats.h
 create mode 100644 drivers/ml/cnxk/mvtvm_ml_dev.c
 create mode 100644 drivers/ml/cnxk/mvtvm_ml_dev.h
 create mode 100644 drivers/ml/cnxk/mvtvm_ml_model.c
 create mode 100644 drivers/ml/cnxk/mvtvm_ml_model.h
 create mode 100644 drivers/ml/cnxk/mvtvm_ml_ops.c
 create mode 100644 drivers/ml/cnxk/mvtvm_ml_ops.h
 create mode 100644 drivers/ml/cnxk/mvtvm_ml_stubs.c
 create mode 100644 drivers/ml/cnxk/mvtvm_ml_stubs.h
  

Comments

Jerin Jacob Oct. 18, 2023, 2:20 p.m. UTC | #1
On Wed, Oct 18, 2023 at 7:24 PM Srikanth Yalavarthi
<syalavarthi@marvell.com> wrote:
>
> This patch series is an implementation of revised ml/cnxk driver
> to support models compiled with TVM compiler framework. TVM models
> use a hybrid mode for execution, with regions of the model executing
> on the ML accelerator and the rest executing on CPU cores.
>
> This series of commits reorganizes the ml/cnxk driver and adds support
> to execute multiple regions with-in a TVM model.
>

Fix this warning

### [PATCH] ml/cnxk: enable creation of mvtvm virtual device

Warning in drivers/ml/cnxk/cn10k_ml_dev.c:
Using rte_panic/rte_exit

Fix as needed which is relevent
### [PATCH] ml/cnxk: add generic cnxk device structure

WARNING:STRNCPY: Prefer strscpy, strscpy_pad, or __nonstring over
strncpy - see: https://github.com/KSPP/linux/issues/90
#1778: FILE: drivers/ml/cnxk/cn10k_ml_ops.c:1316:
+               strncpy(xstats_map[idx].name,
cn10k_mldev->xstats.entries[i].map.name,

total: 0 errors, 1 warnings, 2276 lines checked

### [PATCH] ml/cnxk: add generic model and layer structures

WARNING:STRNCPY: Prefer strscpy, strscpy_pad, or __nonstring over
strncpy - see: https://github.com/KSPP/linux/issues/90
#117: FILE: drivers/ml/cnxk/cn10k_ml_model.c:379:
+                       strncpy(layer->info.input[i].name, (char
*)metadata->input1[i].input_name,

WARNING:STRNCPY: Prefer strscpy, strscpy_pad, or __nonstring over
strncpy - see: https://github.com/KSPP/linux/issues/90
#166: FILE: drivers/ml/cnxk/cn10k_ml_model.c:411:
+                       strncpy(layer->info.input[i].name, (char
*)metadata->input2[j].input_name,

WARNING:STRNCPY: Prefer strscpy, strscpy_pad, or __nonstring over
strncpy - see: https://github.com/KSPP/linux/issues/90
#221: FILE: drivers/ml/cnxk/cn10k_ml_model.c:449:
+                       strncpy(layer->info.output[i].name,

WARNING:STRNCPY: Prefer strscpy, strscpy_pad, or __nonstring over
strncpy - see: https://github.com/KSPP/linux/issues/90
#255: FILE: drivers/ml/cnxk/cn10k_ml_model.c:472:
+                       strncpy(layer->info.output[i].name,

total: 0 errors, 4 warnings, 1905 lines checked

### [PATCH] ml/cnxk: update model load and unload functions

WARNING:STRNCPY: Prefer strscpy, strscpy_pad, or __nonstring over
strncpy - see: https://github.com/KSPP/linux/issues/90
#83: FILE: drivers/ml/cnxk/cn10k_ml_model.c:367:
+                       strncpy(io_info->input[i].name, (char
*)metadata->input1[i].input_name,

WARNING:STRNCPY: Prefer strscpy, strscpy_pad, or __nonstring over
strncpy - see: https://github.com/KSPP/linux/issues/90
#135: FILE: drivers/ml/cnxk/cn10k_ml_model.c:399:
+                       strncpy(io_info->input[i].name, (char
*)metadata->input2[j].input_name,

WARNING:STRNCPY: Prefer strscpy, strscpy_pad, or __nonstring over
strncpy - see: https://github.com/KSPP/linux/issues/90
#204: FILE: drivers/ml/cnxk/cn10k_ml_model.c:437:
+                       strncpy(io_info->output[i].name, (char
*)metadata->output1[i].output_name,

WARNING:STRNCPY: Prefer strscpy, strscpy_pad, or __nonstring over
strncpy - see: https://github.com/KSPP/linux/issues/90
#244: FILE: drivers/ml/cnxk/cn10k_ml_model.c:461:
+                       strncpy(io_info->output[i].name, (char
*)metadata->output2[j].output_name,

total: 0 errors, 4 warnings, 1094 lines checked

### [PATCH] ml/cnxk: update device and model xstats functions

WARNING:STRNCPY: Prefer strscpy, strscpy_pad, or __nonstring over
strncpy - see: https://github.com/KSPP/linux/issues/90
#1100: FILE: drivers/ml/cnxk/cnxk_ml_ops.c:856:
WARNING:STRNCPY: Prefer strscpy, strscpy_pad, or __nonstring over
strncpy - see: https://github.com/KSPP/linux/issues/90
#1100: FILE: drivers/ml/cnxk/cnxk_ml_ops.c:856:
+               strncpy(xstats_map[idx].name, xs->map.name, RTE_ML_STR_MAX);

total: 0 errors, 1 warnings, 1248 lines checked

### [PATCH] ml/cnxk: fetch layer info and load TVM model

WARNING:STRNCPY: Prefer strscpy, strscpy_pad, or __nonstring over
strncpy - see: https://github.com/KSPP/linux/issues/90
#172: FILE: drivers/ml/cnxk/mvtvm_ml_ops.c:125:
+               strncpy(model->layer[layer_id].name,

total: 0 errors, 1 warnings, 207 lines checked

### [PATCH] ml/cnxk: update internal info for TVM model

WARNING:STRNCPY: Prefer strscpy, strscpy_pad, or __nonstring over
strncpy - see: https://github.com/KSPP/linux/issues/90
#85: FILE: drivers/ml/cnxk/mvtvm_ml_model.c:175:
+               strncpy(model->mvtvm.info.input[i].name,
metadata->input[i].name,

WARNING:STRNCPY: Prefer strscpy, strscpy_pad, or __nonstring over
strncpy - see: https://github.com/KSPP/linux/issues/90
#118: FILE: drivers/ml/cnxk/mvtvm_ml_model.c:208:
+               strncpy(model->mvtvm.info.output[i].name,
metadata->output[i].name,

total: 0 errors, 2 warnings, 173 lines checked

### [PATCH] ml/cnxk: enable reporting model runtime as xstats

WARNING:STRCPY: Prefer strscpy over strcpy - see:
https://github.com/KSPP/linux/issues/88
#113: FILE: drivers/ml/cnxk/cnxk_ml_ops.c:243:
+               strcpy(suffix, "cycles");

WARNING:STRCPY: Prefer strscpy over strcpy - see:
https://github.com/KSPP/linux/issues/88
#115: FILE: drivers/ml/cnxk/cnxk_ml_ops.c:245:
+               strcpy(suffix, "ns");

total: 0 errors, 2 warnings, 477 lines checked
  
Srikanth Yalavarthi Oct. 19, 2023, 6:41 a.m. UTC | #2
> -----Original Message-----
> From: Jerin Jacob <jerinjacobk@gmail.com>
> Sent: 18 October 2023 19:50
> To: Srikanth Yalavarthi <syalavarthi@marvell.com>
> Cc: dev@dpdk.org; Shivah Shankar Shankar Narayan Rao
> <sshankarnara@marvell.com>; Anup Prabhu <aprabhu@marvell.com>;
> Prince Takkar <ptakkar@marvell.com>; Srikanth Yalavarthi
> <syalavarthi@marvell.com>
> Subject: [EXT] Re: [PATCH v6 00/34] Implementation of revised ml/cnxk
> driver
> 
> External Email
> 
> ----------------------------------------------------------------------
> On Wed, Oct 18, 2023 at 7:24 PM Srikanth Yalavarthi
> <syalavarthi@marvell.com> wrote:
> >
> > This patch series is an implementation of revised ml/cnxk driver to
> > support models compiled with TVM compiler framework. TVM models use
> a
> > hybrid mode for execution, with regions of the model executing on the
> > ML accelerator and the rest executing on CPU cores.
> >
> > This series of commits reorganizes the ml/cnxk driver and adds support
> > to execute multiple regions with-in a TVM model.
> >
> 
> Fix this warning
> 
> ### [PATCH] ml/cnxk: enable creation of mvtvm virtual device
> 
> Warning in drivers/ml/cnxk/cn10k_ml_dev.c:
> Using rte_panic/rte_exit

Updated the driver patches to avoid using rte_panic/rte_exit. Changes part of v7.

> 
> Fix as needed which is relevent
> ### [PATCH] ml/cnxk: add generic cnxk device structure
> 
> WARNING:STRNCPY: Prefer strscpy, strscpy_pad, or __nonstring over
> strncpy - see: https://urldefense.proofpoint.com/v2/url?u=https-
> 3A__github.com_KSPP_linux_issues_90&d=DwIFaQ&c=nKjWec2b6R0mOyPa
> z7xtfQ&r=SNPqUkGl0n_Ms1iJa_6wD6LBwX8efL_NOyXvAX-iCMI&m=Wc-
> 9LbDLV9eZtdFI_acMCdshpvh76LPngspZk3yJrdWbVO8NUnmS3ywndxRTEuAI
> &s=rCRq1CQlxbyMlcn4Bf-vfXpQbosVe-pT3EtatPXlKmg&e=
> #1778: FILE: drivers/ml/cnxk/cn10k_ml_ops.c:1316:
> +               strncpy(xstats_map[idx].name,
> cn10k_mldev->xstats.entries[i].map.name,
> 
> total: 0 errors, 1 warnings, 2276 lines checked
> 
> ### [PATCH] ml/cnxk: add generic model and layer structures
> 
> WARNING:STRNCPY: Prefer strscpy, strscpy_pad, or __nonstring over
> strncpy - see: https://urldefense.proofpoint.com/v2/url?u=https-
> 3A__github.com_KSPP_linux_issues_90&d=DwIFaQ&c=nKjWec2b6R0mOyPa
> z7xtfQ&r=SNPqUkGl0n_Ms1iJa_6wD6LBwX8efL_NOyXvAX-iCMI&m=Wc-
> 9LbDLV9eZtdFI_acMCdshpvh76LPngspZk3yJrdWbVO8NUnmS3ywndxRTEuAI
> &s=rCRq1CQlxbyMlcn4Bf-vfXpQbosVe-pT3EtatPXlKmg&e=
> #117: FILE: drivers/ml/cnxk/cn10k_ml_model.c:379:
> +                       strncpy(layer->info.input[i].name, (char
> *)metadata->input1[i].input_name,
> 
> WARNING:STRNCPY: Prefer strscpy, strscpy_pad, or __nonstring over
> strncpy - see: https://urldefense.proofpoint.com/v2/url?u=https-
> 3A__github.com_KSPP_linux_issues_90&d=DwIFaQ&c=nKjWec2b6R0mOyPa
> z7xtfQ&r=SNPqUkGl0n_Ms1iJa_6wD6LBwX8efL_NOyXvAX-iCMI&m=Wc-
> 9LbDLV9eZtdFI_acMCdshpvh76LPngspZk3yJrdWbVO8NUnmS3ywndxRTEuAI
> &s=rCRq1CQlxbyMlcn4Bf-vfXpQbosVe-pT3EtatPXlKmg&e=
> #166: FILE: drivers/ml/cnxk/cn10k_ml_model.c:411:
> +                       strncpy(layer->info.input[i].name, (char
> *)metadata->input2[j].input_name,
> 
> WARNING:STRNCPY: Prefer strscpy, strscpy_pad, or __nonstring over
> strncpy - see: https://urldefense.proofpoint.com/v2/url?u=https-
> 3A__github.com_KSPP_linux_issues_90&d=DwIFaQ&c=nKjWec2b6R0mOyPa
> z7xtfQ&r=SNPqUkGl0n_Ms1iJa_6wD6LBwX8efL_NOyXvAX-iCMI&m=Wc-
> 9LbDLV9eZtdFI_acMCdshpvh76LPngspZk3yJrdWbVO8NUnmS3ywndxRTEuAI
> &s=rCRq1CQlxbyMlcn4Bf-vfXpQbosVe-pT3EtatPXlKmg&e=
> #221: FILE: drivers/ml/cnxk/cn10k_ml_model.c:449:
> +                       strncpy(layer->info.output[i].name,
> 
> WARNING:STRNCPY: Prefer strscpy, strscpy_pad, or __nonstring over
> strncpy - see: https://urldefense.proofpoint.com/v2/url?u=https-
> 3A__github.com_KSPP_linux_issues_90&d=DwIFaQ&c=nKjWec2b6R0mOyPa
> z7xtfQ&r=SNPqUkGl0n_Ms1iJa_6wD6LBwX8efL_NOyXvAX-iCMI&m=Wc-
> 9LbDLV9eZtdFI_acMCdshpvh76LPngspZk3yJrdWbVO8NUnmS3ywndxRTEuAI
> &s=rCRq1CQlxbyMlcn4Bf-vfXpQbosVe-pT3EtatPXlKmg&e=
> #255: FILE: drivers/ml/cnxk/cn10k_ml_model.c:472:
> +                       strncpy(layer->info.output[i].name,
> 
> total: 0 errors, 4 warnings, 1905 lines checked
> 
> ### [PATCH] ml/cnxk: update model load and unload functions
> 
> WARNING:STRNCPY: Prefer strscpy, strscpy_pad, or __nonstring over
> strncpy - see: https://urldefense.proofpoint.com/v2/url?u=https-
> 3A__github.com_KSPP_linux_issues_90&d=DwIFaQ&c=nKjWec2b6R0mOyPa
> z7xtfQ&r=SNPqUkGl0n_Ms1iJa_6wD6LBwX8efL_NOyXvAX-iCMI&m=Wc-
> 9LbDLV9eZtdFI_acMCdshpvh76LPngspZk3yJrdWbVO8NUnmS3ywndxRTEuAI
> &s=rCRq1CQlxbyMlcn4Bf-vfXpQbosVe-pT3EtatPXlKmg&e=
> #83: FILE: drivers/ml/cnxk/cn10k_ml_model.c:367:
> +                       strncpy(io_info->input[i].name, (char
> *)metadata->input1[i].input_name,
> 
> WARNING:STRNCPY: Prefer strscpy, strscpy_pad, or __nonstring over
> strncpy - see: https://urldefense.proofpoint.com/v2/url?u=https-
> 3A__github.com_KSPP_linux_issues_90&d=DwIFaQ&c=nKjWec2b6R0mOyPa
> z7xtfQ&r=SNPqUkGl0n_Ms1iJa_6wD6LBwX8efL_NOyXvAX-iCMI&m=Wc-
> 9LbDLV9eZtdFI_acMCdshpvh76LPngspZk3yJrdWbVO8NUnmS3ywndxRTEuAI
> &s=rCRq1CQlxbyMlcn4Bf-vfXpQbosVe-pT3EtatPXlKmg&e=
> #135: FILE: drivers/ml/cnxk/cn10k_ml_model.c:399:
> +                       strncpy(io_info->input[i].name, (char
> *)metadata->input2[j].input_name,
> 
> WARNING:STRNCPY: Prefer strscpy, strscpy_pad, or __nonstring over
> strncpy - see: https://urldefense.proofpoint.com/v2/url?u=https-
> 3A__github.com_KSPP_linux_issues_90&d=DwIFaQ&c=nKjWec2b6R0mOyPa
> z7xtfQ&r=SNPqUkGl0n_Ms1iJa_6wD6LBwX8efL_NOyXvAX-iCMI&m=Wc-
> 9LbDLV9eZtdFI_acMCdshpvh76LPngspZk3yJrdWbVO8NUnmS3ywndxRTEuAI
> &s=rCRq1CQlxbyMlcn4Bf-vfXpQbosVe-pT3EtatPXlKmg&e=
> #204: FILE: drivers/ml/cnxk/cn10k_ml_model.c:437:
> +                       strncpy(io_info->output[i].name, (char
> *)metadata->output1[i].output_name,
> 
> WARNING:STRNCPY: Prefer strscpy, strscpy_pad, or __nonstring over
> strncpy - see: https://urldefense.proofpoint.com/v2/url?u=https-
> 3A__github.com_KSPP_linux_issues_90&d=DwIFaQ&c=nKjWec2b6R0mOyPa
> z7xtfQ&r=SNPqUkGl0n_Ms1iJa_6wD6LBwX8efL_NOyXvAX-iCMI&m=Wc-
> 9LbDLV9eZtdFI_acMCdshpvh76LPngspZk3yJrdWbVO8NUnmS3ywndxRTEuAI
> &s=rCRq1CQlxbyMlcn4Bf-vfXpQbosVe-pT3EtatPXlKmg&e=
> #244: FILE: drivers/ml/cnxk/cn10k_ml_model.c:461:
> +                       strncpy(io_info->output[i].name, (char
> *)metadata->output2[j].output_name,
> 
> total: 0 errors, 4 warnings, 1094 lines checked
> 
> ### [PATCH] ml/cnxk: update device and model xstats functions
> 
> WARNING:STRNCPY: Prefer strscpy, strscpy_pad, or __nonstring over
> strncpy - see: https://urldefense.proofpoint.com/v2/url?u=https-
> 3A__github.com_KSPP_linux_issues_90&d=DwIFaQ&c=nKjWec2b6R0mOyPa
> z7xtfQ&r=SNPqUkGl0n_Ms1iJa_6wD6LBwX8efL_NOyXvAX-iCMI&m=Wc-
> 9LbDLV9eZtdFI_acMCdshpvh76LPngspZk3yJrdWbVO8NUnmS3ywndxRTEuAI
> &s=rCRq1CQlxbyMlcn4Bf-vfXpQbosVe-pT3EtatPXlKmg&e=
> #1100: FILE: drivers/ml/cnxk/cnxk_ml_ops.c:856:
> WARNING:STRNCPY: Prefer strscpy, strscpy_pad, or __nonstring over
> strncpy - see: https://urldefense.proofpoint.com/v2/url?u=https-
> 3A__github.com_KSPP_linux_issues_90&d=DwIFaQ&c=nKjWec2b6R0mOyPa
> z7xtfQ&r=SNPqUkGl0n_Ms1iJa_6wD6LBwX8efL_NOyXvAX-iCMI&m=Wc-
> 9LbDLV9eZtdFI_acMCdshpvh76LPngspZk3yJrdWbVO8NUnmS3ywndxRTEuAI
> &s=rCRq1CQlxbyMlcn4Bf-vfXpQbosVe-pT3EtatPXlKmg&e=
> #1100: FILE: drivers/ml/cnxk/cnxk_ml_ops.c:856:
> +               strncpy(xstats_map[idx].name, xs->map.name,
> RTE_ML_STR_MAX);
> 
> total: 0 errors, 1 warnings, 1248 lines checked
> 
> ### [PATCH] ml/cnxk: fetch layer info and load TVM model
> 
> WARNING:STRNCPY: Prefer strscpy, strscpy_pad, or __nonstring over
> strncpy - see: https://urldefense.proofpoint.com/v2/url?u=https-
> 3A__github.com_KSPP_linux_issues_90&d=DwIFaQ&c=nKjWec2b6R0mOyPa
> z7xtfQ&r=SNPqUkGl0n_Ms1iJa_6wD6LBwX8efL_NOyXvAX-iCMI&m=Wc-
> 9LbDLV9eZtdFI_acMCdshpvh76LPngspZk3yJrdWbVO8NUnmS3ywndxRTEuAI
> &s=rCRq1CQlxbyMlcn4Bf-vfXpQbosVe-pT3EtatPXlKmg&e=
> #172: FILE: drivers/ml/cnxk/mvtvm_ml_ops.c:125:
> +               strncpy(model->layer[layer_id].name,
> 
> total: 0 errors, 1 warnings, 207 lines checked
> 
> ### [PATCH] ml/cnxk: update internal info for TVM model
> 
> WARNING:STRNCPY: Prefer strscpy, strscpy_pad, or __nonstring over
> strncpy - see: https://urldefense.proofpoint.com/v2/url?u=https-
> 3A__github.com_KSPP_linux_issues_90&d=DwIFaQ&c=nKjWec2b6R0mOyPa
> z7xtfQ&r=SNPqUkGl0n_Ms1iJa_6wD6LBwX8efL_NOyXvAX-iCMI&m=Wc-
> 9LbDLV9eZtdFI_acMCdshpvh76LPngspZk3yJrdWbVO8NUnmS3ywndxRTEuAI
> &s=rCRq1CQlxbyMlcn4Bf-vfXpQbosVe-pT3EtatPXlKmg&e=
> #85: FILE: drivers/ml/cnxk/mvtvm_ml_model.c:175:
> +               strncpy(model->mvtvm.info.input[i].name,
> metadata->input[i].name,
> 
> WARNING:STRNCPY: Prefer strscpy, strscpy_pad, or __nonstring over
> strncpy - see: https://urldefense.proofpoint.com/v2/url?u=https-
> 3A__github.com_KSPP_linux_issues_90&d=DwIFaQ&c=nKjWec2b6R0mOyPa
> z7xtfQ&r=SNPqUkGl0n_Ms1iJa_6wD6LBwX8efL_NOyXvAX-iCMI&m=Wc-
> 9LbDLV9eZtdFI_acMCdshpvh76LPngspZk3yJrdWbVO8NUnmS3ywndxRTEuAI
> &s=rCRq1CQlxbyMlcn4Bf-vfXpQbosVe-pT3EtatPXlKmg&e=
> #118: FILE: drivers/ml/cnxk/mvtvm_ml_model.c:208:
> +               strncpy(model->mvtvm.info.output[i].name,
> metadata->output[i].name,
> 
> total: 0 errors, 2 warnings, 173 lines checked
> 
> ### [PATCH] ml/cnxk: enable reporting model runtime as xstats
> 
> WARNING:STRCPY: Prefer strscpy over strcpy - see:
> https://urldefense.proofpoint.com/v2/url?u=https-
> 3A__github.com_KSPP_linux_issues_88&d=DwIFaQ&c=nKjWec2b6R0mOyPa
> z7xtfQ&r=SNPqUkGl0n_Ms1iJa_6wD6LBwX8efL_NOyXvAX-iCMI&m=Wc-
> 9LbDLV9eZtdFI_acMCdshpvh76LPngspZk3yJrdWbVO8NUnmS3ywndxRTEuAI
> &s=mUyWaXNokXAr7ebegeCamaauO7XAu7W5GqbaP20g-i8&e=
> #113: FILE: drivers/ml/cnxk/cnxk_ml_ops.c:243:
> +               strcpy(suffix, "cycles");
> 
> WARNING:STRCPY: Prefer strscpy over strcpy - see:
> https://urldefense.proofpoint.com/v2/url?u=https-
> 3A__github.com_KSPP_linux_issues_88&d=DwIFaQ&c=nKjWec2b6R0mOyPa
> z7xtfQ&r=SNPqUkGl0n_Ms1iJa_6wD6LBwX8efL_NOyXvAX-iCMI&m=Wc-
> 9LbDLV9eZtdFI_acMCdshpvh76LPngspZk3yJrdWbVO8NUnmS3ywndxRTEuAI
> &s=mUyWaXNokXAr7ebegeCamaauO7XAu7W5GqbaP20g-i8&e=
> #115: FILE: drivers/ml/cnxk/cnxk_ml_ops.c:245:
> +               strcpy(suffix, "ns");
> 

Replaced all str* functions with rte_str* functions. Changes part of v7.

> total: 0 errors, 2 warnings, 477 lines checked