From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 24664A0542 for ; Fri, 28 Oct 2022 13:32:29 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id ECF6140146; Fri, 28 Oct 2022 13:32:28 +0200 (CEST) Received: from EUR03-AM7-obe.outbound.protection.outlook.com (mail-am7eur03on2058.outbound.protection.outlook.com [40.107.105.58]) by mails.dpdk.org (Postfix) with ESMTP id E0FE2400D5 for ; Fri, 28 Oct 2022 13:32:27 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nMeJWcjou7Z5JMxNAfiIq39lv/Yivn7TQCDa95FZesucM37PoL4O1hditVtOi25Zaly/Vj3F4eolpp9AZQUu5TzHMQx0wVMsmyGol9HD+0xO+Uj/VKUv6+fLHzbE5Giirq8o/wWVWLOd9RvqJKq4bdEXLSDuKIu4ycPF6LPqnj0yMqbV2nBPBdz0skDmsUOeSJ574DadM7ue2kFB/bTz7c6c5H5jcUEpHusg4zDW73imPTccavnV4uHhDEjLFolfzQS7iRm8VHFjUOerPbG3YBEYWn25JNHOx7aIuoJb9BcP1k7XUuBDmW7C0l3kCvnXui6VYLvEdY/vVmmCliFTWw== 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=q+f2c2NoqnPd53V4d1oR8dIogfm0cZr2krK1eL0Mqnc=; b=HEToB77NWHpQV9ZbNS10TmMrGgYE2iV5Lbnlkgxkyejk+I9AzZJCGU7YRH49bfnYiwnX3EMpDLlnQl7mqbqtFIZ0ddRsxCJ6jOkk60Z+FZi55SLqaLWFXCefYqoIi1adE6A+Z8SUkI+DoNFka0RJCXJBF0E2GfFHTr5mN/ROtu33OxSP9OlpxCSH86Ok7mabN5+8K82YSH0oN/OUpF3FrQ62V3pCvMGTPqhUOViyRj5VzRnu+UPgg6lRlwEBwOcq3UOVjKxCmH24h+McKZQua0Yhdj63g4lFU+i8Bzb4T5Cwrwi447Mf3BmXixMozozOuy0xbaznMsgz5OwBLMB+3w== 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=q+f2c2NoqnPd53V4d1oR8dIogfm0cZr2krK1eL0Mqnc=; b=GFRx3qHMXOYzhjsWgKCNKuoFK4s+tQLWGVPeGB/4IQCDa1mIFruMIgCXQ7AiLHZiqYu0hTe0vj2DZcmJzaLfIdY8RWZXbuo/Ua2r12r51w75nncxJfR7wGawcytm+5BsaeKGq2mcmnWe3V8OV64hFUlhsCj1bPDOORBXU2lzDFk= 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 AS8PR04MB8532.eurprd04.prod.outlook.com (2603:10a6:20b:423::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5769.15; Fri, 28 Oct 2022 11:32:26 +0000 Received: from AS8PR04MB8198.eurprd04.prod.outlook.com ([fe80::d0b5:8ee9:ca90:2e49]) by AS8PR04MB8198.eurprd04.prod.outlook.com ([fe80::d0b5:8ee9:ca90:2e49%5]) with mapi id 15.20.5769.014; Fri, 28 Oct 2022 11:32:26 +0000 From: Gagandeep Singh To: ktraynor@redhat.com, stable@dpdk.org Cc: Gagandeep Singh , Hemant Agrawal Subject: [PATCH 21.11 1/4] net/dpaa: use internal mempool for SG table Date: Fri, 28 Oct 2022 17:02:02 +0530 Message-Id: <20221028113205.2349198-1-g.singh@nxp.com> X-Mailer: git-send-email 2.25.1 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: SI2PR04CA0010.apcprd04.prod.outlook.com (2603:1096:4:197::11) To AS8PR04MB8198.eurprd04.prod.outlook.com (2603:10a6:20b:3b0::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8PR04MB8198:EE_|AS8PR04MB8532:EE_ X-MS-Office365-Filtering-Correlation-Id: 596814f2-e864-4978-353e-08dab8d816dd X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: bDkggfz1/oLeELC1RjujMghyRThSOFZbU6koiDiJT3aP5W6WdgrYbZi1PXqWpp+cYC2fA+8Zffy5ktGlEYGMjhXwz0oaMQKw8Nbbjw0+GNejLhKBQajL7EOG5cjP4QM6J2BVu56PG4YZQHl0jwfMsQ+BEMDZHbtzz50EzaXLlxDwJFp4UcEFqi0vIPhZlM4sybomhwqGG/hV2Aa9eSilfoblhJflr+O2HuDZMr80mpsMi0cuHiMJqXHwF5r4ORkIXFVlIjBdTu+92bPaRqm/sCxeILS46szZcW40YmS7TdzOUbEsBSkuxcX4qBFb6rCp2aj0qpnAqvWY56lXJtHy9VXb7tb7jdRoj6MedH+8HwKolTHmpFdJiWW4rFlSg58aJ2c0vf1e//PLXKBwld96W6b28CqofH0d/N73nk3jbRwHeWKAaMLVAVVBeCA+DGPkUSul8wX0IvbIQmCAyHFOb0qdlh6eIrYIrNkh9CgPVz6o7E6mEpxRwJDsKGvIsjVpmoEP1Bljj1d5Vg9lDj281RiVMQZbaul1y/oBBVb/WrpcZ5H3of1895x0lGyXyvJOLEizspEJFWNKRp3eP5OC/i1uZvdjI+j9NNiKr4mykXyUeIP663oA/WYWt7WCbm1RpB/QMy77zyT/38wFDrJ3e/Ty44o1/t9JwvGayBWhIl+F9qzN10tA2x+FSgkKGqd5aSl71eDWaaFI4+6Cvu6mz9DMdhvpZA+W6+ap8QbtNIGO5AqAfOVze6VvHBkZKX08heruWZLvPQEIKODfpwELfQ== 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)(136003)(366004)(396003)(39860400002)(346002)(376002)(451199015)(83380400001)(86362001)(38350700002)(38100700002)(2906002)(5660300002)(66946007)(4326008)(66556008)(66476007)(8676002)(41300700001)(8936002)(6506007)(52116002)(6666004)(1076003)(26005)(2616005)(186003)(6512007)(316002)(54906003)(6486002)(478600001)(36756003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?enQXusoy9B+0X+4z+1u+FBarPCkcbaIDsyGSDqZTQ08voI2TGOBkXldA2j7I?= =?us-ascii?Q?GNS0DqU5cIKGnbRF8TqKgsRcNZXs9y3EzqyCExAWfSPmKsYCafFFdmR2J4vF?= =?us-ascii?Q?TcTBE1P9/eIzzIMu6LoF+NtfwaBuG0rArUrLGRRfEDMs3/a6pHXSqTiKrlkf?= =?us-ascii?Q?V2nKXBtgZhk4VBlDBcNYdqzlhiCQr/GtAWOUCaZk2zPnrfU7WeSHeneCrj7C?= =?us-ascii?Q?b6CWWAHoPiQe8dc8RmO8q0sy7FRpiVTZaz1jHzOGmaChC3Gtswg5yj4JojS4?= =?us-ascii?Q?N67Tk4LD2wvPHy/XHhDpxrxZ+j8GTfE6cJ32D7s6iGH/RdE9nGNWfJj4BhPM?= =?us-ascii?Q?HiKY7m4JEwDYk78EYmVge70bI5GvvL5r1ouZSCAPoULGN7FfjgQqYQcLa3hi?= =?us-ascii?Q?8MqshEZBzAxrafUFUGr/zOWxiLDd3TP8muklzEf8IbJ4eAk4K/Il5tnrHtT/?= =?us-ascii?Q?zyVzpE1HE5jOmF5XDpWjB6zO7Cbxi54Ek/tIafNQuJSgJl5ZCGK83JItcgH1?= =?us-ascii?Q?rDbB6kJ+NHL2ylXuQnA6FzRIy0ZRCJjrrIZk8LEAGn4Tqg3AHMbCrRPoMSBG?= =?us-ascii?Q?bZGAQ8XoVMqBu4RfGZczbPSB1kOACoHiqab6liBm7kOiPTxK5mhclmwvhIeJ?= =?us-ascii?Q?XLOo+A3dp8lHmjaD2HOcKox6Vghz8S4Q+tXSN2FD3b6LmVUC/40KgHFw+g8W?= =?us-ascii?Q?x0vxYeNVwyghlSKr5+wV7oitgQN5yD5uxhzpRy8oNgi+vGnqaR1bmW01g1NT?= =?us-ascii?Q?NiMMy1JAVgPK0xhUMnoc+YHDpQu8sL/l68O0yldOL9Wlc7bpUgNpj47WHJQ9?= =?us-ascii?Q?QE+GZBTn72BBmDdb7+Mv/MrSws2zJKPYqrrJ0p3PXfChv9DyuZhWxYcc5jTL?= =?us-ascii?Q?5G+n1GO9mFwDUljkTPZPzHSUp4yFmmMayQoH1zxwqxUxUfzYeJ6kDVqzjRHx?= =?us-ascii?Q?dDbN0yCzte6MeiOzZKy8IghhrV4WWKlx/Zem6PHuZi/WQ9USHX87PPjd3mVV?= =?us-ascii?Q?k2uyBfw70SYRjM/bsaV1IIXpWcoDx4mBW0Tqgf6J3er3LKgMBHxqq/GxARG9?= =?us-ascii?Q?TVnKFMt6rNb5jb4d2YIM24BHaMVxWoSPXwc4zVM61XcaZ8dIa5xUpG8MSSfM?= =?us-ascii?Q?E4SuHD50GnS8vTMZ9wlRPPGJunuddfg7lZIFRiM5PrcOHdQTaf8FWtL0372G?= =?us-ascii?Q?pcSfp+61LgcIWNuWZb7DbFQoSr28TlF0Wi8BNkzcm+JacVAFbY8hNtCQgY1B?= =?us-ascii?Q?tMhV61GU07K/bf1mRHcT8rl8mbQxL7FsG2ptU9B5PiVwVwuJHJZaN++G1kKY?= =?us-ascii?Q?s30quP85HRw4hC2etT1q+KRKEOQf1a38T14LSrVYe2Gxu71+5YulC5t+AEXq?= =?us-ascii?Q?7oMRVoUnpDWBwG23LubUgBhwI39Nzf4LUvPgQ9GK9jMEUILYEElWAUKo5Vy4?= =?us-ascii?Q?5Mb/6gnx+FHqcXuiMR3hSDyR5lO08NqLAw7sfsPhyDp9dJ0pvktLGpgFS2V9?= =?us-ascii?Q?G5FTVMZA2y1bpT4ieqaVh33pbaqrszkiT3hAFp6xTOpSIgjwlOqluwmIAYuU?= =?us-ascii?Q?emrp8AMX33p3mIU4wnlVYy5Y0RIOcMylkoF/T/Iy?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 596814f2-e864-4978-353e-08dab8d816dd X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8198.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Oct 2022 11:32:26.7544 (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: 6n+sqC4FXnNguZI+NIGGOLULRusbz5U42DkczUbakyJ/HNf1MxiDO3pJOb1yWX57 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8532 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org [ upstream commit 533c31cc8331cc1ed0c4ffb2940e02b0d1e65255 ] Creating and using driver's mempool for allocating the SG table memory required for FD creation. Signed-off-by: Gagandeep Singh Acked-by: Hemant Agrawal --- drivers/net/dpaa/dpaa_ethdev.c | 18 ++++++++++++++++++ drivers/net/dpaa/dpaa_ethdev.h | 9 +++++++++ drivers/net/dpaa/dpaa_rxtx.c | 9 ++++----- 3 files changed, 31 insertions(+), 5 deletions(-) diff --git a/drivers/net/dpaa/dpaa_ethdev.c b/drivers/net/dpaa/dpaa_ethdev.c index 9847ca1be1..034f446561 100644 --- a/drivers/net/dpaa/dpaa_ethdev.c +++ b/drivers/net/dpaa/dpaa_ethdev.c @@ -133,6 +133,8 @@ static const struct rte_dpaa_xstats_name_off dpaa_xstats_strings[] = { }; static struct rte_dpaa_driver rte_dpaa_pmd; +int dpaa_valid_dev; +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); @@ -2209,7 +2211,20 @@ 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); + dpaa_valid_dev++; return 0; } @@ -2227,6 +2242,9 @@ rte_dpaa_remove(struct rte_dpaa_device *dpaa_dev) eth_dev = dpaa_dev->eth_dev; dpaa_eth_dev_close(eth_dev); + dpaa_valid_dev--; + if (!dpaa_valid_dev) + rte_mempool_free(dpaa_tx_sg_pool); ret = rte_eth_dev_release_port(eth_dev); return ret; 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 956fe946fa..e0aa268645 100644 --- a/drivers/net/dpaa/dpaa_rxtx.c +++ b/drivers/net/dpaa/dpaa_rxtx.c @@ -793,8 +793,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; @@ -803,7 +802,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; @@ -839,7 +838,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) { @@ -957,7 +956,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; } -- 2.25.1