From patchwork Tue Dec 5 10:00:46 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rakesh Kudurumalla X-Patchwork-Id: 134874 X-Patchwork-Delegate: jerinj@marvell.com 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 A33DF43676; Tue, 5 Dec 2023 11:04:00 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5126242E15; Tue, 5 Dec 2023 11:04:00 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by mails.dpdk.org (Postfix) with ESMTP id D05CB402C8 for ; Tue, 5 Dec 2023 11:03:58 +0100 (CET) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 3B59ThEw007127 for ; Tue, 5 Dec 2023 02:03:58 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : mime-version : content-transfer-encoding : content-type; s=pfpt0220; bh=jR3XSirp8skxC/9UW+iyYWv3to95pMdlucg7ZGrFnC8=; b=KgTORIAz5Yi3NdjOQiSZuovjlmbnXQZc3msQ+TGOT0HPq0IikTCf+u6zGJJ417tTiH3s AlQN5f0rNtlJDHIMQYvi+HppW1HdoI+8rpCcmHgGHGO4hsry5VivYWUXGoayUCjqyTkI Zp5gf6AiJGpVp1pabGwqmPluuQC6vVtQySGC8hNlxMkTom2aNBJziK0809/azZKg0rB0 vwIAdWbOSJo2QHNe1udm30DgdPUWlJM54BODlddGFYck7+xspX5btgdzyZbIi6cDzGOZ m7ITRuq5z/vNBGEHf2oQDwC3ShnpmzkohC00/D+JDOg/SHsV9FoX1XvF58k1QI5dzwTJ uw== Received: from dc5-exch01.marvell.com ([199.233.59.181]) by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 3ut0e68836-4 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT) for ; Tue, 05 Dec 2023 02:03:57 -0800 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.48; Tue, 5 Dec 2023 02:00:53 -0800 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.48 via Frontend Transport; Tue, 5 Dec 2023 02:00:52 -0800 Received: from localhost.localdomain (unknown [10.28.36.154]) by maili.marvell.com (Postfix) with ESMTP id CC1DB3F70A7; Tue, 5 Dec 2023 02:00:50 -0800 (PST) From: Rakesh Kudurumalla To: Nithin Dabilpuram , Kiran Kumar K , Sunil Kumar Kori , Satha Rao CC: , , Rakesh Kudurumalla Subject: [PATCH 1/3] common/cnxk: optimize ethdev teardown time Date: Tue, 5 Dec 2023 15:30:46 +0530 Message-ID: <20231205100048.1387058-1-rkudurumalla@marvell.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-Proofpoint-GUID: bZGVDlOR6Z0D9GwHu1gnAsMqQ91jkp0e X-Proofpoint-ORIG-GUID: bZGVDlOR6Z0D9GwHu1gnAsMqQ91jkp0e X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.997,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2023-12-05_04,2023-12-04_01,2023-05-22_02 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 API mbox_alloc_msg_npa_aq_enq() mbox is called if SQ needs to be updated from mbox response else mbox call to kernel is bypassed reducing the time taken to complete roc_nix_tm_sq_aura_fc() function.This reduces ethdev teardown time by 20%. Signed-off-by: Rakesh Kudurumalla --- drivers/common/cnxk/roc_nix_tm_ops.c | 29 ++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/drivers/common/cnxk/roc_nix_tm_ops.c b/drivers/common/cnxk/roc_nix_tm_ops.c index e1cef7a670..2c53472047 100644 --- a/drivers/common/cnxk/roc_nix_tm_ops.c +++ b/drivers/common/cnxk/roc_nix_tm_ops.c @@ -51,25 +51,26 @@ roc_nix_tm_sq_aura_fc(struct roc_nix_sq *sq, bool enable) goto exit; /* Read back npa aura ctx */ - req = mbox_alloc_msg_npa_aq_enq(mbox); - if (req == NULL) { - rc = -ENOSPC; - goto exit; - } + if (enable) { + req = mbox_alloc_msg_npa_aq_enq(mbox); + if (req == NULL) { + rc = -ENOSPC; + goto exit; + } - req->aura_id = roc_npa_aura_handle_to_aura(aura_handle); - req->ctype = NPA_AQ_CTYPE_AURA; - req->op = NPA_AQ_INSTOP_READ; + req->aura_id = roc_npa_aura_handle_to_aura(aura_handle); + req->ctype = NPA_AQ_CTYPE_AURA; + req->op = NPA_AQ_INSTOP_READ; - rc = mbox_process_msg(mbox, (void *)&rsp); - if (rc) - goto exit; + rc = mbox_process_msg(mbox, (void *)&rsp); + if (rc) + goto exit; - /* Init when enabled as there might be no triggers */ - if (enable) + /* Init when enabled as there might be no triggers */ *(volatile uint64_t *)sq->fc = rsp->aura.count; - else + } else { *(volatile uint64_t *)sq->fc = sq->aura_sqb_bufs; + } /* Sync write barrier */ plt_wmb(); rc = 0;