From patchwork Thu Mar 16 21:28:57 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srikanth Yalavarthi X-Patchwork-Id: 125212 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 3EE8D41EB5; Thu, 16 Mar 2023 22:29:49 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id AD44C42F86; Thu, 16 Mar 2023 22:29:42 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by mails.dpdk.org (Postfix) with ESMTP id 7292E42DB5 for ; Thu, 16 Mar 2023 22:29:38 +0100 (CET) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 32GFtBbb005959 for ; Thu, 16 Mar 2023 14:29:37 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-type; s=pfpt0220; bh=J6MTgAbnGcyy1KtLWbJRfU+I0nOyP/tgPBfISmIakiA=; b=TMczeWOQfcH4548yQaytlPYYTJUmv094PVgX62JWF4bJYOhASt0PHkKOk8o6+TZGCwJb GsOPpIFoZqQ0qYeL/a+bBwjPd6xLUiB2UDZZFr0MnV+T7UCrZkFjb7nEwvfpcJbjbCv8 Y1hJMwvvKbA3+EFytJw2hTwDPSTPLZDD80ckUBVYWMJPO1oL4oItRtEqsOHuTYBDY/U7 s3whTVGxS3396rJ0ndjhKSyLcQKBwlI98lc1pya3xwkBOdMgQ8aBurESBptfZvlFf9W0 gy9DYgW1Qews4hpgZVb4oDkBK+IPqSCbYAqUx2nsj1WLoTDNNH3pnKigNtxcHe9Xwomj GA== Received: from dc5-exch01.marvell.com ([199.233.59.181]) by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 3pbxq2ucrk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT) for ; Thu, 16 Mar 2023 14:29:37 -0700 Received: from DC5-EXCH01.marvell.com (10.69.176.38) by DC5-EXCH01.marvell.com (10.69.176.38) with Microsoft SMTP Server (TLS) id 15.0.1497.42; Thu, 16 Mar 2023 14:29:35 -0700 Received: from maili.marvell.com (10.69.176.80) by DC5-EXCH01.marvell.com (10.69.176.38) with Microsoft SMTP Server id 15.0.1497.42 via Frontend Transport; Thu, 16 Mar 2023 14:29:35 -0700 Received: from ml-host-33.caveonetworks.com (unknown [10.110.143.233]) by maili.marvell.com (Postfix) with ESMTP id 3F3083F707A; Thu, 16 Mar 2023 14:29:35 -0700 (PDT) From: Srikanth Yalavarthi To: Srikanth Yalavarthi , Prince Takkar CC: , , , Subject: [PATCH v3 1/8] ml/cnxk: fix evaluation order violation issues Date: Thu, 16 Mar 2023 14:28:57 -0700 Message-ID: <20230316212904.9318-2-syalavarthi@marvell.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230316212904.9318-1-syalavarthi@marvell.com> References: <20230315135427.11489-1-syalavarthi@marvell.com> <20230316212904.9318-1-syalavarthi@marvell.com> MIME-Version: 1.0 X-Proofpoint-GUID: AMapL0YtjeRUnvV7VJbp5UTj-t26yy9U X-Proofpoint-ORIG-GUID: AMapL0YtjeRUnvV7VJbp5UTj-t26yy9U X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-03-16_14,2023-03-16_02,2023-02-09_01 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Fix evaluation order violation issues reported by coverity tool. ocm_mask variable is being written twice with the same value. Coverity issue: 383659 Fixes: b7d0650ebce0 ("ml/cnxk: reserve and free OCM pages") Signed-off-by: Srikanth Yalavarthi --- drivers/ml/cnxk/cn10k_ml_ocm.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/drivers/ml/cnxk/cn10k_ml_ocm.c b/drivers/ml/cnxk/cn10k_ml_ocm.c index d8d2c71a3c..1ea45b5b60 100644 --- a/drivers/ml/cnxk/cn10k_ml_ocm.c +++ b/drivers/ml/cnxk/cn10k_ml_ocm.c @@ -423,10 +423,8 @@ cn10k_ml_ocm_free_pages(struct rte_ml_dev *dev, uint16_t model_id) wb_page_end = wb_page_start + model->model_mem_map.wb_pages - 1; for (tile_id = model->addr.tile_start; tile_id <= model->addr.tile_end; tile_id++) { for (page_id = wb_page_start; page_id <= wb_page_end; page_id++) { - ocm->tile_ocm_info[tile_id].ocm_mask[page_id / OCM_MAP_WORD_SIZE] = - CLEAR_BIT(ocm->tile_ocm_info[tile_id] - .ocm_mask[page_id / OCM_MAP_WORD_SIZE], - page_id % OCM_MAP_WORD_SIZE); + CLEAR_BIT(ocm->tile_ocm_info[tile_id].ocm_mask[page_id / OCM_MAP_WORD_SIZE], + page_id % OCM_MAP_WORD_SIZE); } /* Update last_wb_page size */ @@ -452,10 +450,9 @@ cn10k_ml_ocm_free_pages(struct rte_ml_dev *dev, uint16_t model_id) prev_start = ocm->num_pages - ocm->tile_ocm_info[tile_id].scratch_pages; curr_start = ocm->num_pages - scratch_resize_pages; for (page_id = prev_start; page_id < curr_start; page_id++) { - ocm->tile_ocm_info[tile_id].ocm_mask[page_id / OCM_MAP_WORD_SIZE] = - CLEAR_BIT(ocm->tile_ocm_info[tile_id] - .ocm_mask[page_id / OCM_MAP_WORD_SIZE], - page_id % OCM_MAP_WORD_SIZE); + CLEAR_BIT(ocm->tile_ocm_info[tile_id] + .ocm_mask[page_id / OCM_MAP_WORD_SIZE], + page_id % OCM_MAP_WORD_SIZE); } ocm->tile_ocm_info[tile_id].scratch_pages = scratch_resize_pages; } From patchwork Thu Mar 16 21:28:58 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srikanth Yalavarthi X-Patchwork-Id: 125214 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 56A6641EB5; Thu, 16 Mar 2023 22:30:01 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id D286F42F9E; Thu, 16 Mar 2023 22:29:44 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by mails.dpdk.org (Postfix) with ESMTP id CDEBD42DB7 for ; Thu, 16 Mar 2023 22:29:38 +0100 (CET) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 32GFtBbc005959 for ; Thu, 16 Mar 2023 14:29:38 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-type; s=pfpt0220; bh=nFfZAVDEbWV9RGMr4gW5TJQhHU1ytYll04vb8l6RUKg=; b=YHNgNWX1+dNwUwWIR9swvX+6W2man5nEj+MUZSdExweyKhFqoIjaI5OaBxEGHmUCRY+Y A+nEFU8SSEvztFvsv4doSs7v/hG0mfFvxfpf9ymQQQTUeBdWB5U2KZblSAaQWHkanyHq R4gs+/nozzZ8Iccsh/kvpAY5cEZ0ONLZAm5PC0P7ZP5DfQSQP0whB7bmzEzmLnKkUKCy Av+c1lEoVIJUF9V/OMX0wyFm9X2dFmQtX2ASpYakKy8DQVGVwrSSVn3P/hzZhob1nk+d bde7SXGT+552T9E8vEvSzKr/55yYTaYkAZuEWRYOTyGPA5bLRJRde8jMThGDxLg8MOpO Uw== Received: from dc5-exch01.marvell.com ([199.233.59.181]) by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 3pbxq2ucrk-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT) for ; Thu, 16 Mar 2023 14:29:37 -0700 Received: from DC5-EXCH02.marvell.com (10.69.176.39) by DC5-EXCH01.marvell.com (10.69.176.38) with Microsoft SMTP Server (TLS) id 15.0.1497.42; Thu, 16 Mar 2023 14:29:35 -0700 Received: from maili.marvell.com (10.69.176.80) by DC5-EXCH02.marvell.com (10.69.176.39) with Microsoft SMTP Server id 15.0.1497.42 via Frontend Transport; Thu, 16 Mar 2023 14:29:35 -0700 Received: from ml-host-33.caveonetworks.com (unknown [10.110.143.233]) by maili.marvell.com (Postfix) with ESMTP id 68F0F3F707C; Thu, 16 Mar 2023 14:29:35 -0700 (PDT) From: Srikanth Yalavarthi To: Srikanth Yalavarthi , Prince Takkar CC: , , , Subject: [PATCH v3 2/8] ml/cnxk: fix potential division by zero Date: Thu, 16 Mar 2023 14:28:58 -0700 Message-ID: <20230316212904.9318-3-syalavarthi@marvell.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230316212904.9318-1-syalavarthi@marvell.com> References: <20230315135427.11489-1-syalavarthi@marvell.com> <20230316212904.9318-1-syalavarthi@marvell.com> MIME-Version: 1.0 X-Proofpoint-GUID: Zb4guDoiBOZYeB1KsfltgAk3sfPWY5M5 X-Proofpoint-ORIG-GUID: Zb4guDoiBOZYeB1KsfltgAk3sfPWY5M5 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-03-16_14,2023-03-16_02,2023-02-09_01 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Fix division or modulo by zero issue reported by coverity. Added a check to count, before updating average value of a stat. Coverity issue: 383658 Fixes: 4ff4ab8e1a20 ("ml/cnxk: support extended statistics") Signed-off-by: Srikanth Yalavarthi --- drivers/ml/cnxk/cn10k_ml_ops.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/ml/cnxk/cn10k_ml_ops.c b/drivers/ml/cnxk/cn10k_ml_ops.c index 7d5eb97668..bf9409ad10 100644 --- a/drivers/ml/cnxk/cn10k_ml_ops.c +++ b/drivers/ml/cnxk/cn10k_ml_ops.c @@ -444,7 +444,8 @@ cn10k_ml_prep_fp_job_descriptor(struct rte_ml_dev *dev, struct cn10k_ml_req *req count += model->burst_stats[qp_id].dequeued_count - \ model->burst_stats[qp_id].str##_reset_count; \ } \ - value = value / count; \ + if (count != 0) \ + value = value / count; \ } while (0) #define ML_MIN_FOREACH_QP(dev, model, qp_id, str, value, count) \ From patchwork Thu Mar 16 21:28:59 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srikanth Yalavarthi X-Patchwork-Id: 125211 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 53E8041EB5; Thu, 16 Mar 2023 22:29:44 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B3E6942DBF; Thu, 16 Mar 2023 22:29:41 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by mails.dpdk.org (Postfix) with ESMTP id 6869A42DB3 for ; Thu, 16 Mar 2023 22:29:38 +0100 (CET) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 32GG041Q005830 for ; Thu, 16 Mar 2023 14:29:37 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-type; s=pfpt0220; bh=i5GgR1NxcfTPqcvHkYHk403KelJJB7nucMeiJ3TfF18=; b=KV9ePjwVSZ6IxPuj7ERzb/QWbSNpU0Cul6XYCxk1hdKQJw2tqJY4zJOaCp3cfTLyHBWQ n7m6uHJ4n48rsidq9etRFjrpN4YroxHlSxC1UtSHAUk8iDZyulkwwWk1Bi8Y5wQF94cX gA26jhHcBGDnQIVo57K6QrUOYk6lTtiYW4as9TLFTAD6ybq6nyBhgzLYKPjYpvFKwFhg 0YSRz4eprqbGEoAwT/IY71WJv/1e8kOZY+KdYH8/QyO/gDeAeN8H/pdjI3EtBlS0dR/d anGFuy0DZXhEwJrEhEuW3uEu8li40OP7dcHARS28NBV7bPWnVoOw2WjoYE5LC0rJuW5o pQ== Received: from dc5-exch02.marvell.com ([199.233.59.182]) by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 3pbxq2ucrj-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT) for ; Thu, 16 Mar 2023 14:29:37 -0700 Received: from DC5-EXCH02.marvell.com (10.69.176.39) by DC5-EXCH02.marvell.com (10.69.176.39) with Microsoft SMTP Server (TLS) id 15.0.1497.42; Thu, 16 Mar 2023 14:29:35 -0700 Received: from maili.marvell.com (10.69.176.80) by DC5-EXCH02.marvell.com (10.69.176.39) with Microsoft SMTP Server id 15.0.1497.42 via Frontend Transport; Thu, 16 Mar 2023 14:29:35 -0700 Received: from ml-host-33.caveonetworks.com (unknown [10.110.143.233]) by maili.marvell.com (Postfix) with ESMTP id 9DE4C3F707D; Thu, 16 Mar 2023 14:29:35 -0700 (PDT) From: Srikanth Yalavarthi To: Srikanth Yalavarthi , Prince Takkar , Shivah Shankar S CC: , , Subject: [PATCH v3 3/8] ml/cnxk: add pointer check after memory allocation Date: Thu, 16 Mar 2023 14:28:59 -0700 Message-ID: <20230316212904.9318-4-syalavarthi@marvell.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230316212904.9318-1-syalavarthi@marvell.com> References: <20230315135427.11489-1-syalavarthi@marvell.com> <20230316212904.9318-1-syalavarthi@marvell.com> MIME-Version: 1.0 X-Proofpoint-GUID: iCB_PgqwvHHqg4uH-MxA-jYkZd6jzpP5 X-Proofpoint-ORIG-GUID: iCB_PgqwvHHqg4uH-MxA-jYkZd6jzpP5 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-03-16_14,2023-03-16_02,2023-02-09_01 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Added checks for null pointers after memory allocation. Issues were reported by klocwork static analysis tool. Fixes: 515e3608c741 ("ml/cnxk: configure OCM page size") Fixes: 4ff4ab8e1a20 ("ml/cnxk: support extended statistics") Signed-off-by: Srikanth Yalavarthi --- drivers/ml/cnxk/cn10k_ml_ocm.c | 10 +++++++++- drivers/ml/cnxk/cn10k_ml_ops.c | 10 ++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/drivers/ml/cnxk/cn10k_ml_ocm.c b/drivers/ml/cnxk/cn10k_ml_ocm.c index 1ea45b5b60..b9211b50a8 100644 --- a/drivers/ml/cnxk/cn10k_ml_ocm.c +++ b/drivers/ml/cnxk/cn10k_ml_ocm.c @@ -268,8 +268,12 @@ cn10k_ml_ocm_tilemask_find(struct rte_ml_dev *dev, uint8_t num_tiles, uint16_t w search_end_tile = start_tile; } - /* nibbles + prefix '0x' */ + /* allocate for local ocm mask */ local_ocm_mask = rte_zmalloc("local_ocm_mask", mldev->ocm.mask_words, RTE_CACHE_LINE_SIZE); + if (local_ocm_mask == NULL) { + plt_err("Unable to allocate memory for local_ocm_mask"); + return -1; + } tile_start = search_start_tile; start_search: @@ -494,6 +498,10 @@ cn10k_ml_ocm_print(struct rte_ml_dev *dev, FILE *fp) /* nibbles + prefix '0x' */ str = rte_zmalloc("ocm_mask_str", mldev->ocm.num_pages / 4 + 2, RTE_CACHE_LINE_SIZE); + if (str == NULL) { + plt_err("Unable to allocate memory for ocm_mask_str"); + return; + } fprintf(fp, "OCM State:\n"); for (tile_id = 0; tile_id < ocm->num_tiles; tile_id++) { diff --git a/drivers/ml/cnxk/cn10k_ml_ops.c b/drivers/ml/cnxk/cn10k_ml_ops.c index bf9409ad10..8d31276e8c 100644 --- a/drivers/ml/cnxk/cn10k_ml_ops.c +++ b/drivers/ml/cnxk/cn10k_ml_ops.c @@ -789,6 +789,11 @@ cn10k_ml_dev_configure(struct rte_ml_dev *dev, const struct rte_ml_dev_config *c /* Allocate memory for ocm_mask */ ocm->ocm_mask = rte_zmalloc("ocm_mask", ocm->mask_words * ocm->num_tiles, RTE_CACHE_LINE_SIZE); + if (ocm->ocm_mask == NULL) { + plt_err("Unable to allocate memory for OCM mask"); + ret = -ENOMEM; + goto error; + } for (tile_id = 0; tile_id < ocm->num_tiles; tile_id++) { ocm->tile_ocm_info[tile_id].ocm_mask = ocm->ocm_mask + tile_id * ocm->mask_words; @@ -1107,6 +1112,11 @@ cn10k_ml_dev_xstats_by_name_get(struct rte_ml_dev *dev, const char *name, uint16 num_xstats = PLT_DIM(cn10k_ml_model_xstats_table) * mldev->nb_models_loaded; xstats_map = rte_zmalloc("cn10k_ml_xstats_map", sizeof(struct rte_ml_dev_xstats_map) * num_xstats, 0); + if (xstats_map == NULL) { + plt_err("Unable to allocate memory for cn10k_ml_xstats_map"); + return -ENOMEM; + } + cn10k_ml_dev_xstats_names_get(dev, xstats_map, num_xstats); cn10k_ml_dev_info_get(dev, &dev_info); From patchwork Thu Mar 16 21:29:00 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srikanth Yalavarthi X-Patchwork-Id: 125215 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id ED24441EB5; Thu, 16 Mar 2023 22:30:06 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E657242FA8; Thu, 16 Mar 2023 22:29:45 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by mails.dpdk.org (Postfix) with ESMTP id 3299A42DB3 for ; Thu, 16 Mar 2023 22:29:39 +0100 (CET) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 32GFtBbd005959 for ; Thu, 16 Mar 2023 14:29:38 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-type; s=pfpt0220; bh=OWiimkT2SdltIPNR7G3npw9NlyfZSBQc4wANrv4doW4=; b=WHwLzXFZYG52ONtarBnDXv5nqsNeabs5fM5LjiqyKL57OjH7MCEjdUv98r4UILQaKG7A cqx39SLhFE2gEWzKDSQVb4Lm54KyjqSTZUll1uxK6CCf0zSikvPLQtdd9v22fqAyLxWq gmxOpI+fTij+TuLdLMlNrU6TdHlcKmNKsV/rxSVPlpTMZGPr6CHI7D8W66hhpmo4LKGA 9ABvsjW/GAM/3s2fhrQm4T5OLPE0n5V7bKx5SSAS9LAA68pB07ARPs00bkUztUv5WIB/ fR9nm2DVu4Jnc3RN0f+60LQW/M3uP0ef3gQvAzpyBS5eGQBFz5O2ukbvanuQHwhTlKix Dw== Received: from dc5-exch01.marvell.com ([199.233.59.181]) by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 3pbxq2ucrk-3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT) for ; Thu, 16 Mar 2023 14:29:38 -0700 Received: from DC5-EXCH01.marvell.com (10.69.176.38) by DC5-EXCH01.marvell.com (10.69.176.38) with Microsoft SMTP Server (TLS) id 15.0.1497.42; Thu, 16 Mar 2023 14:29:35 -0700 Received: from maili.marvell.com (10.69.176.80) by DC5-EXCH01.marvell.com (10.69.176.38) with Microsoft SMTP Server id 15.0.1497.42 via Frontend Transport; Thu, 16 Mar 2023 14:29:35 -0700 Received: from ml-host-33.caveonetworks.com (unknown [10.110.143.233]) by maili.marvell.com (Postfix) with ESMTP id C59433F7081; Thu, 16 Mar 2023 14:29:35 -0700 (PDT) From: Srikanth Yalavarthi To: Srikanth Yalavarthi , Prince Takkar CC: , , , Subject: [PATCH v3 4/8] ml/cnxk: remove logically dead code Date: Thu, 16 Mar 2023 14:29:00 -0700 Message-ID: <20230316212904.9318-5-syalavarthi@marvell.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230316212904.9318-1-syalavarthi@marvell.com> References: <20230315135427.11489-1-syalavarthi@marvell.com> <20230316212904.9318-1-syalavarthi@marvell.com> MIME-Version: 1.0 X-Proofpoint-GUID: PyjrKArGOuvjvXGq_0RQetNowK2oHNYq X-Proofpoint-ORIG-GUID: PyjrKArGOuvjvXGq_0RQetNowK2oHNYq X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-03-16_14,2023-03-16_02,2023-02-09_01 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Remove logically dead code. Issue reported by coverity scan. Coverity issue: 383664 Fixes: da3325131d71 ("ml/cnxk: find OCM mask and page slots for a model") Signed-off-by: Srikanth Yalavarthi --- drivers/ml/cnxk/cn10k_ml_ocm.c | 21 +++------------------ 1 file changed, 3 insertions(+), 18 deletions(-) diff --git a/drivers/ml/cnxk/cn10k_ml_ocm.c b/drivers/ml/cnxk/cn10k_ml_ocm.c index b9211b50a8..2367f40a1d 100644 --- a/drivers/ml/cnxk/cn10k_ml_ocm.c +++ b/drivers/ml/cnxk/cn10k_ml_ocm.c @@ -224,7 +224,6 @@ cn10k_ml_ocm_tilemask_find(struct rte_ml_dev *dev, uint8_t num_tiles, uint16_t w uint16_t scratch_page_start; int used_last_wb_page_max; uint16_t scratch_page_end; - uint8_t search_start_tile; uint8_t search_end_tile; uint8_t *local_ocm_mask; int wb_page_start_curr; @@ -235,14 +234,13 @@ cn10k_ml_ocm_tilemask_find(struct rte_ml_dev *dev, uint8_t num_tiles, uint16_t w uint16_t word_id; uint8_t tile_idx; int max_slot_sz; - int start_tile; int page_id; mldev = dev->data->dev_private; ocm = &mldev->ocm; if (num_tiles > ML_CN10K_OCM_NUMTILES) { - plt_err("Invalid num_tiles = %u (> ML_CN10K_OCM_NUMTILES)", num_tiles); + plt_err("Invalid num_tiles = %u (> %u)", num_tiles, ML_CN10K_OCM_NUMTILES); return -1; } @@ -250,23 +248,11 @@ cn10k_ml_ocm_tilemask_find(struct rte_ml_dev *dev, uint8_t num_tiles, uint16_t w wb_page_start = -1; used_scratch_pages_max = 0; used_last_wb_page_max = -1; - start_tile = -1; max_slot_sz_curr = 0; max_slot_sz = 0; tile_idx = 0; - - if ((start_tile != -1) && (start_tile % num_tiles != 0)) { - plt_err("Invalid start_tile, %d", start_tile); - return -1; - } - - if (start_tile < 0) { - search_start_tile = 0; - search_end_tile = ocm->num_tiles - num_tiles; - } else { - search_start_tile = start_tile; - search_end_tile = start_tile; - } + tile_start = 0; + search_end_tile = ocm->num_tiles - num_tiles; /* allocate for local ocm mask */ local_ocm_mask = rte_zmalloc("local_ocm_mask", mldev->ocm.mask_words, RTE_CACHE_LINE_SIZE); @@ -275,7 +261,6 @@ cn10k_ml_ocm_tilemask_find(struct rte_ml_dev *dev, uint8_t num_tiles, uint16_t w return -1; } - tile_start = search_start_tile; start_search: used_scratch_pages_max = 0; used_last_wb_page_max = -1; From patchwork Thu Mar 16 21:29:01 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srikanth Yalavarthi X-Patchwork-Id: 125216 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 3FBE241EB5; Thu, 16 Mar 2023 22:30:12 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id DF09842FB4; Thu, 16 Mar 2023 22:29:46 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by mails.dpdk.org (Postfix) with ESMTP id 92AFE40DF6 for ; Thu, 16 Mar 2023 22:29:39 +0100 (CET) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 32GFtBbe005959 for ; Thu, 16 Mar 2023 14:29:38 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-type; s=pfpt0220; bh=wtXoXKm0PtwCPi3upxBKk5UZ5Dqyol3NXycmb/V7RQo=; b=bVwnfORvbHG9SCSmlbXdSzpM4FCJQWjUQang+mRzRTAbEZX3sD+bEsM67LNEndooLg+Z ZSuNw7GyseNbhdfqnPkUdiXgRpcF+QT54Y0zmBz8bFq95JgkVvDOkzFXtEBTR6SOkdL0 0TS2Gc90f/TP9rE8dtt2gyKtxfuR51bQVFBLPDSyz5caTQ/rYCSbxvfVv1sAlEM+SnL1 YIwgLdzV9b/q0XHhXmx8agX7pTfKbcIob4pcoI2XBbShxAwmo0WywaCD+Dj6LeFdBWbO pu01t/omW0XMKR9YvaCnnczwk2l2cwaBRm2Mb5Rs2vyVJBQHf36pz+TTvyfwQ3Y5Vx8Y BQ== Received: from dc5-exch01.marvell.com ([199.233.59.181]) by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 3pbxq2ucrk-4 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT) for ; Thu, 16 Mar 2023 14:29:38 -0700 Received: from DC5-EXCH01.marvell.com (10.69.176.38) by DC5-EXCH01.marvell.com (10.69.176.38) with Microsoft SMTP Server (TLS) id 15.0.1497.42; Thu, 16 Mar 2023 14:29:36 -0700 Received: from maili.marvell.com (10.69.176.80) by DC5-EXCH01.marvell.com (10.69.176.38) with Microsoft SMTP Server id 15.0.1497.42 via Frontend Transport; Thu, 16 Mar 2023 14:29:35 -0700 Received: from ml-host-33.caveonetworks.com (unknown [10.110.143.233]) by maili.marvell.com (Postfix) with ESMTP id ED8CB3F708F; Thu, 16 Mar 2023 14:29:35 -0700 (PDT) From: Srikanth Yalavarthi To: Srikanth Yalavarthi , Prince Takkar CC: , , , Subject: [PATCH v3 5/8] ml/cnxk: fix potential memory leak in xstats Date: Thu, 16 Mar 2023 14:29:01 -0700 Message-ID: <20230316212904.9318-6-syalavarthi@marvell.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230316212904.9318-1-syalavarthi@marvell.com> References: <20230315135427.11489-1-syalavarthi@marvell.com> <20230316212904.9318-1-syalavarthi@marvell.com> MIME-Version: 1.0 X-Proofpoint-GUID: q5D5HfHgXNaqHz9EH52a6So2aqEnewrr X-Proofpoint-ORIG-GUID: q5D5HfHgXNaqHz9EH52a6So2aqEnewrr X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-03-16_14,2023-03-16_02,2023-02-09_01 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Local buffer xstats_map is not released, when the xstats name passed by the user application is not valid. This patch releases the memory in such cases. Fixes: 4ff4ab8e1a20 ("ml/cnxk: support extended statistics") Signed-off-by: Srikanth Yalavarthi --- drivers/ml/cnxk/cn10k_ml_ops.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/ml/cnxk/cn10k_ml_ops.c b/drivers/ml/cnxk/cn10k_ml_ops.c index 8d31276e8c..4df2ca0e8c 100644 --- a/drivers/ml/cnxk/cn10k_ml_ops.c +++ b/drivers/ml/cnxk/cn10k_ml_ops.c @@ -1128,8 +1128,10 @@ cn10k_ml_dev_xstats_by_name_get(struct rte_ml_dev *dev, const char *name, uint16 } } - if (id == PLT_DIM(cn10k_ml_model_xstats_table) * dev_info.max_models) + if (id == PLT_DIM(cn10k_ml_model_xstats_table) * dev_info.max_models) { + rte_free(xstats_map); return -EINVAL; + } model_id = id / PLT_DIM(cn10k_ml_model_xstats_table); type = id % PLT_DIM(cn10k_ml_model_xstats_table); From patchwork Thu Mar 16 21:29:02 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srikanth Yalavarthi X-Patchwork-Id: 125217 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id D902341EB5; Thu, 16 Mar 2023 22:30:17 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id F04C742FC0; Thu, 16 Mar 2023 22:29:47 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by mails.dpdk.org (Postfix) with ESMTP id E69EF42DB3 for ; Thu, 16 Mar 2023 22:29:39 +0100 (CET) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 32GFtBbf005959 for ; Thu, 16 Mar 2023 14:29:39 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-type; s=pfpt0220; bh=iIHXzG4GEpm43KLVSmNx67XKj1eDduAVcsjwqi+qlrw=; b=OB7Pu3e5mNg10OpOU5Vl2nu+dIbTiMgUJdkXX2irAZWlM49UG6HXPgVioxvJRpINVZCM ptb9ySOxHoxF8DS1cvflSi6exUla1a5ga2IJAHnmExNZcf7ejkrQKL8zMGgVfy11s4VC dCmpFnkRyuLOdTjgaTSldZzS5hoCWtlNF71KWlJQKqXbDB2xwV1BzUChgkC5gqAlELzA mdq6n6jTjr3O/Z6wrSlA3EZX34SDLzCG52Mswnu7uiEGpPEw+eBKTp5y4Bxyvkn9Q6yn KVeQ5/YcFG97jMl0uLIjta3doxRy0CixuyTQPvOJs+JcdxOxiNVXkmYAz+dQ9fOlcmr8 tg== Received: from dc5-exch01.marvell.com ([199.233.59.181]) by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 3pbxq2ucrk-5 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT) for ; Thu, 16 Mar 2023 14:29:39 -0700 Received: from DC5-EXCH02.marvell.com (10.69.176.39) by DC5-EXCH01.marvell.com (10.69.176.38) with Microsoft SMTP Server (TLS) id 15.0.1497.42; Thu, 16 Mar 2023 14:29:36 -0700 Received: from maili.marvell.com (10.69.176.80) by DC5-EXCH02.marvell.com (10.69.176.39) with Microsoft SMTP Server id 15.0.1497.42 via Frontend Transport; Thu, 16 Mar 2023 14:29:36 -0700 Received: from ml-host-33.caveonetworks.com (unknown [10.110.143.233]) by maili.marvell.com (Postfix) with ESMTP id 2959A3F7063; Thu, 16 Mar 2023 14:29:36 -0700 (PDT) From: Srikanth Yalavarthi To: Srikanth Yalavarthi , Prince Takkar CC: , , , Subject: [PATCH v3 6/8] ml/cnxk: check for null pointer before dereference Date: Thu, 16 Mar 2023 14:29:02 -0700 Message-ID: <20230316212904.9318-7-syalavarthi@marvell.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230316212904.9318-1-syalavarthi@marvell.com> References: <20230315135427.11489-1-syalavarthi@marvell.com> <20230316212904.9318-1-syalavarthi@marvell.com> MIME-Version: 1.0 X-Proofpoint-GUID: FEjzqWcmCzKrE36btOW0IH0cOjj1qP1E X-Proofpoint-ORIG-GUID: FEjzqWcmCzKrE36btOW0IH0cOjj1qP1E X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-03-16_14,2023-03-16_02,2023-02-09_01 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Fix deference before null check. Issue reported by coverity scan. Coverity issue: 383665 Fixes: 817e3e55bb18 ("ml/cnxk: support simulator environment") Signed-off-by: Srikanth Yalavarthi --- drivers/ml/cnxk/cn10k_ml_dev.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/ml/cnxk/cn10k_ml_dev.c b/drivers/ml/cnxk/cn10k_ml_dev.c index 6f9a1015a6..bba3c9022e 100644 --- a/drivers/ml/cnxk/cn10k_ml_dev.c +++ b/drivers/ml/cnxk/cn10k_ml_dev.c @@ -779,8 +779,8 @@ cn10k_ml_fw_load(struct cn10k_ml_dev *mldev) if (roc_env_is_emulator() || roc_env_is_hw()) { /* Read firmware image to a buffer */ ret = rte_firmware_read(fw->path, &fw_buffer, &fw_size); - if (ret < 0) { - plt_err("Can't read firmware data: %s\n", fw->path); + if ((ret < 0) || (fw_buffer == NULL)) { + plt_err("Unable to read firmware data: %s\n", fw->path); return ret; } From patchwork Thu Mar 16 21:29:03 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srikanth Yalavarthi X-Patchwork-Id: 125213 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 5FA2241EB5; Thu, 16 Mar 2023 22:29:55 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id BD19642F94; Thu, 16 Mar 2023 22:29:43 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by mails.dpdk.org (Postfix) with ESMTP id BB32E40DF6 for ; Thu, 16 Mar 2023 22:29:38 +0100 (CET) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 32GG041R005830 for ; Thu, 16 Mar 2023 14:29:38 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-type; s=pfpt0220; bh=fVjgHnfDyDIPGKRXgWmzZTbM1pTyWP8cfO/5rB1Dnr4=; b=Gs3gJ7G2EZX/fqnNT3Apb0WIG4WVlVgOhF9WJbGG9x8YrE90yvqcEwOyZ1dw3BQm/Mbu 8YwvFsnTgo0C80P6XCNlB4EiuW1vXnQqFSvRGaLq8DvPS1noPZgPGI9CxuWftF5F3ANE /lkAENEo/T/o4tW4U3QA2opeDNwk9I3y2cVgdGzTNY0NPnXPkew0Mb5+b39Ko+/gdDMB jYN0pMPkZoheV4MagYjyi/pENVt4THYyf2HzaWeiXGxjAJczo2lC6l6l3Iqz41Wadh1N qbGZTe0HgTU9YqOknG+3s9eiF/tc+IEoZR1oOHw3Z7lfHozhhCblUUP7WVJ6OIkhg+4R iw== Received: from dc5-exch02.marvell.com ([199.233.59.182]) by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 3pbxq2ucrj-3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT) for ; Thu, 16 Mar 2023 14:29:37 -0700 Received: from DC5-EXCH01.marvell.com (10.69.176.38) by DC5-EXCH02.marvell.com (10.69.176.39) with Microsoft SMTP Server (TLS) id 15.0.1497.42; Thu, 16 Mar 2023 14:29:36 -0700 Received: from maili.marvell.com (10.69.176.80) by DC5-EXCH01.marvell.com (10.69.176.38) with Microsoft SMTP Server id 15.0.1497.42 via Frontend Transport; Thu, 16 Mar 2023 14:29:36 -0700 Received: from ml-host-33.caveonetworks.com (unknown [10.110.143.233]) by maili.marvell.com (Postfix) with ESMTP id 578DB3F707A; Thu, 16 Mar 2023 14:29:36 -0700 (PDT) From: Srikanth Yalavarthi To: Srikanth Yalavarthi , Prince Takkar CC: , , , Subject: [PATCH v3 7/8] ml/cnxk: avoid variable name reuse in a function Date: Thu, 16 Mar 2023 14:29:03 -0700 Message-ID: <20230316212904.9318-8-syalavarthi@marvell.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230316212904.9318-1-syalavarthi@marvell.com> References: <20230315135427.11489-1-syalavarthi@marvell.com> <20230316212904.9318-1-syalavarthi@marvell.com> MIME-Version: 1.0 X-Proofpoint-GUID: rHZHchz7cLQC2Kjk5O0EeShmaVuCCN2D X-Proofpoint-ORIG-GUID: rHZHchz7cLQC2Kjk5O0EeShmaVuCCN2D X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-03-16_14,2023-03-16_02,2023-02-09_01 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Avoid reusing variable name in different scopes with in same function. Move variable declarations to beginning of function. Fixes: b7d0650ebce0 ("ml/cnxk: reserve and free OCM pages") Signed-off-by: Srikanth Yalavarthi --- drivers/ml/cnxk/cn10k_ml_ocm.c | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/drivers/ml/cnxk/cn10k_ml_ocm.c b/drivers/ml/cnxk/cn10k_ml_ocm.c index 2367f40a1d..93505c9c09 100644 --- a/drivers/ml/cnxk/cn10k_ml_ocm.c +++ b/drivers/ml/cnxk/cn10k_ml_ocm.c @@ -390,6 +390,7 @@ cn10k_ml_ocm_reserve_pages(struct rte_ml_dev *dev, uint16_t model_id, uint64_t t void cn10k_ml_ocm_free_pages(struct rte_ml_dev *dev, uint16_t model_id) { + struct cn10k_ml_model *local_model; struct cn10k_ml_model *model; struct cn10k_ml_dev *mldev; struct cn10k_ml_ocm *ocm; @@ -420,17 +421,15 @@ cn10k_ml_ocm_free_pages(struct rte_ml_dev *dev, uint16_t model_id) if (wb_page_end == ocm->tile_ocm_info[tile_id].last_wb_page) ocm->tile_ocm_info[tile_id].last_wb_page = wb_page_start - 1; - /* Update scratch page size and clear extra bits */ - scratch_resize_pages = 0; /* Get max scratch pages required, excluding the current model */ + scratch_resize_pages = 0; for (i = 0; i < dev->data->nb_models; i++) { - struct cn10k_ml_model *model = dev->data->models[i]; - - if ((i != model_id) && (model != NULL)) { - if (IS_BIT_SET(model->model_mem_map.tilemask, tile_id)) - scratch_resize_pages = - PLT_MAX((int)model->model_mem_map.scratch_pages, - scratch_resize_pages); + local_model = dev->data->models[i]; + if ((i != model_id) && (local_model != NULL)) { + if (IS_BIT_SET(local_model->model_mem_map.tilemask, tile_id)) + scratch_resize_pages = PLT_MAX( + (int)local_model->model_mem_map.scratch_pages, + scratch_resize_pages); } } From patchwork Thu Mar 16 21:29:04 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srikanth Yalavarthi X-Patchwork-Id: 125218 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 98F7F41EB5; Thu, 16 Mar 2023 22:30:23 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 03B6042FD4; Thu, 16 Mar 2023 22:29:49 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by mails.dpdk.org (Postfix) with ESMTP id 566AB42DBC for ; Thu, 16 Mar 2023 22:29:40 +0100 (CET) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 32GFtBbg005959 for ; Thu, 16 Mar 2023 14:29:39 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-type; s=pfpt0220; bh=syjhgnkTXXhzW/YcPL/Yxo0eWvQcnX2IYOZtf77/9CU=; b=Xp5Moz9kyLA5l1qriRWDBn+JeENbJSZmggDFe4M3uufjQT8+K39Z4CUl+rvfXCB+J1xL lkGhpW5SRQ9FdGKIYbGoDPHW0cK8rm2jk2Ul887u+uxitiUyx2WtA3Xs0+yy6aevP5RG v001VdD+JfMrUWbGyIFDBwxwzjc3wb19oNtUURm0HNdKb/en85vZOXtwGwZ9IqAbZ019 fNgP9jVLxK6OmbyFJ+20e8knUau/WNQwHS8lKuWmIhP8NDrb3yl1T7TWXB/KBeimhplo NdcSv+7L4cwWzqUce7ODW0o7hUxV/KxBpMNXLLMH37dQ6QK49XlfH9RHjYRgxCEuYB3u gQ== Received: from dc5-exch01.marvell.com ([199.233.59.181]) by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 3pbxq2ucrk-6 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT) for ; Thu, 16 Mar 2023 14:29:39 -0700 Received: from DC5-EXCH01.marvell.com (10.69.176.38) by DC5-EXCH01.marvell.com (10.69.176.38) with Microsoft SMTP Server (TLS) id 15.0.1497.42; Thu, 16 Mar 2023 14:29:36 -0700 Received: from maili.marvell.com (10.69.176.80) by DC5-EXCH01.marvell.com (10.69.176.38) with Microsoft SMTP Server id 15.0.1497.42 via Frontend Transport; Thu, 16 Mar 2023 14:29:36 -0700 Received: from ml-host-33.caveonetworks.com (unknown [10.110.143.233]) by maili.marvell.com (Postfix) with ESMTP id 80CD53F707C; Thu, 16 Mar 2023 14:29:36 -0700 (PDT) From: Srikanth Yalavarthi To: Srikanth Yalavarthi , Prince Takkar CC: , , , Subject: [PATCH v3 8/8] ml/cnxk: reduce levels of nested variables access Date: Thu, 16 Mar 2023 14:29:04 -0700 Message-ID: <20230316212904.9318-9-syalavarthi@marvell.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230316212904.9318-1-syalavarthi@marvell.com> References: <20230315135427.11489-1-syalavarthi@marvell.com> <20230316212904.9318-1-syalavarthi@marvell.com> MIME-Version: 1.0 X-Proofpoint-GUID: 7UcxoN9e9NaQ2jv9zkc0Od-WPQJHWopU X-Proofpoint-ORIG-GUID: 7UcxoN9e9NaQ2jv9zkc0Od-WPQJHWopU X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-03-16_14,2023-03-16_02,2023-02-09_01 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Reduce the number of levels to access nested structure variables. Use available variables or add new local pointer variables for access to keep the code uniform. Fixes: 298b2af4267f ("ml/cnxk: add internal structures for derived info") Fixes: 0b9c0768ce2b ("ml/cnxk: support model query") Signed-off-by: Srikanth Yalavarthi --- drivers/ml/cnxk/cn10k_ml_model.c | 48 ++++++++++++++++---------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/drivers/ml/cnxk/cn10k_ml_model.c b/drivers/ml/cnxk/cn10k_ml_model.c index ceffde8459..2ded05c5dc 100644 --- a/drivers/ml/cnxk/cn10k_ml_model.c +++ b/drivers/ml/cnxk/cn10k_ml_model.c @@ -272,8 +272,8 @@ cn10k_ml_model_addr_update(struct cn10k_ml_model *model, uint8_t *buffer, uint8_ addr->total_input_sz_q = 0; for (i = 0; i < metadata->model.num_input; i++) { addr->input[i].nb_elements = - model->metadata.input[i].shape.w * model->metadata.input[i].shape.x * - model->metadata.input[i].shape.y * model->metadata.input[i].shape.z; + metadata->input[i].shape.w * metadata->input[i].shape.x * + metadata->input[i].shape.y * metadata->input[i].shape.z; addr->input[i].sz_d = addr->input[i].nb_elements * rte_ml_io_type_size_get(metadata->input[i].input_type); addr->input[i].sz_q = addr->input[i].nb_elements * @@ -360,52 +360,52 @@ cn10k_ml_model_ocm_pages_count(struct cn10k_ml_dev *mldev, uint16_t model_id, ui void cn10k_ml_model_info_set(struct rte_ml_dev *dev, struct cn10k_ml_model *model) { + struct cn10k_ml_model_metadata *metadata; struct rte_ml_model_info *info; struct rte_ml_io_info *output; struct rte_ml_io_info *input; uint8_t i; + metadata = &model->metadata; info = PLT_PTR_CAST(model->info); input = PLT_PTR_ADD(info, sizeof(struct rte_ml_model_info)); - output = - PLT_PTR_ADD(input, model->metadata.model.num_input * sizeof(struct rte_ml_io_info)); + output = PLT_PTR_ADD(input, metadata->model.num_input * sizeof(struct rte_ml_io_info)); /* Set model info */ memset(info, 0, sizeof(struct rte_ml_model_info)); - rte_memcpy(info->name, model->metadata.model.name, MRVL_ML_MODEL_NAME_LEN); - snprintf(info->version, RTE_ML_STR_MAX, "%u.%u.%u.%u", model->metadata.model.version[0], - model->metadata.model.version[1], model->metadata.model.version[2], - model->metadata.model.version[3]); + rte_memcpy(info->name, metadata->model.name, MRVL_ML_MODEL_NAME_LEN); + snprintf(info->version, RTE_ML_STR_MAX, "%u.%u.%u.%u", metadata->model.version[0], + metadata->model.version[1], metadata->model.version[2], + metadata->model.version[3]); info->model_id = model->model_id; info->device_id = dev->data->dev_id; info->batch_size = model->batch_size; - info->nb_inputs = model->metadata.model.num_input; + info->nb_inputs = metadata->model.num_input; info->input_info = input; - info->nb_outputs = model->metadata.model.num_output; + info->nb_outputs = metadata->model.num_output; info->output_info = output; - info->wb_size = model->metadata.weights_bias.file_size; + info->wb_size = metadata->weights_bias.file_size; /* Set input info */ for (i = 0; i < info->nb_inputs; i++) { - rte_memcpy(input[i].name, model->metadata.input[i].input_name, - MRVL_ML_INPUT_NAME_LEN); - input[i].dtype = model->metadata.input[i].input_type; - input[i].qtype = model->metadata.input[i].model_input_type; - input[i].shape.format = model->metadata.input[i].shape.format; - input[i].shape.w = model->metadata.input[i].shape.w; - input[i].shape.x = model->metadata.input[i].shape.x; - input[i].shape.y = model->metadata.input[i].shape.y; - input[i].shape.z = model->metadata.input[i].shape.z; + rte_memcpy(input[i].name, metadata->input[i].input_name, MRVL_ML_INPUT_NAME_LEN); + input[i].dtype = metadata->input[i].input_type; + input[i].qtype = metadata->input[i].model_input_type; + input[i].shape.format = metadata->input[i].shape.format; + input[i].shape.w = metadata->input[i].shape.w; + input[i].shape.x = metadata->input[i].shape.x; + input[i].shape.y = metadata->input[i].shape.y; + input[i].shape.z = metadata->input[i].shape.z; } /* Set output info */ for (i = 0; i < info->nb_outputs; i++) { - rte_memcpy(output[i].name, model->metadata.output[i].output_name, + rte_memcpy(output[i].name, metadata->output[i].output_name, MRVL_ML_OUTPUT_NAME_LEN); - output[i].dtype = model->metadata.output[i].output_type; - output[i].qtype = model->metadata.output[i].model_output_type; + output[i].dtype = metadata->output[i].output_type; + output[i].qtype = metadata->output[i].model_output_type; output[i].shape.format = RTE_ML_IO_FORMAT_1D; - output[i].shape.w = model->metadata.output[i].size; + output[i].shape.w = metadata->output[i].size; output[i].shape.x = 1; output[i].shape.y = 1; output[i].shape.z = 1;