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 3D6F8432F3; Fri, 10 Nov 2023 18:27:38 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 27E0F40695; Fri, 10 Nov 2023 18:27:38 +0100 (CET) Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.65]) by mails.dpdk.org (Postfix) with ESMTP id D8C95402EA for ; Fri, 10 Nov 2023 18:27:35 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1699637256; x=1731173256; h=message-id:date:subject:to:cc:references:from: in-reply-to:content-transfer-encoding:mime-version; bh=8BR9pzheOZ1uB1ll/tMPEJHW6Ir2o2uAvHisWxjDC+g=; b=DnOt+/fMyAIqfPP+43xui5Q8hxU5JlgwwhEFZG3naVMk5FBkWindAVDP IWDQp+FLIwBZEp2DKQMN8F/C9zLQvSp+jm+FrS4lEJHoYR8SgMUS9Cj2V m63TjL897edw7jZ9ptQLs0UAN9EwVmQBgULt0H74rBguMq2xzxbmyjYmE Ga2UxUEoUr1DKy+M6DSi9X2XvbKKGf6AA01NIZZzwPJoWGpqGJNCGFMh8 srcQhVjCMNfQS2mqodcKHL7bPVju/M/xJ9xqOt+GOj1WKAwgAYxiRi29j w+nYdN9Yd0u+q15zMf2WsWC7RJWnJTG2zYYvHNhyzUPfVX9R71k82EFrM g==; X-IronPort-AV: E=McAfee;i="6600,9927,10890"; a="394117532" X-IronPort-AV: E=Sophos;i="6.03,291,1694761200"; d="scan'208";a="394117532" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Nov 2023 09:27:34 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10890"; a="829697906" X-IronPort-AV: E=Sophos;i="6.03,291,1694761200"; d="scan'208";a="829697906" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by fmsmga008.fm.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 10 Nov 2023 09:27:34 -0800 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34; Fri, 10 Nov 2023 09:27:34 -0800 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34; Fri, 10 Nov 2023 09:27:33 -0800 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34 via Frontend Transport; Fri, 10 Nov 2023 09:27:33 -0800 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.169) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.34; Fri, 10 Nov 2023 09:27:33 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JyCVAbQY4jedOwPvLGLbIZP0nXzuIafKWojrcXeLeC0fwXPsN762mpLwbDvMrd/FWfBxV2RBUVEuCXzroM7P+911ClF58NYiDBoIefvRpsN7QBk7Scw309HxXWWXsn4H7v6x2JLzGwTb7RuNTCe47JDIY03WGqX9ET1RhnshB64ZTh9TAQ6LEYPJ80TjA5YMaenVfGGmkOOYT2Ib2+8aDikzERB+8ww9CPiYvPr0F875S9P5sbIMUMhZaaXeMx0JNBylH9pjijkK9KfE2ep716zIV89nx62G4tcPyYm0HGsHOtvrxi4N8vJJ0iMrpFLFqJPXc+nu8lJThAETmbwIaw== 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=hc5dNypyp2FGoGuqik0KBNyk0talJ096dfdDb0SV9tQ=; b=muuqCel9VEPCI03M/pNE9k8SkoPhEouh5RSSXX6YRI8SqWSAmxcq2jlGeQhWYpqx8OaP7Du8q1OYu00vw9kPCXH9oBxP0J25zRBWyD0EWnV2gbQQ8LonF1G2bXs1PTudofGYP/am/eFzbFZ4N0pWfBq8kWQREzyT7YxZtgkgkcHmF9/s/Mgh0vIkELcHcsm8khslK0YJSEREZLL+jvFSx1Oxh8T7vnP6Jo67BDqwKuMHLE9qdpDZcO3SgteSjJqZ+XkY1d8zUrTo0p2fnGvB9PRZeSyNWsoUcO+lFU3adSrEyEBoVqlTSlGHvuMR2++XdDslk0ABf4WM8lZD6ajXCg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; Received: from SJ0PR11MB5772.namprd11.prod.outlook.com (2603:10b6:a03:422::8) by SA1PR11MB6896.namprd11.prod.outlook.com (2603:10b6:806:2bd::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.30; Fri, 10 Nov 2023 17:27:30 +0000 Received: from SJ0PR11MB5772.namprd11.prod.outlook.com ([fe80::db69:df42:7a74:fc50]) by SJ0PR11MB5772.namprd11.prod.outlook.com ([fe80::db69:df42:7a74:fc50%7]) with mapi id 15.20.6954.029; Fri, 10 Nov 2023 17:27:30 +0000 Message-ID: <813ed6bb-4777-4e6d-9f50-267353b2d39a@intel.com> Date: Fri, 10 Nov 2023 17:27:25 +0000 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2] lpm: improve performance with copious IPv4 peering routes To: "Warrington, Jeffrey" , "david.marchand@redhat.com" CC: "dev@dpdk.org" , "Charbon, Julien" , "bruce.richardson@intel.com" References: <7AFD1255-7038-44EB-87A0-B456A79B5291@verisign.com> Content-Language: en-US From: "Medvedkin, Vladimir" In-Reply-To: <7AFD1255-7038-44EB-87A0-B456A79B5291@verisign.com> Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: DB3PR08CA0026.eurprd08.prod.outlook.com (2603:10a6:8::39) To SJ0PR11MB5772.namprd11.prod.outlook.com (2603:10b6:a03:422::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR11MB5772:EE_|SA1PR11MB6896:EE_ X-MS-Office365-Filtering-Correlation-Id: 05a7cea2-bb13-4d2f-1a3f-08dbe212511a X-LD-Processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Nq/BDz1jLHP90orpze2Mj5FvXnuy5Ym1Cih2rf4HGsRw3wMOk9tTM6IhRbDyVsVLa5ChWdIYQrUg1PeRmXCnQa7ypYW9aBFwLX4eFbMPHB5XKD8CSj4op4lvS+nQrEkz/lMgmKcnUUvx1es3eRAwjxTh1km6urKYEOzc/7F4WpE3O2pNvOYpMnVbNWysAhTq+m/a8XKsjR9T4kU4vqJD4cbyFdt2ZPzo8OVJ9ntQAAxUcnD4GrckejMYOyaSAl8JCE3FkuKdNPkK9X/baWGlqvPT6SaN64EdM8t+Z4HILCo/TUVmA6AwL80U6+YVW3h/Pj8h4ivpXqMcuB+ThnmtIhQGjujinxYeCy/YOJUfYtAtnz4kBG0HoomTuQ8+wVQy9LvYJNdNYXMnPnyt8ILka0GCn5Slb0WW9/MJNLcm1q5Y85Ux74p4aONoI/2rhL0PxV+U1ulPw+nEymTW5kURw/w8tIs8HzncEIzkttBTK/gIFY9XyzYdwTb+CDsHAsKMnDff/iriZ/BxNhM2Ojm+zAmiWpaIklmNl3SlrYSjr5SBHI2v1I1fjNziOJID+yfBf92nubl942MBfJ27IpkOxwTwisZOfk7Opq3gIBbpoyJ2Ez61ZT1X56yYLg+GkAdnl3XhF/LYS3azq1mkP17irA== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SJ0PR11MB5772.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(366004)(396003)(376002)(346002)(136003)(39860400002)(230922051799003)(451199024)(186009)(64100799003)(1800799009)(54906003)(31686004)(6512007)(2616005)(6666004)(478600001)(53546011)(6506007)(38100700002)(36756003)(82960400001)(31696002)(86362001)(5660300002)(66556008)(66476007)(66946007)(316002)(41300700001)(83380400001)(6486002)(2906002)(26005)(107886003)(8936002)(8676002)(4326008)(110136005)(43740500002)(45980500001); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?UStPVzJnaEtLYk1FZnZyVjhuRHlacElwZStrNjBuUkgraVNVZEV2Ylg1N09a?= =?utf-8?B?elVkejZIb0Nkc21lcUZ3V1NUeDdUTUVQam84cDRLQUY0VGVUakFvNml2ck1C?= =?utf-8?B?bTVUVFZVbTBqSmlOZStLeEkybGpjb3AwaHdwS3AxdlluNm9HQnFkOEhPalZq?= =?utf-8?B?M2I3OFV0enU0QmpONDVhSzFwUCtaQnNtUHduNUVoOEs2c2orL0l3a2ovQkk3?= =?utf-8?B?UGZVbXJzQTgrK1lSU0ZwTWRwTHJJNXlLdVh4UW9vOHZYOTFTMy96KzE5YUhz?= =?utf-8?B?RkRqS1p5b0M5M0xFdDJKdTVnZlZpdDA2aGJoSjZxeVBCeExEWW12b1FCMFhs?= =?utf-8?B?dEEvek5HclhRQnpaZDJxK3BvMGladDFHUVo0b2IwYkpic1RnQjIvODRsdEZZ?= =?utf-8?B?b1ZKL2FRVlY1V2ZkbS9FTkNmUVpkTklEU2xjNS9NSEdqdmRyNU9sRDVueVJw?= =?utf-8?B?L0w1Y3hTL210WkRDT2pWSTBBZ2RoTitXQ3J1L1MvYnlpQlRhcStCSGpUYWVn?= =?utf-8?B?dEtDTFlEenVqTXVaaDVtaW1LQWpVOHVrS004ZVNhSTRTMCs0MExacGcxMmVh?= =?utf-8?B?TSs1NHkwSm9tL3plUjV1eGxET3p4R05HTGgxc3E2Nm9yOC9wWTQvcFV3czhu?= =?utf-8?B?SnhVWVhnOFE5VHVGWjJqY2lPMTRTVmwrMk43cTZrVUkwSEpFbktDL0NqZ3R1?= =?utf-8?B?OWxSb3VBeGsyT0owbTE0VXBCRy9FVDM2bk1OTXRXcjBDcGJZSnIzRzI3cFdO?= =?utf-8?B?NUJCT21CcytYZUk2SThBdDA2SXJpWHdCZDBxQ2VVN2EwS1B4cmlkSllZaFlO?= =?utf-8?B?M1RUV0VxTWRqUTBjNi82bUFRbkpMM2hTaVpHTldkOHN5YTJzYi9GUVV2d1hy?= =?utf-8?B?ZVIwcjhOekVyK0ZkYktXK2VBb3RvNHJIaVBZcGQweHkrSDFCT2dSNXRkUGdL?= =?utf-8?B?bXFWenl2UDR6TnpqcmJNZGdFRHRyMmVDd1VRejFQQ0NQOFJFTEJVWWlpRW5U?= =?utf-8?B?ZG5Tdy82c2xOQXFER2VQM2xOZkRyY0ZDRWVzb2VJQXNkeExJTmJSUk8yRUxk?= =?utf-8?B?dTNscDF2ZUZXcWFEdnlENkJsZUtQS29QczI1QmJkSDRjTVBSWmVsTk5tMEVq?= =?utf-8?B?NXFQUzlMUTNQczVRVnl1ZiswcklxQVYzdXh5Y1ZkTlpUYUxRMnFqTmlBSkpS?= =?utf-8?B?QjdQOHFBbkVNVXljdmlaM1lXQitISHh0dnJST1gxbFhMVmVDUjhtQVJKZy8w?= =?utf-8?B?NEh2L05NYU1JZTYyTTN3SEFSRzlKRlRPQ1hBZUJCZkwyU0NzNVRwdWNUY1I5?= =?utf-8?B?UDdJR3JDOHk4R1htVmdlQWJiUXBkdFpKNXhoYkJJdlBtSkt1cWxpLzJpaG9K?= =?utf-8?B?TG1mMjEyTHAzL1RyemhzWHBxKzhRL2E0aWpDVllXZTg0clZJYUdZUmpNZ1pG?= =?utf-8?B?TWhpcm5WRHF3SysyNlZUZ2l0L1hjS1N6T1dBdEdLckJNbUdSUXVhc0liMU1S?= =?utf-8?B?M3dYZHhPZ1o1U2hNUFF0YUE2UTNFTGJjZ0hMazRvTUdaVXhxZU94d1lOOGZq?= =?utf-8?B?UzA3YUpBNS9xeUxlcjB5U2U1eDJJRy9jQytWVTFPdGYrdUtMcmJ2QW5YOUVn?= =?utf-8?B?bTJ2bklmeGFnaXBvNTRnWEJLL3RqTjlYSkZweVM2eks0NTNWczZlUVJrdDRo?= =?utf-8?B?L1FJNkVLQTNEc25sY2VyUnRoZVhTRlhQMjliYXJRVU5xWDVLcE02Tys1dzhW?= =?utf-8?B?dWg2a1FaMmdLL3dwQnhqaHFCczVSZUs5d0NyWmhzc29zS0UranE0NGVybUF5?= =?utf-8?B?QUpDbnZwT08vbSt6NDZSVGVFYWVOVC9sZnVwaE1LYlJJNndPM1IyQXdGSHlz?= =?utf-8?B?UldlZXdVdkF5L1kybG1la21HZVEzU2RjZ3QwRklYaHVjdG5wZ0Juc3pxTVkx?= =?utf-8?B?eWVQNkhtUGxmOHdLMlVLR2hjREJYWTJ3T25PRTNCeVJiRzBCU0UwQUhJOWQ1?= =?utf-8?B?d1ByODl5TUZDZU5XdXdkMFlvWDlyNU01RXdXbldRZStBNmtZMWdQQklqd3o1?= =?utf-8?B?bW40cGsxeE5HRENJYXVQdEgzeUxWVkxtaCtZeTFrYjR0YmJIWTFZQ0RKVnhZ?= =?utf-8?B?NFhvblR3T1c1MFdTTW9xUDRZTDBjK0drS1ZCTmRJUXk0SjFOQks4Q0g4cnZJ?= =?utf-8?B?VXc9PQ==?= X-MS-Exchange-CrossTenant-Network-Message-Id: 05a7cea2-bb13-4d2f-1a3f-08dbe212511a X-MS-Exchange-CrossTenant-AuthSource: SJ0PR11MB5772.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Nov 2023 17:27:30.4418 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: bCFds5WRiJnX7F6hXriNKIqyONJmTL5J/Nf2MCehk+LxCiw4fXYgyFRQfkDQNw8PZs2sOu+Ba2gFNuwn/pmtxohu85whXnCQfVAkwQLMMTQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR11MB6896 X-OriginatorOrg: intel.com 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 Hi Jeffrey, Have you tried FIB library? This problem has been solved there for a long time, and it also has a number of other improvements. Thanks! On 10/11/2023 14:08, Warrington, Jeffrey wrote: > On 11/10/23, 2:42 AM, "David Marchand" > wrote: > >> On Fri, Nov 10, 2023 at 12:11 AM Warrington, Jeffrey >> > wrote: >>> Minimize the performance impact of large numbers of BGP peering >>> routes by updating LPM's IPv4 code to use a hash like the IPv6 code. >>> >>> Co-authored-by: Julien Charbon > >>> Signed-off-by: Julien Charbon > >>> Signed-off-by: Jeff Warrington > >>> Co-authored-by: Nicolas Witkowski > >>> Signed-off-by: Nicolas Witkowski > >>> Co-authored-by: Rohit Gupta > >>> Signed-off-by: Rohit Gupta > >> Thanks for the patch. > Thanks for the suggestions and feedback. > >> Cc: lpm maintainers. >> Don't forget to Cc: maintainers when sending patches. >> You can simply pass --cc-cmd devtools/get-maintainer.sh to git send-email. > Apologies, that was clearly stated in section 8.12, Contributor's Guidelines, and I still forgot. > >> Can you provide performance numbers? > Yes, I have lpm_perf_autotest before and after: > > Binaries Add Delete > 23.11-rc1/build-gcc-shared: 145226 90583.5 > 23.11-rc1/build-gcc-static: 259492 90954.4 > 23.11-rc1/build-mini: 145222 90375.7 > 23.11-rc1/build-x86-generic: 259488 90406.7 > proposed/build-gcc-shared: 748 1391 > proposed/build-gcc-static: 605 1240.69 > proposed/build-mini: 621 1196.15 > proposed/build-x86-generic: 607 1249.39 > >> After this patch, LPM and LPM6 implementations become close. >> Did you consider refactoring so that LPM and LPM6 can share more code? > No, but I should have. The previous goal was to minimize our change, > and now we should pivot to simplifying the maintenance. > >>> --- >>> lib/lpm/rte_lpm.c | 306 ++++++++++++++++++++++------------------------ >>> lib/lpm/rte_lpm.h | 6 + > >> Seeing how no other .c is touched and no exposed symbol use it, >> exposing the rte_lpm_rule_key structure in the public API is unneeded. > Good point, that's a quick change. > >>> 2 files changed, 149 insertions(+), 163 deletions(-) > I'll send an updated patch as soon as I get a chance, > Jeffrey > -- Regards, Vladimir