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 A255043AB3; Fri, 9 Feb 2024 14:51:37 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 4B60E42E64; Fri, 9 Feb 2024 14:51:37 +0100 (CET) Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on2043.outbound.protection.outlook.com [40.107.243.43]) by mails.dpdk.org (Postfix) with ESMTP id E48E540697 for ; Fri, 9 Feb 2024 14:51:35 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IGvmMd3rS2NenjIScneHWPFgTyVMdZz5E4vyOsP3LONSLDXZzj5oVWqGmfozrMBVHpOH8KBhM6Ih1WfpszAS31ss6njbgO/lCYHwHTGAApKY44uFHI91Iq1b2zdMSxbLOAmDoJ9e/dEHA84y19MGvKAG8HMSJmRo5riAqw9lT7LD/i+l7i/Meaohd/XWMoZRmGB/CtEkAyETE07hHZjAfL4AMljGjPZKNUCzN/UYq+Bczn86uE2M7ntGs4HmmMM/y/GeLHtXDA58QD/Rb4/XN4L7lCUFdv7ykQjSwGJhT07c6zsenIiZ5F10bb7Ev8FX5rJ5ohwXvSDCpueNJAzSDA== 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=9stEDvlJ2/pIITLVhh733jwLbN8CUwMbMMx8QOPiHxU=; b=PGoO6n7hXIULeL86UqcNZiy2JETLEgSaaBfESiB8TnAOcglS8onsi5arYYNZxLgDchIhTvCX1fbbl74G5vxXb6L7cbaf4e9ycngkEPtN1t8DN3o0AC5IuWDig8/TMDvApvILFUc9iTJ0X9yyVw8+3SBoidpM8RnqKeuUgAgyDDDc1uqrHZ1C2q8rHIHE9OCXKbbrtJIk+Kjpbg2QEkYP8FHezJlvgiTG2jW5W6ogTM749/oozsPH9WX+g8Xb2+Qlmu2ESJuQuJhDvrDmvLRDL6slItHjPC9WOieMopiKGc3KcRSsDXwyZ303/JbSKsfnZc8UC2e4jDCl89RKSuETcg== 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=9stEDvlJ2/pIITLVhh733jwLbN8CUwMbMMx8QOPiHxU=; b=YE0yqqWrhJItTnXn0HPwcrhZPF+0obLLkzAjXQ8Lm8+2OtMIqX+VPU23km8z1fbcksQYiRJkgSLu7MUoVbfGCpLFy9eX6qbg3+ROuQ4XJEbJYA+xbWOx4Pjj6J0st4IzSqF+rLrFBJ+X6W3FUE2QYoZMelRwbOVZS6N+U5g1cgM= 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 CYYPR12MB8854.namprd12.prod.outlook.com (2603:10b6:930:b8::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7292.11; Fri, 9 Feb 2024 13:51:33 +0000 Received: from CH2PR12MB4294.namprd12.prod.outlook.com ([fe80::815a:45e6:cf5e:479f]) by CH2PR12MB4294.namprd12.prod.outlook.com ([fe80::815a:45e6:cf5e:479f%4]) with mapi id 15.20.7292.009; Fri, 9 Feb 2024 13:51:33 +0000 Message-ID: <72842dec-f295-4dc5-9f35-bdf9297e73e6@amd.com> Date: Fri, 9 Feb 2024 13:51:29 +0000 User-Agent: Mozilla Thunderbird Subject: Re: [EXT] Re: [PATCH] examples/ipsec-secgw: fix IPsec performance drop Content-Language: en-US To: Rahul Bhansali , "dev@dpdk.org" , Radu Nicolau , Akhil Goyal , Konstantin Ananyev , Anoob Joseph References: <20240206123811.3452587-1-rbhansali@marvell.com> <69f86bba-773d-4f7e-adb9-0a43273dc692@amd.com> From: Ferruh Yigit Autocrypt: addr=ferruh.yigit@amd.com; keydata= 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 8Zk= In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: LO4P123CA0239.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:1a7::10) To CH2PR12MB4294.namprd12.prod.outlook.com (2603:10b6:610:a9::11) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH2PR12MB4294:EE_|CYYPR12MB8854:EE_ X-MS-Office365-Filtering-Correlation-Id: 9cf204e4-4d15-4af6-e0b0-08dc297639d4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ebp8GGmwRP73Ck99dde7XzLWZGBfrijvUcG5g7Afv0Ejpg/InCsiPA/E6ug+bItOJrfnybccuHnWEL/eOMbzsdw4n/iLzsLAYjlGI3HKvvUUcKkhJxJDwJkGfIHXyfLa6lQv65Y5bYSY0YjHEutuG5mf9OpdTn3MnrgMrLjQRh/bvbfG81aBgXhInHuIdtqDCz6RGI0PjO/pvQCEvYoSsarWC4JpEh3WpYsJmh+5vK4XNN18XIry0zUtWE6+JpRPRX+vqazwjzR1Sa+9nWAX5yw2e0dyc9NJGHCEioYzPBcqIdj8EXjYwV9O1ehcXLcFJduI1dcmiCkUZ724U13QZyln4bYmtwMh43vaVLTsqjWXJDfO12V/PjvkfKcNi1GfGWtdkCKtPTZdlUdErrkDvpDymfAymFApgCkuY62k76fVdN2+Duflz2NPktxiKaSjAGnZVnTGHRExGRYtT/svEy9Viu7NNrsSdFoxr5MFrKeC95DnWmbuRfiEiyEJk97YQ/iuPke49gEY4609a3fj7SB1cVMFmtZvJe1MkzqUuKxQMv2PYAjI7iaU3iQltUDd 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:(13230031)(376002)(366004)(396003)(136003)(39860400002)(346002)(230273577357003)(230922051799003)(451199024)(64100799003)(1800799012)(186009)(2906002)(44832011)(5660300002)(6506007)(53546011)(6512007)(6486002)(478600001)(31696002)(86362001)(41300700001)(26005)(36756003)(2616005)(83380400001)(38100700002)(66556008)(8676002)(66946007)(66476007)(8936002)(110136005)(6666004)(31686004)(316002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?NUVYN3E5RjVhaXczRHB1b1ZVdkc1VjU5OUlGNUtEL3pTUnBPU3BYei95M3po?= =?utf-8?B?cG85emR1WFVYWktNVktEcFpHbEJmSTZncEVUNG1NQlhzQ3crR09RNG5URmZw?= =?utf-8?B?OTNSaTNFWDhPZmZiUU5Xajc4M2ZxME5mamlTbTZINnlkODNZTmNhUFl4RFpQ?= =?utf-8?B?bS8zRCtlU3JBQlhsS0VabXI4ck9xaUYrdU9rbXRJdkM5TTljTHBKNmQ3c3VW?= =?utf-8?B?WjBaZVZoQ1UwS1RqeTR1cFVFYzdTSWgxYWZocjl5VS9pRkZoSUwyUTU4WERX?= =?utf-8?B?SDJhTGordi9KNFhuay9QVVNzVzlPZFBvYW1aVnBBNmo1S0h2N2xDQ01vSnBT?= =?utf-8?B?cHpPcVh3Q3J6b3NORXk0Yy9QeE1mdWYwNDVkMWlwTGFvOWpHWjNGQTg5S0ZZ?= =?utf-8?B?dEt3V2FtK21BUDFaWVFBa1NtRG5ET3hubzRnSzlwTVZ4RHpvQjljeWhyN041?= =?utf-8?B?M1lKNnI0UjRkNFYySUNzTWxGbk1Yb1VYVzExWENBVUxHS0tPNTNkdC9IWWlp?= =?utf-8?B?QndLL2E2dno5b1JlbmIvNDZib0Z5WG42YytIakI4UXgvaHF5MkxLcWswNGFp?= =?utf-8?B?Tyt0K1FrbTZ1OVV0QzhiWEdvUmV5MFQwME9mSHkza2pXbzMyTVNwZFJrN3pT?= =?utf-8?B?MjB2S2ZXdTlwU1NYTVhQQjFZOGxEbWNpeXVhYnZmUGo4Ry9TNkdFenZxRHZE?= =?utf-8?B?bnJBSkxFdlRiZXF5aXlSdXhUWnZyZ09jeWd1K2tuN2hIc2RMcU5tQ1VLREda?= =?utf-8?B?eFAyeU1lb3pKVFZ2UTZEUi9samZNZ1hOWlhqeXMwaFBLcW5lTTlvNnN1TXRz?= =?utf-8?B?c3Nhb1NkbWwxenBjUDVyUjVpbm01bzA4UmZnRXFMZHN0WC9YczBZSm9MdHVx?= =?utf-8?B?b09PTk1RbU5leUdpaFIyYnAyTjBSMGp6MmVUL0t1ZGprTlQvdE5KVEhOMDJ4?= =?utf-8?B?MUplZ2NZcHA4NEhja1lDczRRVnppZFk3Q1o3NnFtUDJFTkhwNHVQOFJmWEgv?= =?utf-8?B?VFRDa2VIVmNxMXVPcGYvbFFNVkxCcGtlbG9Bb3Y2SjhSUG9qa3hwd2cxZCtK?= =?utf-8?B?WEd0L2YzTG5rbDllNUI3d0x5cGR5US94S2tpTE1PdTNwVTJUMGZjUERPc29E?= =?utf-8?B?ZXIxR2M0UDBPK0VreDBpd1NJR3VyTmt6RlNlTmFlQnVGVCsxTDF4WlhaQUFo?= =?utf-8?B?TTM5d1IxaVFJbTMvT2srTURQa3IzOFU1ME55UitNNEduVlY5V1ZseStRb20y?= =?utf-8?B?NEhSRmd6aW1NQnhCWEFHMkVhRm5oNnA3dGdaWmd5WjVmUktmeWx1dk82U2hV?= =?utf-8?B?Tlo5YzRGY2JPWVcyd2JzSzNvSEFobmFOU3NSZUszQ0ZwMW52d1hSWjF0cjMw?= =?utf-8?B?ZmZsTW5vUno2NVMyWkNEMVBGZTNEVnZZNGZnNVN1cmwyZmtDZ2RpNzlUY0xi?= =?utf-8?B?RlAzM25Bejh2c3RVK0lRNmZkQ1ZOeTlkUHp6MnpxM0JUVlJxdjBKc0NaYzVU?= =?utf-8?B?N0JxWUI3bE91S1luMFc3R05ET1cwa3VvUFRheVpNL2NsLzZFWWp1MDlKdmhx?= =?utf-8?B?cjN6K1hCK2lhQjlnMTZ3ZmNBR0U4cUJucUFBZHVWTUVGM2FXcFREcUVjTkI3?= =?utf-8?B?eEJhblNDYytjSjZLWUljZDVwZ2FQRU4zeE1SdlFJc0hEVkV2bzdNNUZPWFBa?= =?utf-8?B?MWMxc1NWRUE4R250ZC84OHFDMDFvME5rVzVGdVZrR25TbjgyTmViVG4zaDd3?= =?utf-8?B?ZTNiYXM4SW0zSlpCT281emZJSGhPb0ZxdlZVdkJWTHU1QThOYk94NU9HYnNC?= =?utf-8?B?UDR2K1pNbjdtWVg3L0t5TWhpazJPR1IzaGF3Z1dCd0pHS2llcEd5MHBQRXJh?= =?utf-8?B?QmxIdU9QVXJDRDU4dU1EZkdQVFVvc09CK3hSM2VSUVl0OERlZVJ6M2dOUnpE?= =?utf-8?B?NFdBSC95dnNzYnhrWjFrMURJZGZXQ05UNkVTMFZRclJRQVE3NXR0Zk0xTHRC?= =?utf-8?B?bzJKWHlTV0Y4TFREcWhkVmY4dXVNcHI2VTIyMFd0cGRKV1JkODBuaEtsZzh2?= =?utf-8?B?UXNzZTUwTTc0ZWdvUTNMdEF0MG1UcU5mOHdVRU9oOHdwcnFwSkdncXBSdXZ5?= =?utf-8?Q?N43JAHe0Lt0p7OuBp2gzEdh1o?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9cf204e4-4d15-4af6-e0b0-08dc297639d4 X-MS-Exchange-CrossTenant-AuthSource: CH2PR12MB4294.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Feb 2024 13:51:33.4974 (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: 57jNJPphnlQc1Ocfhb0JP8EekLpZCEzWaydqMgIejBwlTMi+glC/NHDdX6/ND42G X-MS-Exchange-Transport-CrossTenantHeadersStamped: CYYPR12MB8854 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 2/9/2024 1:10 PM, Rahul Bhansali wrote: > > >> -----Original Message----- >> From: Ferruh Yigit >> Sent: Wednesday, February 7, 2024 4:06 PM >> To: Rahul Bhansali ; dev@dpdk.org; Radu Nicolau >> ; Akhil Goyal ; Konstantin >> Ananyev ; Anoob Joseph >> >> Subject: Re: [EXT] Re: [PATCH] examples/ipsec-secgw: fix IPsec performance drop >> >> On 2/7/2024 6:46 AM, Rahul Bhansali wrote: >>> >>> >>>> -----Original Message----- >>>> From: Ferruh Yigit >>>> Sent: Tuesday, February 6, 2024 11:55 PM >>>> To: Rahul Bhansali ; dev@dpdk.org; Radu >>>> Nicolau ; Akhil Goyal ; >>>> Konstantin Ananyev ; Anoob Joseph >>>> >>>> Subject: [EXT] Re: [PATCH] examples/ipsec-secgw: fix IPsec >>>> performance drop >>>> >>>> External Email >>>> >>>> --------------------------------------------------------------------- >>>> - On 2/6/2024 12:38 PM, Rahul Bhansali wrote: >>>>> Single packet free using rte_pktmbuf_free_bulk() is dropping the >>>>> performance. On cn10k, maximum of ~4% drop observed for IPsec event >>>>> mode single SA outbound case. >>>>> >>>>> To fix this issue, single packet free will use rte_pktmbuf_free API. >>>>> >>>>> Fixes: bd7c063561b3 ("examples/ipsec-secgw: use bulk free") >>>>> >>>>> Signed-off-by: Rahul Bhansali >>>>> --- >>>>> examples/ipsec-secgw/ipsec-secgw.h | 7 +++---- >>>>> 1 file changed, 3 insertions(+), 4 deletions(-) >>>>> >>>>> diff --git a/examples/ipsec-secgw/ipsec-secgw.h >>>>> b/examples/ipsec-secgw/ipsec-secgw.h >>>>> index 8baab44ee7..ec33a982df 100644 >>>>> --- a/examples/ipsec-secgw/ipsec-secgw.h >>>>> +++ b/examples/ipsec-secgw/ipsec-secgw.h >>>>> @@ -229,11 +229,10 @@ free_reassembly_fail_pkt(struct rte_mbuf *mb) >>>>> } >>>>> >>>>> /* helper routine to free bulk of packets */ -static inline void >>>>> -free_pkts(struct rte_mbuf *mb[], uint32_t n) >>>>> +static __rte_always_inline void >>>>> +free_pkts(struct rte_mbuf *mb[], const uint32_t n) >>>>> { >>>>> - rte_pktmbuf_free_bulk(mb, n); >>>>> - >>>>> + n == 1 ? rte_pktmbuf_free(mb[0]) : rte_pktmbuf_free_bulk(mb, n); >>>>> core_stats_update_drop(n); >>>>> } >>>>> >>>> >>>> Hi Rahul, >>>> >>>> Do you think the 'rte_pktmbuf_free_bulk()' API performance can be >>>> improved by similar change? >>> >>> Hi Ferruh, >>> Currently 'rte_pktmbuf_free_bulk() is not inline. If we make that along with >> __rte_pktmbuf_free_seg_via_array() both inline then performance can be >> improved similar. >>> >> >> Ah, so performance improvement is coming from 'rte_pktmbuf_free()' being >> inline, OK. >> >> As you are doing performance testing in that area, can you please check if >> '__rte_pktmbuf_free_seg_via_array()' is inlined, as it is static function I expect it >> to be inlined. If not, can you please test with force inlining it >> (__rte_always_inline)? > It was not inline, did check with force inline also and no impact with this, so I can make it force inline. > If there is no performance improvement, I think no need to force inline '__rte_pktmbuf_free_seg_via_array()'. >> >> >> And I wonder if bulk() API may get single mbuf is a common theme, does it makes >> sense add a new inline wrapper to library to cover this case, if it is bringing ~4% >> improvement, like: >> ``` >> static inline void >> rte_pktmbuf_free_bulk_or_one(... **mb, unsigned int n) { >> if (n == 1) >> return rte_pktmbuf_free(mb[0]); >> return rte_pktmbuf_free_bulk(mb, n); >> } > Agree, can make this wrapper to cover a case where bulk free API is called but might have single mbuf to get better perf. It can be further optimize " if (n == 1)" with compile time constant check, > ``` > static inline void > rte_pktmbuf_free_bulk_or_one(struct rte_mbuf **mb, unsigned int n) > { > if (__builtin_constant_p(n) && (n == 1)) > rte_pktmbuf_free(mb[0]); > else > rte_pktmbuf_free_bulk(mb, n); > } > ``` > Let me know if it is fine. I'll send v2. And, this will be " __rte_experimental" right ? > Compile time constant check can prevent penalty from additional check, which is good, and I can see this can work for the examples/ipsec-secgw usecase above, which has some hardcoded single mbuf free calls. But most of the other usecases I think 'n' won't be known in compile time, so API will be effectively same as free_bulk(). If you have it with runtime check, do you still observe any performance improvement? If not perhaps we can go only with example code update, without new API.