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 351A8A0542; Wed, 5 Oct 2022 16:21:06 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 51B9642685; Wed, 5 Oct 2022 16:21:05 +0200 (CEST) Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on2071.outbound.protection.outlook.com [40.107.243.71]) by mails.dpdk.org (Postfix) with ESMTP id 6F79242670 for ; Wed, 5 Oct 2022 16:21:03 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=E+RZMR117XaNtuSrYj46DEBbxbVanbRG9waaX1JJdJvN7XdCx4iYMx7OwFNS4LRtAb9wSy1b4MqvoJwDYo9auzdeVrnIZx2JV2ZC8AZytA+YMkl63768GgzS0zOeQJ56lmg6h7CWxz4G9KNorZ30Iuz75P213//FQWoPP1euPDAqgItxhK3qlXUkSYr5Ku+KsrN9iBeoA8NvWJcVCJEWNPSzUkbdGanGFDpDis5ebikw8arUX/ved4URVpYntJzFJc9aqpNUFFc3PWkwYlN1SBXYYW1zkXb30CLxAToCybPwS+QUGscJsm/u+ag4pQLrHRAE1Q9N/bNQFD/IPdHkwA== 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=z21DO6WDsA1SVm43UBuluvUeKdAsahUzgP5Ryrasrmo=; b=LZO38JQ8CUJkwQS6+RlLAAO0Rp1BhA7B1QAT6JVINCSeWH8K6ADGxonMvTk4ywDv5j9flmSc9B5dVyJFwCHVvQpqmLEG5jzt8YYEiALciEbyaRJ1k2wgavoR42GDxmlWH+yi2Q0m3EdyySss9vcVju4Q0Bzn0FZGYunl9B5rVJons0va95pU0tlT5PDDQFTwn3NMeSmzdn5tL0I8i61Mt+ajGbcLIUAV0llCX9XbLIo1VsDbpBo4vuUcXptWieOOjj/+C2UtCh85cfWWlwiwpTolaYL1QnahKUuAKw2rGk7R9vAXQzGYcM3Gobo5Jb3CpNFcbsBHtnm942dT5EBgMg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=z21DO6WDsA1SVm43UBuluvUeKdAsahUzgP5Ryrasrmo=; b=k3hGoEpSqOvdidJfcyJICk3GCxBEkFXH+huoWFfudTs9+HmIWztAim4005xtqV6HoJ8otv/L/LFPKvfsxj7UJQV+RgcvmdroXuDHrRPmW47197npXtFkU+7U7zfuGulVQ+gRve8OrpjgT9ZKqLsq23I13mFTu3BPhZbNxbmjKEw= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; Received: from CH2PR12MB4294.namprd12.prod.outlook.com (2603:10b6:610:a9::11) by PH7PR12MB5688.namprd12.prod.outlook.com (2603:10b6:510:130::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5676.32; Wed, 5 Oct 2022 14:21:01 +0000 Received: from CH2PR12MB4294.namprd12.prod.outlook.com ([fe80::d07a:463f:6f93:337f]) by CH2PR12MB4294.namprd12.prod.outlook.com ([fe80::d07a:463f:6f93:337f%7]) with mapi id 15.20.5676.032; Wed, 5 Oct 2022 14:21:01 +0000 Message-ID: <8a537bed-d720-bf74-b11f-291d70dc8bb5@amd.com> Date: Wed, 5 Oct 2022 15:20:56 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.3.1 Subject: Re: [PATCH 07/15] net/dpaa2: use internal mempool for SG table Content-Language: en-US To: Gagandeep Singh , dev@dpdk.org References: <20220928052516.1279442-1-g.singh@nxp.com> <20220928052516.1279442-8-g.singh@nxp.com> From: Ferruh Yigit In-Reply-To: <20220928052516.1279442-8-g.singh@nxp.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: LO4P123CA0482.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:1a8::19) To CH2PR12MB4294.namprd12.prod.outlook.com (2603:10b6:610:a9::11) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH2PR12MB4294:EE_|PH7PR12MB5688:EE_ X-MS-Office365-Filtering-Correlation-Id: 400f5a22-d72d-4746-977d-08daa6dcd476 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: apQ8/YolcIy+AchvRh1x0S9/V/TLos6M9F8hiAWQ4Bj1auxtjJ3Zhj9l4RJKqFGLU9G3o0tPM8+2GMFwoSR5Po/Bwwak4ZdkJFo9t0XsIH9KQRenoPkMmvFE6jfFc3dGJzhqQfBlQwoepWDmeEZ/GU/P0x0h318/YAUpdzCf+7nPX4CUPEEjuLxgVM9GI8x/MLvLR4xoggX283vQbrxeUNg8Rf10nOZyXBYB9iTHHBRSR14jX1IQDwLy8CdgHKQVKT9aruB3CnQ9Q2WWzGoeawpw8uBdXbMNsgh7DHZiNL4+QRvb4fyzMaHxsgfPOpmejAP/Okjspeq0aspm/mhfV2K/NOOe6DCCQXwkXK8Yvs7Mp7/hr5JEWFjQJG8OrUySbfJbjdAUnKtxd0qcnUBiUrB6QD2yeKacFZhgh1xKMf+LGdFv1wiIItDOUwhbDY+CxQqynfdlXgxl5a6JnpPsLC/BhID9mB6ubfdes42fAcmqS0oqfT7qo37VoDusKVpkoS6Oz/UZczz7zLbWGDXgqUY9baG+Z0SRmeOUUr7j0KbANFI0xDezui94GcminfvY7koGWRitpGA+4GiRwExgnVs6sxme9KhewpdYWKyOJq2XJdn3Ui1SLNVSsAD0gHDpSxDNQ/0Ry35cVHUtxAdHOsGjhepORP7fou8SlfIOaGhu5AWmflt27fipbLbLHUoAAzwQehL6+6P67M6f4+yj8Nzwtu73yDLJsyLNXYoZed55HPhDfbE7QTaNkeKzcqvbR2NVExe/lmW6xjhZ2RIkRjz/T2+0wAHRC/etxEwg9Zk= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CH2PR12MB4294.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(4636009)(376002)(39860400002)(396003)(366004)(346002)(136003)(451199015)(31686004)(8676002)(186003)(2616005)(31696002)(478600001)(41300700001)(6486002)(66946007)(5660300002)(66476007)(66556008)(38100700002)(26005)(83380400001)(316002)(6512007)(6666004)(6506007)(86362001)(8936002)(44832011)(36756003)(53546011)(2906002)(43740500002)(45980500001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?c0IyTlhPbVQ2VFVYZ2JmWWVRNFUxdk1JNmc0cGFGVlE2N295bmRTSmJxU3JG?= =?utf-8?B?STFzK0VPVW5EaE95TksrS3RFM28vTzk2VUVrVGs3czFJUUFYSmF4Y042VlN1?= =?utf-8?B?cnl1akpRU2ZMYlBZSlV5c2VMZmJ4SXp6VHJIODFkSW9jb2tlT21JVmJHanhm?= =?utf-8?B?MDdRYjIyVU01ZXNvMWhkdmRodGV3a2dna3NHOTYwVFJNanJrT3lGL2ZOV0dL?= =?utf-8?B?dkVzejZxcGFRMUEvWmE0S01seG45cGZkNXVra3pralBWZDZQVFgvU1lKSlg0?= =?utf-8?B?TmFBQ2FRcGhSSS9nRjlUYlJpeWNRVGliKzFzR3pGYnh5SGdobGVIRVZTMGM1?= =?utf-8?B?T1V3TFhQdm1ldmxJOUVlM3pGYkFSNWFMenIrbFo5cFQ2ZWN1RjJDN2lSc3lO?= =?utf-8?B?S1ZKTUd3ZGJ3aTdWYVVmYkZOa2Z5TUNJbFNsNWJVSGFXN2ZXRlJrc0l2ZGxS?= =?utf-8?B?RlpoUTJLamNDSlVxUEQ0YVRHT2lEWldUYnRyT000UnQveUxVa3k2TWUrQXZT?= =?utf-8?B?TUZKMWUrZWNjc1U1bDE1WStoU2xIZ1RSQ0xXVFVoZERKZXRyR1czM3A4OGpo?= =?utf-8?B?d3QzdGpmc2FhaGJxUHkwYkJpYm5HZE00WS84cThjZmtwbFExWFhQU0x0eUNK?= =?utf-8?B?Tjhyb1BqRnNGUXpIaEJUTytOUlN0eWlGb2cxZ1NyL3BsU1JlMTdLb2FOQ3NY?= =?utf-8?B?WU9BZ0tLSk9aR1grWjh6bC9LSi9HS0NZdGVZNlc2NmthYVptaS9vZzduVDgv?= =?utf-8?B?eGFtTDIvbkY4QjBSSEdGWFFNeHdsNXFyUjR1OElVSEY2OFFCM0o3NUxtYlNx?= =?utf-8?B?NXI2Z3l0U05DSDFuOU55d3gzN3Jid1lWNThCcWlsSWpFNjlyRk9mRCtyVU1I?= =?utf-8?B?dm5wUXE1aGVnYkdQRHltK0RtU08yRFpmUjB2WlFtV1FEb2JIcFEwVjBxdlIy?= =?utf-8?B?d0Q0QzllYnpadVVpTlhUUFNmdnVsR21ITTVnZmxMVnJWbC9ERjlZUHpsRXBU?= =?utf-8?B?ZEo5RWN2azBkVzgyT3dCSElpU3NMS0tIZ2U3NEtiSk5CdUNMandJTHliZ3Q4?= =?utf-8?B?dzJ1KzdWWUpPbzJsVlFFMjJEYURsaWFWL0VUVXMyZEZWRVJyQWxmUDd1S0FZ?= =?utf-8?B?Rk9LNG5uQzhuMld6b2FKem1DNVZzMHZqamtrYytVZk15VlRkWkt5aHBHMmtB?= =?utf-8?B?aVNncCtHT3VabUV6cWxDeE9PMjcxYXQ5RVNHM2lYMHFpc3FPc1Y5Vk5FWGxn?= =?utf-8?B?VStuTG9WLzBvTVFLakZHOEVrelZIQWFXdStmVXpIZjlCbjVOdnpRTkZ1b3hy?= =?utf-8?B?VXhXTnczRk1nZVBGSkxRTnU3N1ZVY0o1WmQ5cHNqN1lpVDNjU0RWdmdoOVZ0?= =?utf-8?B?TlZhVVJxZm5zcmU1a3dsR2o3SThHc0MzUzZicnNXMEw4ZVoxVDZjM00vTTQw?= =?utf-8?B?NHVBcVJyYWdLckhXZ3drRmQrR29nUjlTeDZoYkZoWEJZbDA5cnFZYmcvaDBh?= =?utf-8?B?OTZkZmpoU1ZRc1RVbHNaQmx3N1ExSTNqR09kamFCbWxyUFljblA5S2tzS2Vj?= =?utf-8?B?SHJXQ3lPRUpVT0ZTZExqZ1orTkk1a0V3RUVtbWR4V045WGRXTXl4Nnp2bkgz?= =?utf-8?B?WVZST0s4eXdkVzlpb1Jmb2pPQ3cxSUR3NFA2RFBGQ0dUdTFLQUY1cWZYU21s?= =?utf-8?B?OTlVMStsdE92am10Yzc5cWJWSytpWFFEcTdySnhrQnhtaGN5amNyK2RLT1Bt?= =?utf-8?B?Vzg5WVRsSkNzUlFYUUlpbEU2OUY3TE9sSXI4Z1l1ZDhLL2lmaHlJbzZJOS9h?= =?utf-8?B?dzlyc1lRT054VjgyR1ovWEF3Lzd4ZFZUaTB4L1ozSTZVQjY3RUtGWHJ1dTlW?= =?utf-8?B?WjlWVzh0UTZVbnBXZTloUDlwN0hEYlQxbys5ZGFNM05CZWZQU01ZWG1WK2kx?= =?utf-8?B?RTNGUnhKa0cvMitCS2J3N1d5a21XTmVaLzk1MWp5MWpVQUR2T0c5MTBoRUpo?= =?utf-8?B?Q0s0bm10QXZDdmJZQnh3OFAzdmkrbWVGdFZ6UzRtenU1aThLbHMwcnZMeC95?= =?utf-8?B?YlFuTmxCTFJmTzJtZUFZbTc2Qk45ZStXY1lVM1hKN0JBM01jbU1xQWdjMlBR?= =?utf-8?Q?JQo0=3D?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 400f5a22-d72d-4746-977d-08daa6dcd476 X-MS-Exchange-CrossTenant-AuthSource: CH2PR12MB4294.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Oct 2022 14:21:01.5622 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: zHn4PBtCXgt43OUl9tfFMDiZCd4C+Uf5956od1p7JUYN0h7uZZEjWXVgedksNjWr X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB5688 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 On 9/28/2022 6:25 AM, Gagandeep Singh wrote: > Creating and using driver's mempool for > allocating the SG table memory required for > FD creation instead of relying on user mempool. > As far as I can see this is in the Tx path, can you please explain why driver need an internal pktmbuf pool? And shouldn't mempool needs to be freed on driver close and release. Same comment applies for dpaa version of the patch (12/15). > Signed-off-by: Gagandeep Singh > --- > drivers/net/dpaa2/dpaa2_ethdev.c | 14 ++++++++++++++ > drivers/net/dpaa2/dpaa2_ethdev.h | 9 +++++++++ > drivers/net/dpaa2/dpaa2_rxtx.c | 13 ++++++------- > 3 files changed, 29 insertions(+), 7 deletions(-) > > diff --git a/drivers/net/dpaa2/dpaa2_ethdev.c b/drivers/net/dpaa2/dpaa2_ethdev.c > index 37a8b43114..c7aae70300 100644 > --- a/drivers/net/dpaa2/dpaa2_ethdev.c > +++ b/drivers/net/dpaa2/dpaa2_ethdev.c > @@ -78,6 +78,8 @@ bool dpaa2_enable_err_queue; > #define MAX_NB_RX_DESC 11264 > int total_nb_rx_desc; > > +struct rte_mempool *dpaa2_tx_sg_pool; > + > struct rte_dpaa2_xstats_name_off { > char name[RTE_ETH_XSTATS_NAME_SIZE]; > uint8_t page_id; /* dpni statistics page id */ > @@ -2907,6 +2909,18 @@ rte_dpaa2_probe(struct rte_dpaa2_driver *dpaa2_drv, > /* Invoke PMD device initialization function */ > diag = dpaa2_dev_init(eth_dev); > if (diag == 0) { > + if (!dpaa2_tx_sg_pool) { > + dpaa2_tx_sg_pool = > + rte_pktmbuf_pool_create("dpaa2_mbuf_tx_sg_pool", > + DPAA2_POOL_SIZE, > + DPAA2_POOL_CACHE_SIZE, 0, > + DPAA2_MAX_SGS * sizeof(struct qbman_sge), > + rte_socket_id()); > + if (dpaa2_tx_sg_pool == NULL) { > + DPAA2_PMD_ERR("SG pool creation failed\n"); > + return -ENOMEM; > + } > + } > rte_eth_dev_probing_finish(eth_dev); > return 0; > } > diff --git a/drivers/net/dpaa2/dpaa2_ethdev.h b/drivers/net/dpaa2/dpaa2_ethdev.h > index 32ae762e4a..872dced517 100644 > --- a/drivers/net/dpaa2/dpaa2_ethdev.h > +++ b/drivers/net/dpaa2/dpaa2_ethdev.h > @@ -121,6 +121,15 @@ > #define DPAA2_PKT_TYPE_VLAN_1 0x0160 > #define DPAA2_PKT_TYPE_VLAN_2 0x0260 > > +/* Global pool used by driver for SG list TX */ > +extern struct rte_mempool *dpaa2_tx_sg_pool; > +/* Maximum SG segments */ > +#define DPAA2_MAX_SGS 128 > +/* SG pool size */ > +#define DPAA2_POOL_SIZE 2048 > +/* SG pool cache size */ > +#define DPAA2_POOL_CACHE_SIZE 256 > + > /* enable timestamp in mbuf*/ > extern bool dpaa2_enable_ts[]; > extern uint64_t dpaa2_timestamp_rx_dynflag; > diff --git a/drivers/net/dpaa2/dpaa2_rxtx.c b/drivers/net/dpaa2/dpaa2_rxtx.c > index bc0e49b0d4..dcd86c4056 100644 > --- a/drivers/net/dpaa2/dpaa2_rxtx.c > +++ b/drivers/net/dpaa2/dpaa2_rxtx.c > @@ -403,7 +403,7 @@ eth_fd_to_mbuf(const struct qbman_fd *fd, > static int __rte_noinline __rte_hot > eth_mbuf_to_sg_fd(struct rte_mbuf *mbuf, > struct qbman_fd *fd, > - struct rte_mempool *mp, uint16_t bpid) > + uint16_t bpid) > { > struct rte_mbuf *cur_seg = mbuf, *prev_seg, *mi, *temp; > struct qbman_sge *sgt, *sge = NULL; > @@ -433,12 +433,12 @@ eth_mbuf_to_sg_fd(struct rte_mbuf *mbuf, > } > DPAA2_SET_FD_OFFSET(fd, offset); > } else { > - temp = rte_pktmbuf_alloc(mp); > + temp = rte_pktmbuf_alloc(dpaa2_tx_sg_pool); > if (temp == NULL) { > DPAA2_PMD_DP_DEBUG("No memory to allocate S/G table\n"); > return -ENOMEM; > } > - DPAA2_SET_ONLY_FD_BPID(fd, bpid); > + DPAA2_SET_ONLY_FD_BPID(fd, mempool_to_bpid(dpaa2_tx_sg_pool)); > DPAA2_SET_FD_OFFSET(fd, temp->data_off); > #ifdef RTE_LIBRTE_MEMPOOL_DEBUG > rte_mempool_check_cookies(rte_mempool_from_obj((void *)temp), > @@ -1321,9 +1321,10 @@ dpaa2_dev_tx(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts) > > if (unlikely(RTE_MBUF_HAS_EXTBUF(*bufs))) { > if (unlikely((*bufs)->nb_segs > 1)) { > + mp = (*bufs)->pool; > if (eth_mbuf_to_sg_fd(*bufs, > &fd_arr[loop], > - mp, 0)) > + mempool_to_bpid(mp))) > goto send_n_return; > } else { > eth_mbuf_to_fd(*bufs, > @@ -1372,7 +1373,7 @@ dpaa2_dev_tx(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts) > if (unlikely((*bufs)->nb_segs > 1)) { > if (eth_mbuf_to_sg_fd(*bufs, > &fd_arr[loop], > - mp, bpid)) > + bpid)) > goto send_n_return; > } else { > eth_mbuf_to_fd(*bufs, > @@ -1646,7 +1647,6 @@ dpaa2_dev_tx_multi_txq_ordered(void **queue, > if (unlikely((*bufs)->nb_segs > 1)) { > if (eth_mbuf_to_sg_fd(*bufs, > &fd_arr[loop], > - mp, > bpid)) > goto send_frames; > } else { > @@ -1810,7 +1810,6 @@ dpaa2_dev_tx_ordered(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts) > if (unlikely((*bufs)->nb_segs > 1)) { > if (eth_mbuf_to_sg_fd(*bufs, > &fd_arr[loop], > - mp, > bpid)) > goto send_n_return; > } else {