From patchwork Wed Sep 28 05:25:13 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gagandeep Singh X-Patchwork-Id: 117034 X-Patchwork-Delegate: ferruh.yigit@amd.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 4258EA00C2; Wed, 28 Sep 2022 07:27:02 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 99B5042BB5; Wed, 28 Sep 2022 07:26:01 +0200 (CEST) Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-eopbgr60057.outbound.protection.outlook.com [40.107.6.57]) by mails.dpdk.org (Postfix) with ESMTP id B766F42B99 for ; Wed, 28 Sep 2022 07:25:59 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ea8K6qwqJLD0k1m1v3lpGza/AgtyHNgZryLW74oLEnh+qtGtwLJ1rHRYdEdpFaiuNVBqHzpJpBVtKY9190yHPNhpxu9VqIqxJ+85X99j9Si7MeBbOjQpEQyxi2FA7dsIZBcCeXQuDrBxcshfjegUDNk7ELY8AoosstzucQIUC/OQ4IJKOu77AgMIYb2WWxYQMttWOqh5/g+wSWA4UYNlcUT7UGwwl6Uo83jHIeeWRHQzO1Cyu0IJJcDC/KEe1Rr4IAFI+yD3MXo8lA+JRgZNOhuPZqoZ/jtfpFA9xloHYloLJGV61y/GnP11H4TudlKKe9xNpO5FMSSqpuhCiXKuEw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=AA9Xyv18FmPErafiouyr3AWlg/6Fe+owpLFrQeNUHfo=; b=NXNX3eYBhTsaaI0PWUkPIAhVzU4KVl4EDUBqGESdeafgrg660+pnNHyzcM4H2mgbQbzLtc2W4P2WZWikGP3ihuBFRsrIc9YaybFfKO05fQUOb5Lo5CEMbYtuPIxgAqVxHjJRul23NsCNJlyrHGEPczcqSzfTE0+os36bCDu7Q5nd4nYHcoJq6PiI46c5uNAF3b2sEK7E0J1J8oFoTxEh8f1v0m9+3K6hfZDXxqLQs7jdEIeImpDArvxiOUTEGjCHP0h0fIZQxROm4iVOgQW00iE+0rSTuW3fAGuAyfLvPkgMLG+EKW36xgXcj9koPs76FmkrbEPvwZN3QLgYHBpY2A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=AA9Xyv18FmPErafiouyr3AWlg/6Fe+owpLFrQeNUHfo=; b=TGrv68MOWyDYJONpfDRMcoa7HqWJJ4v0s2zwMLGkzQxEl090RaDUR7n3DNNhYDVIDoiS0Bm59VdBqyF34zyL2cjBNRx2lw7P39O2W0j2KWKnrf/eQf99oMXmLrGCh9y2tbFoarxIPsDG/BZfNxNpnHGV8bZfZ5VkiUngL/lRtbI= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AS8PR04MB8198.eurprd04.prod.outlook.com (2603:10a6:20b:3b0::14) by PA4PR04MB7504.eurprd04.prod.outlook.com (2603:10a6:102:e6::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5654.25; Wed, 28 Sep 2022 05:25:58 +0000 Received: from AS8PR04MB8198.eurprd04.prod.outlook.com ([fe80::14d0:4458:d6ec:b8b1]) by AS8PR04MB8198.eurprd04.prod.outlook.com ([fe80::14d0:4458:d6ec:b8b1%7]) with mapi id 15.20.5676.017; Wed, 28 Sep 2022 05:25:58 +0000 From: Gagandeep Singh To: ferruh.yigit@amd.com, dev@dpdk.org Cc: Gagandeep Singh Subject: [PATCH 12/15] net/dpaa: use internal mempool for SG table Date: Wed, 28 Sep 2022 10:55:13 +0530 Message-Id: <20220928052516.1279442-13-g.singh@nxp.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220928052516.1279442-1-g.singh@nxp.com> References: <20220928052516.1279442-1-g.singh@nxp.com> X-ClientProxiedBy: SGBP274CA0015.SGPP274.PROD.OUTLOOK.COM (2603:1096:4:b0::27) To AS8PR04MB8198.eurprd04.prod.outlook.com (2603:10a6:20b:3b0::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8PR04MB8198:EE_|PA4PR04MB7504:EE_ X-MS-Office365-Filtering-Correlation-Id: 0fee896b-2478-4a33-4e79-08daa111ecc5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 5llM3giQ0TT6clB94Dhg+D690T1CK/YUJ2Y9QohRjc3/HFP23XuGZZBOsRJXnq+JkZCJeD/7ws5CBIVE8SKBA5P9MOrUIinnY/EEkj5MKTVCnerU0jkhqikc/gJGjo/jxCDAlk9IwTkP7/V5T/iO8/4OIo0/KofRybugaXcSW0PwZaS9lsvhqYXnPJa0WEmMX3Zhu0OD7qk0KfjI07GAxgUuQtupIR8phwnspmpzh62pKNDgi3pri4t6qcVQv5tpgWHTjY6wXUC7Umn8F5VIaU+Y1AZ5B9HJ1+BmeM2L6NzxoQADchszdQGdv9x4liC95LvtxViYH/pSqNWAK8e9qsUy1VIl8NVRVk7UNopxKAtFwa7OIewabLCDbo52QxaGJ5umrY1Aa1fn1EOT/HvN9/38wKK0R99MCQHJP3DOPX3GJr8tayHVVYck8RJA8Fe9t6P2sXuNmTfUP9QmVPBey6qPo+Ui0bzo5vIK6EklAcjLCrfDBAT3FA0sEBHcBNB5dQGV2XQxh7St4mC6OXNcQ3cHVl3UBqITkxD986c41+JmCEQIjGyIYBzcWjUvXiNphXuOp5qjoE/krPsintSqJl5Ug/HJlkxtIsZeGIRjQ+8z52RmCOTc7Q+EPFP/BcPS3gv5OcJcwLH1if4Rd4n1hGZOIFZDmBWD1BzRnc7Gd8SfaFi3RSe1f5O8zrmQ3r1dtGpV+T6psDo7NWCUpehjjMsYilJNQGCU8IwluCCKKE7tX3hxi0r4MJSu0+v7TLOy7RCIcV9Sj9g2Rq4pwPU/tg== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AS8PR04MB8198.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(4636009)(346002)(366004)(376002)(396003)(136003)(39860400002)(451199015)(1076003)(186003)(2616005)(8676002)(83380400001)(38350700002)(8936002)(6506007)(38100700002)(26005)(86362001)(6512007)(6666004)(2906002)(5660300002)(52116002)(478600001)(66556008)(66476007)(66946007)(316002)(36756003)(41300700001)(4326008)(6486002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: Yi/2YBu7ohVSmmFrTT5QypWiY6B5dFCb/TaaJ+JM/1RS7XnGjOBMeViMRZsBVkMwr67gnsO/6vnbCje6Kc41G9zi/MxLNEo8RtjPByY8hPJG+5fqMVt6DM9VMrXP90uBl4Ow+IMp9WWlY9dT93CNFcpuyHBE5EXdDIyOFko15Lo5iS3jpIUAlou0VDIR79YQ4YCOjs5uJhsTSUR3aO8iLjpEJKp+D4RmeWWz+sPQcuyPNPwjEOMQNvm3HbmBqIdx4AU6HuTg1T9petmEuUcyh9AeC0LW2/S4aemVyRZDrKpDmgpKqonFK/1AxfrLblydswBSvotWa0JDp6hDd4JH/QOMlsrhBB2wOSKDGtFI7oQEuyGZCJABoUyEquBbVRBg0tHXrvNdw4U/3uPz11HQuLMgBppj+W1LZxIEnUr/nXuEcz4AqT3fiZvgvR/RhcnbEtcEhAVrvUvpiByPnc0XwyEfdvs/xIU/4I1JlPzlzuIhxyWN3lcqmtABtVQ2Y2+XHLuk3KkXdrGMzMovM/jgz+r89PwDNopKwWDhtehN98WvfEpuPTUYWkmYHdw6nqk/jr3d2isuIAWv2+43UEk97oyy7eZI8pWjHEVQThJ+zH4BmvZOMnMqYkAZZS+OpDql8WhxRXCqZvxcNnL+VcLi1bB3QY3dK734VszCvcRGcl/Jy2n5AgJmSbUFIIW7cLveNHJsB/KeJx8TwVHiinAoV7qQb/gdNuF8eIE8qjX3+cIfw50xoiMDRnRKdDa5Auqs7wh8Pvw9U4RwczGNiPn7plIEOsb9+dfdkp5ycseB0tCKS5qIX+ERmaGrpQuG+G7HdFWusriLUn/btIx6mmztX5yELFJeh+9TdvYdTSJ4BQFoiVi9ssBK7t4Kg22uFEn8u6G021DuoCTFuEG4Ed8nLau5SJlNCh9REVlRPhNflGrPG/Jmu2XzPL1W0VIwYXoV9T/LHAsdFEIFQUNsC4D5WvFM8/Kv/gVd8m4PKn+ACSsPq7ukGAFtfbC+IC+xmizsNR/+wFCPza1FKsWCEWbUKNW7PKZ2c3VNHjl75uOf7cB0q81LJQBWTROh/sayiJfIj/4dVMz267IwzgE7C9gGk/RvKGB4KCLjxGMHlYa6VwvgqgYteX2wLIReDPCktrhW5QiJjwn59zRLNaWanzpAityGuYanltuTUFi6TvK6mlxTURMxSO3Z7SwuwrIRC6eeNX8tOHF49wPquXfnCjN3QswEU5WHS+KjJcb9Ll9+LrS98EB+4moagYGAEXFXz4nie8yKH6qvWNgCZEHCWHh4WvoL4GuKa4x/bXYq6rFU3vFIuEKtzyplOhjxUDeW4uZEU+YcNWqkS0xAVhWvd+FjP19JlZyikv0+np2D1v5h9bWZhek8LLLj7IiT7TauUvxFThf//2SmTCpteMQJwS13GNYPv2zr4UuA9bpzuNwJlIw2UcQXVKVQ5aQM2yFSR1B9J/3XsR9Rzqg+bRuJ0RzlrU5YETCdeBakXpJlZDQJNMXndfVb9xrCocjJQu9leHgkO/2L9P2Xy1rLAceqiLDUFC/w94R8JcSJAYqrjycFid3maNDhe7BP/4fj6ruBQj2u X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0fee896b-2478-4a33-4e79-08daa111ecc5 X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8198.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Sep 2022 05:25:58.8184 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: wpywFujFJNQbKMILbXJrAt2AUy9EyshLT9lAxpAZupS1emMU1d2Sa55kVwsHUQgE X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7504 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 Creating and using driver's mempool for allocating the SG table memory required for FD creation. Signed-off-by: Gagandeep Singh --- drivers/net/dpaa/dpaa_ethdev.c | 13 +++++++++++++ drivers/net/dpaa/dpaa_ethdev.h | 9 +++++++++ drivers/net/dpaa/dpaa_rxtx.c | 9 ++++----- 3 files changed, 26 insertions(+), 5 deletions(-) diff --git a/drivers/net/dpaa/dpaa_ethdev.c b/drivers/net/dpaa/dpaa_ethdev.c index 9b281ba8cb..1e804e1462 100644 --- a/drivers/net/dpaa/dpaa_ethdev.c +++ b/drivers/net/dpaa/dpaa_ethdev.c @@ -133,6 +133,7 @@ static const struct rte_dpaa_xstats_name_off dpaa_xstats_strings[] = { }; static struct rte_dpaa_driver rte_dpaa_pmd; +struct rte_mempool *dpaa_tx_sg_pool; static int dpaa_eth_dev_info(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info); @@ -2222,6 +2223,18 @@ rte_dpaa_probe(struct rte_dpaa_driver *dpaa_drv, /* Invoke PMD device initialization function */ diag = dpaa_dev_init(eth_dev); if (diag == 0) { + if (!dpaa_tx_sg_pool) { + dpaa_tx_sg_pool = + rte_pktmbuf_pool_create("dpaa_mbuf_tx_sg_pool", + DPAA_POOL_SIZE, + DPAA_POOL_CACHE_SIZE, 0, + DPAA_MAX_SGS * sizeof(struct qm_sg_entry), + rte_socket_id()); + if (dpaa_tx_sg_pool == NULL) { + DPAA_PMD_ERR("SG pool creation failed\n"); + return -ENOMEM; + } + } rte_eth_dev_probing_finish(eth_dev); return 0; } diff --git a/drivers/net/dpaa/dpaa_ethdev.h b/drivers/net/dpaa/dpaa_ethdev.h index 6fdd57dbc3..f9c0554530 100644 --- a/drivers/net/dpaa/dpaa_ethdev.h +++ b/drivers/net/dpaa/dpaa_ethdev.h @@ -33,6 +33,13 @@ #define DPAA_SGT_MAX_ENTRIES 16 /* maximum number of entries in SG Table */ +/* Maximum SG segments supported on all cores*/ +#define DPAA_MAX_SGS 128 +/* SG pool size */ +#define DPAA_POOL_SIZE 2048 +/* SG pool cache size */ +#define DPAA_POOL_CACHE_SIZE 256 + /* RX queue tail drop threshold (CGR Based) in frame count */ #define CGR_RX_PERFQ_THRESH 256 #define CGR_TX_CGR_THRESH 512 @@ -103,6 +110,8 @@ #define FMC_FILE "/tmp/fmc.bin" +extern struct rte_mempool *dpaa_tx_sg_pool; + /* Each network interface is represented by one of these */ struct dpaa_if { int valid; diff --git a/drivers/net/dpaa/dpaa_rxtx.c b/drivers/net/dpaa/dpaa_rxtx.c index 22205cec30..e23206bf5c 100644 --- a/drivers/net/dpaa/dpaa_rxtx.c +++ b/drivers/net/dpaa/dpaa_rxtx.c @@ -803,8 +803,7 @@ uint16_t dpaa_eth_queue_rx(void *q, static int dpaa_eth_mbuf_to_sg_fd(struct rte_mbuf *mbuf, - struct qm_fd *fd, - struct dpaa_bp_info *bp_info) + struct qm_fd *fd) { struct rte_mbuf *cur_seg = mbuf, *prev_seg = NULL; struct rte_mbuf *temp, *mi; @@ -813,7 +812,7 @@ dpaa_eth_mbuf_to_sg_fd(struct rte_mbuf *mbuf, DPAA_DP_LOG(DEBUG, "Creating SG FD to transmit"); - temp = rte_pktmbuf_alloc(bp_info->mp); + temp = rte_pktmbuf_alloc(dpaa_tx_sg_pool); if (!temp) { DPAA_PMD_ERR("Failure in allocation of mbuf"); return -1; @@ -849,7 +848,7 @@ dpaa_eth_mbuf_to_sg_fd(struct rte_mbuf *mbuf, fd->format = QM_FD_SG; fd->addr = temp->buf_iova; fd->offset = temp->data_off; - fd->bpid = bp_info ? bp_info->bpid : 0xff; + fd->bpid = DPAA_MEMPOOL_TO_BPID(dpaa_tx_sg_pool); fd->length20 = mbuf->pkt_len; while (i < DPAA_SGT_MAX_ENTRIES) { @@ -967,7 +966,7 @@ tx_on_dpaa_pool(struct rte_mbuf *mbuf, tx_on_dpaa_pool_unsegmented(mbuf, bp_info, fd_arr); } else if (mbuf->nb_segs > 1 && mbuf->nb_segs <= DPAA_SGT_MAX_ENTRIES) { - if (dpaa_eth_mbuf_to_sg_fd(mbuf, fd_arr, bp_info)) { + if (dpaa_eth_mbuf_to_sg_fd(mbuf, fd_arr)) { DPAA_PMD_DEBUG("Unable to create Scatter Gather FD"); return 1; }