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 1A97545556; Thu, 4 Jul 2024 17:53:50 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0544242F23; Thu, 4 Jul 2024 17:53:50 +0200 (CEST) Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2080.outbound.protection.outlook.com [40.107.94.80]) by mails.dpdk.org (Postfix) with ESMTP id 8FF25410F1 for ; Thu, 4 Jul 2024 17:53:47 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Cj6E+3F3oylIOMhD/SK+GV8meC1V+rS+3X8ft09rpchicIPOKNAJOeHxvwRgdVhqA5DVr0TibmIEaQ6n9MtY4xJTX4NqU/OShCqpzThMjceFkcwFEm187CJf+qH67+CpMhk3RLKAu5muXcO5Ny8KXCRg+PAMdNnbF3HbXrEooJ3PSbhpmp/pLDd4dzExTTmbby+09W+t6Z8FfKdfOgOrg97bIyG+B/IyVSW7cULO0eEyE0o77TjWQZ3JvDufiFqR5GrNL8Wefus0kFBo9vAyYiRyXy66UTe1AzuXYAZzL+mwlgEBT2zpwOVtTpOxmrOgiX0g8M9opLXvtEP28av0pg== 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=kpW81Sq4v0moNhZfTGuubBO+qi1I9tVMbUZgGuaxHhA=; b=ZkGbNZsTawZVBEacNiNT8j8XNI4s8g7z/DohCUBx5yZ1WyYm+VgSKLkOqSEI53SSNGapjEGtu6vRocfE7HbXXPLZbn+3XYmK4iySzblNF1HpgBzrxpDG4Iktw40jAHF5OwZ6jstUaHt+9AkgBTD7xYsj3mmPBWDUByvVyQm5e4/dBbXFFtRimgFd9qIiEsAkXbislKqOAOkLyoRitJg+w4UFRlWGJpKwO3/7zqt/kt49fS2+ATKvrtMayf1302x6lI4rGn1RzAvqoVzev63L14AoVUPSxlwPMxWOm2wmiwYvTRnepzDzkkl9V0cY1cZBJMzzWF7ZLNvTcFFrEgAy7g== 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=kpW81Sq4v0moNhZfTGuubBO+qi1I9tVMbUZgGuaxHhA=; b=twKRw3DiJf8aO14Sy+pvXcnFtAOaCgCKXLJOu5QjbBF9WGDTR4nsWY7ySSJ0llk7/CkaeFlJDVFfVk97DsvMGVGOmxxGWcN9heY6n/edIv+cOV4urdrTO9987GKptL9KUCR3KU9MX83tZGlzKK0pd6QRdKwSI0r/ZxxkBBc+xkw= 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 DS0PR12MB8198.namprd12.prod.outlook.com (2603:10b6:8:f2::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7719.29; Thu, 4 Jul 2024 15:53:45 +0000 Received: from CH2PR12MB4294.namprd12.prod.outlook.com ([fe80::ebfb:2f9f:f9ca:82cd]) by CH2PR12MB4294.namprd12.prod.outlook.com ([fe80::ebfb:2f9f:f9ca:82cd%4]) with mapi id 15.20.7741.017; Thu, 4 Jul 2024 15:53:44 +0000 Message-ID: <286e8376-be39-4c3e-9fb6-9766839e5a65@amd.com> Date: Thu, 4 Jul 2024 16:53:40 +0100 User-Agent: Mozilla Thunderbird Subject: Re: [RFC 2/4] gro: remove use of VLAs From: Ferruh Yigit To: Konstantin Ananyev , dev@dpdk.org References: <20240523162604.2600-1-konstantin.v.ananyev@yandex.ru> <20240523162604.2600-3-konstantin.v.ananyev@yandex.ru> Content-Language: en-US Autocrypt: addr=ferruh.yigit@amd.com; keydata= xsFNBGJDD3EBEAC/M7Tk/DfQSmP1K96vyzdhfSBzlCaGtcxNXorq4fALruqVsD3oi0yfyEz9 4YN8x7py0o9EL8ZdpOX0skc0AMCDAaw033uWhCn0GLMeGRKUbfOAPvL6ecSDvGD7CJIO9j0J eZUvasBgPdM/435PEr9DmC6Ggzdzt8IuG4PoLi5jpFSfcqxZFCCxLUDEo/w0nuguk2FTuYJg B2zEZ4JTBZrw7hIHiFh8D8hr6YA6a5uTofq1tr+l048lbtdFUl8TR0aIExVzE4Z8qKZlcE+9 RQaewjK5Al1jLE4sHdmd3GN+IvgDF3D/fLsi25SKJDeGSdeHkOmaX0qGeM4WKIfU6iARRCiQ N3AmBIxZ/A7UXBKLaOyZ+/i3sE6Wb53nrO4i8+0K2Qwyh6LjTeiJAIjYKN43ppxz3DaI+QwQ vI+uyHr4Gg0Da9EPPz/YyKauSeOZCfCB5gIfICO0j6x0SCl8uQ2nLpjxcZkf0gjcwUzP3h+S 3x6NfDji9YEij0zczW/dcSpGgZ6vsFpPrtnP9ZXy6J53yp0kJtOJoOlkEFFdU2yCZnCDseum CoudmGLZVvS0/DzHDJejq+3kK3FDGktZBOxZIIpal+nFqS7lVgOZc4+huVv3jyhzoAUOEyXA XK5j6o7g8STUY+z33QNnHpdLvecMwuzmvqy0jR54yAbZ64mB9QARAQABzSNGZXJydWggWWln aXQgPGZlcnJ1aC55aWdpdEBhbWQuY29tPsLBlwQTAQgAQQIbAwULCQgHAgYVCgkICwIEFgID AQIeAQIXgAIZARYhBEm7aYjps5XGsPHCElRTPtCKKm/6BQJkdyEEBQkE3meNAAoJEFRTPtCK Km/6UdcP/0/kEp49aIUhkRnQfmKmNVpcBEs4NqceNCWTQlaXdEwL1lxf1L49dsF5Jz1yvWi3 tMtq0Mk1o68mQ7q8iZAzIeLxGQAlievMNE0BzLWPFmuX+ac98ITBqKdnUAn6ig5ezR+jxrAU 58utUszDl16eMabtCu76sINL5izB8zCWcDEUB4UqM8iBSQZ7/a7TSBVS0jVBldAORg1qfFIs cGMPQn/skhy3QqbK3u3Rhc44zRxvzrQJmhY6T1rpeniHSyGOeIYqjpbpnMU5n1VWzQ4NXvAD VDkZ4NDw6CpvF4S2h2Ds7w7GKvT6RRTddrl672IaLcaWRiqBNCPm+eKh4q5/XkOXTgUqYBVg Ors8uS9EbQC/SAcp9VHF9fB+3nadxZm4CLPe5ZDJnSmgu/ea7xjWQYR8ouo2THxqNZtkercc GOxGFxIaLcJIR/XChh9d0LKgc1FfVARTMW8UrPgINVEmVSFmAVSgVfsWIV+NSpG9/e90E4SV gMLPABn1YpJ8ca/IwqovctqDDXfxZOvCPOVWTzQe/ut767W+ctGR1kRkxWcz470SycOcY+PW VRPJd91Af0GdLFkwzZgNzkd6Gyc9XXcv4lwwqBLhWrBhqPYB0aZXIG1E/cVTiRp4dWpFHAFD DcuLldjIw93lCDsIeEDM9rBizGVMWEoeFmqSe7pzGTPXzsFNBGJDD3EBEAC8fBFQHej8qgIG CBzoIEd1cZgPIARlIhRudODXoNDbwA+zJMKtOVwol3Hh1qJ2/yZP11nZsqrP4fyUvMxrwhDe WBWFVDbWHLnqXMnKuUU1vQMujbzgq/4Rb9wSMW5vBL6YxhZng+h71JgS/9nVtzyaTtsOTrJi 6nzFSDx6Wbza2jYvL9rlK0yxJcMEiKwZQ/if4KcOesD0rtxomU/iSEv6DATcJbGXP6T93nPl 90XksijRKAmOwvdu3A8IIlxiSSVRP0lxiHOeR35y6PjHY2usfEDZZOVOfDfhlCVAIBZUZALv VmFOVSTYXeKgYa6Ooaf72+cHM3SgJIbYnevJfFv8YQW0MEAJ/IXE7B1Lk+pHNxwU3VBCrKnA fd/PTvviesuYRkrRD6qqZnINeu3b2DouVGGt2fVcGA38BujCd3p8i7azoGc7A6cgF7z9ETnr ANrbg1/dJyDmkDxOxVrVquTBbxJbDy2HaIe9wyJTEK2Sznpy62DaHVY+gfDQzexBXM10geHC IIUhEnOUYVaq65X3ZDjyAQnNDBQ4uMqSHZk8DpJ22X+T+IMzWzWl+VyU4UZXjkLKPvlqPjJk 1RbKScek5L2GhxHQbPaD76Hx4Jiel0vm2G+4wei8Ay1+0YRFkhySxogU/uQVXHTv63KzQMak oIfnN/V2R0ucarsvMBW+gwARAQABwsF8BBgBCAAmAhsMFiEESbtpiOmzlcaw8cISVFM+0Ioq b/oFAmR3IPsFCQTeZ44ACgkQVFM+0Ioqb/qINhAAtcor9bevHy22HvJvXX17IOpPSklZJAeQ Az43ZEo5kRlJ8mElc2g3RzYCvL/V3fSiIATxIsLq/MDtYhO8AAvklxND/u2zeBd7BkRZTZZX W1V1cM3oTvfx3LOhDu4f2ExQzCGdkzbXTRswSJIe1W0qwsDp+YPekbrsKp1maZArGeu+6FuW honeosIrWS98QJmscEhP8ooyJkLDCCOgEk+mJ/JBjzcJGuYn6+Iy/ApMw/vqiLGL1UWekcTA g18mREHqIR+A3ZvypIufSFB52oIs1zD/uh/MgmL62bY/Cw6M2SxiVxLRsav9TNkF6ZaNQCgn GqifliCEMvEuLZRBOZSYH2A/PfwjYW0Ss0Gyfywmb2IA990gcQsXxuCLG7pAbWaeYazoYYEQ NYmWatZNMAs68ERI2zvrVxdJ/fBWAllIEd0uQ4P05GtAHPdTIDQYp545+TPV7oyF0LfXcsQs SFVZE6igdvkjfYmh+QOrHGZvpWXLTmffVf/AQ81wspzbfxJ7sYM4P8Mg5kKOsaoUdyA/2qVe cMh1CLUHXF1GlofpGbe1lj4KUJVse5g3qwV7i9VrseA8c4VIZewdIjkzAhmmbxl+8rM/LKBH dZUMTzME5PFCXJIZ83qkZQ795MTe2YScp9dIV7fsS5tpDwIs7BZNVM1l3NAdK+DLHqNxKuyO 8Zk= In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: LO4P123CA0164.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:18a::7) To CH2PR12MB4294.namprd12.prod.outlook.com (2603:10b6:610:a9::11) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH2PR12MB4294:EE_|DS0PR12MB8198:EE_ X-MS-Office365-Filtering-Correlation-Id: 1e2cc27c-23cb-4e13-7859-08dc9c417bc7 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024; X-Microsoft-Antispam-Message-Info: =?utf-8?B?ZlhDN2hURm12TnhBOEpibnExN3EzSEZGalBlOEJ5RkpKNUhwVDNURGhWVTM2?= =?utf-8?B?c1NBaG54d21XYnBjcmQxOTBaYWs4VzZDZUZrNlJQSGNKRWE4aXpsVWE2b2Y0?= =?utf-8?B?MytuQTdmNGptNjlpWGxSc1dlOGJMZVRZTE1XRlRkN3hRWnJieVo3RFlrZzFI?= =?utf-8?B?V2g4bXBQYStJa3BIWHA4UUtpK2M4ZStZMGJ5NllWS2lrRllZSzhEMG14UVIy?= =?utf-8?B?QnVXQU01WFViRkpWYmpuNmVRSXkvZkhRbTVmNDlIa1FoNkhvYUFXSGEvOWpi?= =?utf-8?B?UkJDaGIvK2Exd25DQy8xbmRCMkgxaHh5dGNUWno4ZlBJclBBZVh6cmx3VWZ3?= =?utf-8?B?a1N2VjkydkJhcGlsVTJFU1N2S202d2tVV0QrSWFMalBVUU1YcXdBTjFUOGNk?= =?utf-8?B?VjBhM1ZqUjZHVWRiOFU0S3dWK2lWU1J0VFQ5M3VWc3MwVU1MbC9Hc3VRMUhy?= =?utf-8?B?T0JTY01DUE9qQ1pEbUxEL3orYmY5R2Y5UGFoT3Zmc2RvWkpaeG8vbjFHRGJl?= =?utf-8?B?UkdnR3FXOTk4OVRGOHNMK2ZxTXVQY1RLTXVVRHdTZm5nY1FRNjMwUUI4eDFP?= =?utf-8?B?N2I0STI0L21jd0s3clpKSHhuU1R6RmpFN2FHTDdOVGovdDVDYlBtaHdNVkln?= =?utf-8?B?WkdTUW82cXJCZmYxUk43c3NMYVRFdnlSNmkzb2pPNDlrNWw0WlRJaEt6MGoz?= =?utf-8?B?bjV3aE10OWJ1bU92RkQwSnRXWW53cHJyaVMzclpja01Pb3VDQkw2NWZsQm9S?= =?utf-8?B?MWhVWlRadWZwNWY5T2xYWmpjUFI5WDVDZnRyR3duckl4MndORkxOc0NoWWN6?= =?utf-8?B?dllpRnA5M0YwQ1MySVNiVEk1Q3BwbENXckwzMm1LbWJ4TC80SjUvMXpHVEEw?= =?utf-8?B?cXBNakdYL1oveEZJZXIzUEpZd0NFTzZzWFJPb0lZeXVmWEd5M2VBT2ZnYjZn?= =?utf-8?B?UDJ1eDA1bXFDUCsvOHVjbXRiSUxxN2UxdVI5VFNCYzdZemNWM24xQTVaVVFW?= =?utf-8?B?WWZtNFpJVFR2WGNLSTBxS09mTkpWMGpvOEl6TXVDb2NzdXlrNjdQOGpDVHFH?= =?utf-8?B?OUtQUER5aU52SnNEUmRSTTFlQVZpaG1aeCtJaXhjYlg4bnJhcXJTa0MyRWZO?= =?utf-8?B?QVBiWmtvKzF3M2JkLzMwZy9zT2RKMkV2dFc0aDBwdjFxM2RSVXBpaWRRR043?= =?utf-8?B?d1lvNE1SR3laZlVyWkxIZFFsMjJrU0NCdG1QOGE1L244alY4Y085ek84SE05?= =?utf-8?B?dTdlR0JSaFloNlJVZmRpdmhkMVBIODJrZTF3OXVjczJ0Y1JJV0RoZkt2ckhx?= =?utf-8?B?UmsxYzlPTnFqeXV3SkN2djFhZlB0VXlvWVRvRlc3YjE4SVBMTDR6WjZ6bEp3?= =?utf-8?B?a041eWpHeVAyRTFzRnFJTUhJbnhVVldDZitrditENVY4Ty9MREpkaTd4WE5Y?= =?utf-8?B?OFovZFNlVVJjVHVRQ2pBVkdmV3g0aUdTK3NSUzl5dkk0c3BnZXVQaExwbTE5?= =?utf-8?B?SlZJSE12Q3JxZE1zaHg4TlFqSnl3V3E3WkptbnBSUEhUNW01TXorMC9vYmpN?= =?utf-8?B?ODU3VFlnMFlnQWpDaFpUcmNiRm5Wa09ya2xZUWp6czlCWkFrWTNJamJkd0dz?= =?utf-8?B?T2Jwa2J2cTdYV2Zlck1KZEoyc05lMTZzNVowUTlsOTI0YVQ1MDY1NTFsSFht?= =?utf-8?B?Q1JtMmY0SmwxeStFZjZ4RmN4ZllobmZKYndnTythVEowVEhMQkRtak5EWkF3?= =?utf-8?B?TzVSYTlBVlR6cVZHb0RRaDg3SXBkU0FKSnhtazNKMWNEMEVkWFJwOG45dHA4?= =?utf-8?B?ajVuam8zRTdzSHYvdmJLdz09?= 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:(13230040)(366016)(376014)(1800799024); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?L0NXeG9mcEFyQlFKNkpwNEtwaEJCRWwrRE5LQmtNS3lIZ2YyYlE4Mi9Wa0Zt?= =?utf-8?B?M0lLY2oycmZtS3I3TlZENnBkbE5Za2h4QTdBLzgzbnV6MHduMXlxUlE3aE5o?= =?utf-8?B?S3dSc0hEalFLbFNRUy9GaENnUy9WeDZmNFJaNlhGVVloaGJGa2Mrb28waVFR?= =?utf-8?B?bXZqZGdGWmRkUGtleThMOHZJMWptbDdZV0IrUG5oODNBQ0I2VktSMGFRaTdk?= =?utf-8?B?cmNsVFF4V0lHWUYxY25oamFqblI3R2ZQMmFNVk5NMVZxYnBRM29VVWluUlpr?= =?utf-8?B?QS9qS0V4SjJ3bmdLOFNidEZvdllPUFVMSWZRRXNhbHlqeGNiSFk1eVpqT1Bz?= =?utf-8?B?QnZPTk8rWGtWZHp5UUovQ3k1a296Slk2Mlc5djNGQUZuNmhwYUxIa0psVW1l?= =?utf-8?B?UlRDaWVHN1RmM1BiSStaOENLR2c0dUNCeXFxUHpMQmdoU3VuQmxJVXRxTXZa?= =?utf-8?B?Y013WVVTYlo2YTVrNXlqc1QxYlpXdXFlMDRyNXYyTXQ1dHpsTWc1aTUwa1ox?= =?utf-8?B?aDd4Z285czkwcm16Ymw1YyszWHZOaTVwMXVjZWpiVEhMRWt5cHZqU24xOWFF?= =?utf-8?B?L1Y4UU1GbmdDSVZmNS9IZE5wV2NvWFQrR3Bic2lEYWdaN3NPcEt1ekNyaVl5?= =?utf-8?B?c2lRQ3Z4dUpwdTJWNEJ3QzZiYytPZ3hTY3p4bFc2aGViN2JwYTRhT2VQM0o4?= =?utf-8?B?ZHVFOW4zekdwSTMybG5LdG1wTmJGT3NXdThvanJWU0xvMjNvU1hpMUJWUmZG?= =?utf-8?B?UGxoNnd6Q3JuY3JKa3JTaHp4S2ZURmJQcDg3b2xrdFhleFJNTUxCWnlKZ1JO?= =?utf-8?B?RmNGY0V5RFdvVzQwTjFEcGp1eE5VdkptTUs2cWNHeFRldUhLaE5yRE44T0RE?= =?utf-8?B?ODFpcmJ5R2F5ZHVMRUJueUYzQXlUZm5PcHFsWjBNa1RXd2phdGZmdXkwYTlI?= =?utf-8?B?NHRmNFd1dkNXaEhqWnJRa3U5eGRRTVhobFRibkFHcElqRTdrQVkyT3J1K2pp?= =?utf-8?B?U3VSNkFWM3hQQU1TNTNNV0hVYTN1Z0NBNVJXdHMxK082bzhQUGc0SEhSLzNz?= =?utf-8?B?Y2tKbU5kNXF4TjV6L1JsRVFBQkgrUGpnYTNEMnRCR082WFZSektISzRraGlx?= =?utf-8?B?RjA5blRYM2p0Y2dEMTZwdFJDSHNTR0JDbTJWaE5pc3Y2SU9VSHRqdDA4TEs4?= =?utf-8?B?Q25aNkxpWEdZZEl6WSs1SU44RTl6VFBpeDFwaVhIWmpMcmhTZ1I5NkVYVm81?= =?utf-8?B?RjRrdmJxbExhU1pZczc5V1I1SWlDSWdlaCtYOFR6UWdKTTM4TUJDOHpLSkdT?= =?utf-8?B?Q0xQR1Q2NGVGOXVBcUIwSlJqOWowRVpaRGhmaVNFNTFnUnBZZzZqZldONE9y?= =?utf-8?B?SWlkL0s3MVBESFM2aERiQmhYSGhyS256bFR4YVM1bkxLTHlheGQyTzMyZWFx?= =?utf-8?B?cGsveHJsQkMxc1paTzdpdHFleGJHZk5iTjVyekxmZVdCOWl0dFNXN3lydDNY?= =?utf-8?B?dEVJRUZoU1RqTm5hNlprVms3bEU2SjFHeTJDZWFMcW5CNCs5NDErMkN6cVBJ?= =?utf-8?B?bUxuR3FyUHY4K3Y4MWk0SUtIS3d2WmVrbGVvaDhHTFhveEwvZ2VoODhQbStS?= =?utf-8?B?UFN1MTAzYkFiaUwxc1RmSGVYbEl5aHNaalZPNEpGLytOK1J1V3VqVkdFaE0v?= =?utf-8?B?eVpkdlR4ck04S0hNYVg4UnNWdjFXYTYvYkpmQlF4QXhhZzFVMVFlZ21UNmY4?= =?utf-8?B?M0d2Q2lyOHdjUkNVd2VpUWhmWFJ0ZjA0VUVkc2RlNmRXUmFrUVRaR1FyMHRM?= =?utf-8?B?dTc0cnZ5bytBS0VMbTZHSWhnbXdLemw4OVNsTVRFSlkxdnY2Y2R0SWlhZHEx?= =?utf-8?B?Q1k2TElkNzNoVUd0QnlQYm0xamZHVlN5Qk5uMmx5dWh5YmM0S09pUDBPa04x?= =?utf-8?B?SmsveWpXUTFqMTlvTStRdmF6VzZCVVA4L0tJQ2RWZ3NmQzd5dnFVenc1WkFT?= =?utf-8?B?WUcra2lUQmdvWmRTS0lwSWVkTE92WkNyUnZBY2MwVEZoaTYvblgwZlR4VCtL?= =?utf-8?B?dlhDdWlhMVQ4ZXAvNU5pK05hUVdCV0tnRjFIODZETW5raDVaZkZ5WDZiWG93?= =?utf-8?Q?gdblcXmHqkG+jzGEBr120VLcr?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1e2cc27c-23cb-4e13-7859-08dc9c417bc7 X-MS-Exchange-CrossTenant-AuthSource: CH2PR12MB4294.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jul 2024 15:53:44.4910 (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: lklp00JyfIaEWDtEVQTNRNfGPvBqYMt22Acrfoq5Z/FnC8p3Nwihor69oC+C26Tz X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB8198 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 6/12/2024 1:48 AM, Ferruh Yigit wrote: > On 5/23/2024 5:26 PM, Konstantin Ananyev wrote: >> From: Konstantin Ananyev >> >> ../lib/gro/rte_gro.c:182:34: warning: variable length array used [-Wvla] >> ../lib/gro/rte_gro.c:363:34: warning: variable length array used [-Wvla] >> >> In both cases the pattern is the same: we use unprocess_pkts[nb_pkts] to >> collect un-used by GRO packets, and then copy them to the start of >> input/output pkts[] array. >> In both cases, we can safely copy pkts[i] into already >> processed entry at the same array, i.e. into pkts[unprocess_num]. >> Such change eliminates need of temporary VLA: unprocess_pkts[nb_pkts]. >> >> Signed-off-by: Konstantin Ananyev >> --- >> lib/gro/rte_gro.c | 40 ++++++++++++++-------------------------- >> 1 file changed, 14 insertions(+), 26 deletions(-) >> >> diff --git a/lib/gro/rte_gro.c b/lib/gro/rte_gro.c >> index db86117609..6d5aadf32a 100644 >> --- a/lib/gro/rte_gro.c >> +++ b/lib/gro/rte_gro.c >> @@ -179,7 +179,6 @@ rte_gro_reassemble_burst(struct rte_mbuf **pkts, >> struct gro_vxlan_udp4_item vxlan_udp_items[RTE_GRO_MAX_BURST_ITEM_NUM] >> = {{{0}} }; >> >> - struct rte_mbuf *unprocess_pkts[nb_pkts]; >> uint32_t item_num; >> int32_t ret; >> uint16_t i, unprocess_num = 0, nb_after_gro = nb_pkts; >> @@ -275,7 +274,7 @@ rte_gro_reassemble_burst(struct rte_mbuf **pkts, >> /* Merge successfully */ >> nb_after_gro--; >> else if (ret < 0) >> - unprocess_pkts[unprocess_num++] = pkts[i]; >> + pkts[unprocess_num++] = pkts[i]; >> } else if (IS_IPV4_VXLAN_UDP4_PKT(pkts[i]->packet_type) && >> do_vxlan_udp_gro) { >> ret = gro_vxlan_udp4_reassemble(pkts[i], >> @@ -284,7 +283,7 @@ rte_gro_reassemble_burst(struct rte_mbuf **pkts, >> /* Merge successfully */ >> nb_after_gro--; >> else if (ret < 0) >> - unprocess_pkts[unprocess_num++] = pkts[i]; >> + pkts[unprocess_num++] = pkts[i]; >> } else if (IS_IPV4_TCP_PKT(pkts[i]->packet_type) && >> do_tcp4_gro) { >> ret = gro_tcp4_reassemble(pkts[i], &tcp_tbl, 0); >> @@ -292,7 +291,7 @@ rte_gro_reassemble_burst(struct rte_mbuf **pkts, >> /* merge successfully */ >> nb_after_gro--; >> else if (ret < 0) >> - unprocess_pkts[unprocess_num++] = pkts[i]; >> + pkts[unprocess_num++] = pkts[i]; >> } else if (IS_IPV4_UDP_PKT(pkts[i]->packet_type) && >> do_udp4_gro) { >> ret = gro_udp4_reassemble(pkts[i], &udp_tbl, 0); >> @@ -300,7 +299,7 @@ rte_gro_reassemble_burst(struct rte_mbuf **pkts, >> /* merge successfully */ >> nb_after_gro--; >> else if (ret < 0) >> - unprocess_pkts[unprocess_num++] = pkts[i]; >> + pkts[unprocess_num++] = pkts[i]; >> } else if (IS_IPV6_TCP_PKT(pkts[i]->packet_type) && >> do_tcp6_gro) { >> ret = gro_tcp6_reassemble(pkts[i], &tcp6_tbl, 0); >> @@ -308,21 +307,15 @@ rte_gro_reassemble_burst(struct rte_mbuf **pkts, >> /* merge successfully */ >> nb_after_gro--; >> else if (ret < 0) >> - unprocess_pkts[unprocess_num++] = pkts[i]; >> + pkts[unprocess_num++] = pkts[i]; >> } else >> - unprocess_pkts[unprocess_num++] = pkts[i]; >> + pkts[unprocess_num++] = pkts[i]; >> } >> >> if ((nb_after_gro < nb_pkts) >> || (unprocess_num < nb_pkts)) { >> - i = 0; >> - /* Copy unprocessed packets */ >> - if (unprocess_num > 0) { >> - memcpy(&pkts[i], unprocess_pkts, >> - sizeof(struct rte_mbuf *) * >> - unprocess_num); >> - i = unprocess_num; >> - } >> + >> + i = unprocess_num; >> >> /* Flush all packets from the tables */ >> if (do_vxlan_tcp_gro) { >> > > ack to re-use 'pkts[]' buffer for unprocessed packets, that should work. > > But as a more general GRO question, above 'rte_gro_reassemble_burst()' > functions seems returns 'nb_after_gro' and as far as I can see that > amount of mbufs sits in the 'pkts[]'. > When packets flushed from tables, flushed packets are replaced to > 'pkts[]' but still 'nb_after_gro' returned, there is no way for > application to know that more than 'nb_after_gro' mbufs available in the > 'pkts[]'. Shouldn't return value increased per flushed packet? > > Ahh, I can see it was the case before, but it is updated (perhaps > broken) in commit: > 74080d7dcf31 ("gro: support IPv6 for TCP") > > > I wonder when GRO last tested! > @Jiayu, did you have a chance to test GRO recently? > > As above GRO specific return value concerns clarified, for this patch: Acked-by: Ferruh Yigit