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 5F91DA0584; Wed, 19 Oct 2022 12:48:30 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 497BA410D1; Wed, 19 Oct 2022 12:48:30 +0200 (CEST) Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2083.outbound.protection.outlook.com [40.107.94.83]) by mails.dpdk.org (Postfix) with ESMTP id 9F66F40E03 for ; Wed, 19 Oct 2022 12:48:28 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NthHDuyjgn3DoNp++hnUeWaHVd03hOZ2lspZKunsS7SPP0BetfFMAufV/xNF8xls45ViQ6PTJDFjB10ViZZEDdxFUVf1mRVTYn/6C3DaY/N1J9Xs7FW2w0MKxNEEEDiSDNfMNCGz9K7OsLT0T/ZlIIcRsH5ESzBiD4Ea5de5LCV7g9/sjeZreYYNz/oJ1WpNz91Q+WNH+vghdWdG4gKKOdg6zpAVgoiXPHwPmFXqulcH/GE3P0f9GB/Xr1MjhRbmiMscgIRbjpflFT0RUnzckGf8dVEllaePisxdK87tlgX2VOPaJAm7CaFijriyyCXlqHjvK1K0djbTI3f0ZCUObw== 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=/z4DmgeqPGBQw0aPlCZnQdmM3CN6eFcn6F2Z+98+57Y=; b=e7i43BJ0zR1a/pYLU3jsz9JwsWhMQbpz7CvkixbVP0yHQj3s78P23dM7//xvtSUHmHkauNFH992tqJF/zVViYZWBL7lZLzzPtg5nY2JJ5cAusvsgEjgPn5fbrZMWzw4IdoXdOIBQL2Jg282vRBvf6XEito7dGiBy8+jgrdoBwtI2QZJu4PM5cufAuUslnLDzhD4XMh3DTPjW1/gPALQOGAbtgPNH58JcATZVaLXpHwbmIIhID+k869nGWhM7aZRdNKLfwCAYzLS+bC9nsGAW03q0WwtRf8ztc3vp6jSjXkE8eajjmk27WaXAAUrN3DxHCiYCDyGeaJ4a4YrLBGgvWA== 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=/z4DmgeqPGBQw0aPlCZnQdmM3CN6eFcn6F2Z+98+57Y=; b=4zH0Y4JhPf/6TPhPeXoVo2jMxyQV7F+hRrte3+hepZY0Z3rL/OnN93TslRBgacASMxQLjVTLbJTenuHlHFVpCEoSwBcxvivB22DEfTmOmnMtd1ymwwTwDn5RIz4C4WktQEWZ6ZLlcAOdSYj+yPP+VDnymHrUgyWPNa17Bbs8+C4= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; Received: from DM6PR12MB4297.namprd12.prod.outlook.com (2603:10b6:5:211::20) by MN2PR12MB4535.namprd12.prod.outlook.com (2603:10b6:208:267::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5723.34; Wed, 19 Oct 2022 10:48:26 +0000 Received: from DM6PR12MB4297.namprd12.prod.outlook.com ([fe80::b9fd:e732:4585:6b25]) by DM6PR12MB4297.namprd12.prod.outlook.com ([fe80::b9fd:e732:4585:6b25%7]) with mapi id 15.20.5723.033; Wed, 19 Oct 2022 10:48:26 +0000 Message-ID: <4f9dec21-881f-11e9-8462-0cac394bbf1f@amd.com> Date: Wed, 19 Oct 2022 11:48:22 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.3.3 Subject: Re: [PATCH v2 02/24] net/nfp: add the structures and functions for flow offload Content-Language: en-US To: Chaoyong He , "dev@dpdk.org" Cc: oss-drivers , Niklas Soderlund References: <1665382142-21684-1-git-send-email-chaoyong.he@corigine.com> <1665382142-21684-3-git-send-email-chaoyong.he@corigine.com> <39e84172-6c6a-06a1-523c-607a7cb4c25e@amd.com> From: Ferruh Yigit In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-ClientProxiedBy: LO4P123CA0233.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:1a6::22) To DM6PR12MB4297.namprd12.prod.outlook.com (2603:10b6:5:211::20) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM6PR12MB4297:EE_|MN2PR12MB4535:EE_ X-MS-Office365-Filtering-Correlation-Id: b81df640-0ce2-4b18-6a29-08dab1bf73af X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 4Qt1ewD+Sq+bhUCQtjk/BfWVry6Jx/Y1zyVzUZI+X047udtxu3rQo0xtN7mjaTXQ0Jnr9RvBstElPP+tmMA0BU/G2wY7Os02smkxJlzdwKZhPIqiJn0P5a+u1f0q60Nwf1Uff5H+CiSYcR7Impnz6AMu7m9wAByWyB5YrGPgN1MD1yqUtIhYB+Y/kmZeoqfyjM5Ow0U01tK/rP2miMw/l+9SiFk121mjUo6foocQtMZWddY2Ggvlpx3i4xA2CaUysRyD+UyKsewCc89Oi6M2Og93GRBML88SXcZ4HoarR8VegA59UgFYtekmETPqLD8+Y/c7BICdPE8gSvK75oW65AfPd1vVaQkDWO4s+Mj8456lgE0Gx6x2kOugF1x85nQ4kkKBNJ8JEJ1Syn8ZBmp1A2EgwhnFZNhxrgTdCp9EGZJmC1E4vVhhZ/wAYHkmFVZb465BLaZvxiVIk3lRMhLgCeGzmX/aoL078K4FWlvya6qBU/reyBR9eFtPjR/Td18epzaUaeQphZUjcmbc8wels4ZGNPTRE0M7iYBSDrH58dq2ktoovRBxQ5LPGun3q+2sj8NtvBqQZXqQGXZNSvuoErcsfEXhmXzfHh42Z1EPYfT1QZfqujqFAvgHGmGNmXGPopvengj6SHoaUj1XqADH5iIIwFBU22GMswYQ4e7JlE7eNM+uKO6nXT70CvawqR8use2e78cfIZG/1G3DkYSSPJlng26ZuXPiKHf3rfa/uwyi6ss1rm9IR5xUCEo4ptDgfGxBZK8IjfvjFF1vG23BnQ5PCDDYNKZMQ83g2gxkFnw= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR12MB4297.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(4636009)(396003)(136003)(376002)(39860400002)(366004)(346002)(451199015)(66574015)(38100700002)(6666004)(86362001)(31696002)(6512007)(5660300002)(8936002)(41300700001)(6506007)(53546011)(66556008)(66946007)(66476007)(26005)(8676002)(4326008)(110136005)(44832011)(186003)(2906002)(54906003)(2616005)(316002)(36756003)(31686004)(6486002)(478600001)(83380400001)(43740500002)(45980500001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?K0tZMnplOVc2ZXFpcW5td3ZuM0kvc2UyaElMUTY4S1Vub1VQcW1WWCtkcHJq?= =?utf-8?B?N01GcXd6eVUwWVVwQStnNkhqNlhWKzBMUStIdG5vdzVRT3FlRHpONXNRYk5m?= =?utf-8?B?SEZONHpjWlVvZnJoMmpETHNueldyNThyeThiMXM3djk1Tm94bWtOWUFVQ2ox?= =?utf-8?B?Nld1V3UwaEFQUzB6dTVKUmd0eDlSelNDL3JZUjdhaG1IWmIzZ056Ui9lNFFr?= =?utf-8?B?a3ZHRkl6Q2pEd0RjdWN2am5QNWpSNFRiVGZ3YVFxRDhNMUFuRS9XK1dNdHJ5?= =?utf-8?B?MDFhRHlaUjBHWlJoazNEOG5pRFZJV0J4RURQdC80QzdydGlYT21DeVNCTG1X?= =?utf-8?B?cFZrMkpXQlNCRGRkS0J6RHpvblE5clJ2dHNmU0RVMldqRjRxdlZIQkJiYVhF?= =?utf-8?B?QkFoTkp3RXpta3NvQ1hIZk40dmR6WVg2SHZES3hFZTYxUmFhSDJzaFNsakM4?= =?utf-8?B?ZDdKcHpWdG8vSnBTWksvemN5NW1OUzMrcDArRW5DR1hWVjlXV29IMTlhMjZK?= =?utf-8?B?TWQwWGNpd0lSNTZSSEdCV0xKYlUxM2l0OFNmM09FcnEvS0E4NUQxWVJ4MHFk?= =?utf-8?B?WkcvN3N4VDA5TVFtMGIydkFLQzRRWjlsL1hyS1VOL1FOT3FTN3grRUF1NWJm?= =?utf-8?B?ZXNKdzRtVXVDS2xUQ09NT1BiUUtDdFpoamwxTDAyWFpaK2pOOGZzRFdQQmRZ?= =?utf-8?B?WklYSVlWOE9oTDk3dW95NTc5MnJIRUNjZHh4MTI0SVdBL1BHL1lONFpXN1k1?= =?utf-8?B?ZlZDUGZib2dMNGpMNFNiTEpidGQzR21xekRZa0pabHhMK2p5VkdkZTM1Rk53?= =?utf-8?B?SXF5czBxeXlaV2xDeWk2c1BZeVl4MWVqUStHOE1oanh4RVlJLzE5ckxIUldk?= =?utf-8?B?Z3c0aENhSzNLRlgyOVM4YlBjTERnd2s0VXBzMU00QVJ3WG15Sk5Rb0RnZjVu?= =?utf-8?B?Q1JYODJ1USt1M3BxcjBEemZCeER4c3pGVDBDemxGOC81TFVHQnZYU0ZrclZ0?= =?utf-8?B?U3lYTGVYZVlnWnNaZm1BbmdLc2VZWDQ5R1UybWlMcTJMOGx0QmloT1lTZ2tq?= =?utf-8?B?enQvc0xoSTVLZFA3TWdTNWJsR3BCcXNBMXRJckVMWEFkQWV5VlNxZkdJOHhF?= =?utf-8?B?NWtabzFadml6bGI1UFVnMEFiQzJtVWY2dWNGdSswM2ZWbUJwY2d0aW9nck8w?= =?utf-8?B?ZWpmVWo2RmdXMk4rMlFXZXBNZXZ0cVBHOG0rNWY4cGpjeXlsR1pKYmJkeTdz?= =?utf-8?B?MkZDWU9ieE5pSHg4QU43Z3hWaXRmVElzNG9UQW91SlRyeXROdmJRTXhjelA5?= =?utf-8?B?M0M3TGtzc2ZDMEpjM092OGRscFhKdkE2OFlJTldnY1h5cmdwWDJUMC8xb2ln?= =?utf-8?B?V2wzY2NaWGNEWlpBcE5PWEpUK0o0ZHY3STlhMUlSdUFKOGs5cjJzdmJxalR6?= =?utf-8?B?eDRZSzR3UEY0MG5BYVAxRVBGaGZ1U2dyNmhYdVRMOUVuYWM3SisyMEVHOUw1?= =?utf-8?B?aVNJOWxzb2FpN2hLblA3cFNjUkFEdGt1Qk1PenJyTTJvbW5XOS8raXNKR1V3?= =?utf-8?B?SG1LRDN3RUM4VzVhTlJKbmh3UEluTk1MaFlpYWFnWDdVM3RXTng5QnJtRW5R?= =?utf-8?B?SU1PV3k0blZKQ2JydmV0QVIxeWFjZTVZNkIyanNIbFRWYisxWkpiSUhzb1BJ?= =?utf-8?B?VUxpT0RtMUdyT1VyU0lqMEt5cFlZa2JPd2UzRmVvMXA3bllSemh0WnQxcG5R?= =?utf-8?B?K3RIMXkzZVI0RWZpa3VFTnhlRC9UL0NmZHpJc3pLT1ErYVUvSzZJT2FiaDVL?= =?utf-8?B?TnNsTmg4WG9HU3p4bEZ4NDQrclZRdWJQVVVMclJxazArSXhPRVVsbEw1NHJj?= =?utf-8?B?YWVFUytOMFUxaC9iUG5VSkNWcHhQN1NSOWY5QUYyOTVwaUttMnpBS1dEWEIr?= =?utf-8?B?ejFSKy9xRjgwcEVQb3kybWFKcklDU1NiY0VabnBnMWhCNi8ra0xFYlFRYnZs?= =?utf-8?B?ZWs1bXVFM2RqakVuTW1OV2hFTlhvbU1DbXExRWJ2L2V3ZTFsVUNVdFMrdDFz?= =?utf-8?B?M0JwY29PaWw1aVlUNjJ0ZVAvZG1Ic1FwTllhcFJXb0hOblM1WjF3SklROThy?= =?utf-8?Q?2+S176/ilak7mLFlI63fHSEUU?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: b81df640-0ce2-4b18-6a29-08dab1bf73af X-MS-Exchange-CrossTenant-AuthSource: DM6PR12MB4297.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Oct 2022 10:48:26.6904 (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: YscS7w8WMsoeObQ5kZdQiXY7ESo2nIUnA3VzTbvABtletUa/tf/txLYs53rRux1x X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4535 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 10/19/2022 3:50 AM, Chaoyong He wrote: >> On 10/10/2022 7:08 AM, Chaoyong He wrote: >>> Add the structures and functions to process mask table, flow table, >>> and flow stats id, which are used in the rte_flow offload logics. >>> >>> Signed-off-by: Chaoyong He >>> Reviewed-by: Niklas Söderlund >> >> <...> >> >>> +__rte_unused static int >>> +nfp_flow_table_delete(struct nfp_flow_priv *priv, >>> + struct rte_flow *nfp_flow) { >>> + int ret; >>> + char *hash_data; >>> + uint32_t hash_key; >>> + >>> + hash_data = (char *)(nfp_flow->payload.unmasked_data); >>> + hash_key = rte_jhash(hash_data, nfp_flow->length, >>> + priv->hash_seed); >> >> It can be an option to store hash information in 'struct rte_flow', instead of >> keep calculating it. >> > > Okay, I will revise like this in the next version patch, thanks. > >> <...> >> >>> + /* flow stats */ >>> + rte_spinlock_init(&priv->stats_lock); >>> + stats_size = (ctx_count & NFP_FL_STAT_ID_STAT) | >>> + ((ctx_split - 1) & NFP_FL_STAT_ID_MU_NUM); >>> + PMD_INIT_LOG(INFO, "ctx_count:%0lx, ctx_split:%0lx, stats_size:%0lx >> ", >>> + ctx_count, ctx_split, stats_size); >>> + priv->stats = rte_zmalloc("nfp_flow_stats", >>> + stats_size * sizeof(struct nfp_fl_stats), 0); >> >> Is this allocates 'stats' for max possible flow rule count? Isn't this a too big >> number to allocate in advance? > > For now, the 'stats_size' for our card is 500,000, and sizeof(structure nfp_fl_stats) is 16, > so the size of memory need alloc here is about 8MB. Maybe it's not a very big memory? > agree, 8MB doesn't look much. > And we also calculate an index use these two macros(in function nfp_stats_id_alloc()), > and then send it to firmware, and the firmware will send the stats with this index to PMD. > If we alloc a small memory at start and then enlarge it at some point, we can't make sure > the index we calculated is unique anymore, and the stats will confusion, which is not good. > ack