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 419504327C; Fri, 3 Nov 2023 19:08:51 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3298C402ED; Fri, 3 Nov 2023 19:08:51 +0100 (CET) Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.136]) by mails.dpdk.org (Postfix) with ESMTP id E7C7C402D1 for ; Fri, 3 Nov 2023 19:08:49 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1699034930; x=1730570930; h=date:from:to:cc:subject:message-id:references: content-transfer-encoding:in-reply-to:mime-version; bh=Mlm3Xi4egx2R2YLJl+M61PiLRBohLhXSCq3CLaZjE8w=; b=kPch1V9TKI7o4H+oP4bDKmIKerhC4vJJO3pHEg4EMEV8o+WNEI5V2yrx XBI52xWBHCXmTlXeeChkFf8F1NdTL8mOG39AIHheV2xCzLP4N6sCQI8vB lpoRBJc8h3Pgn+HATLWwEuEfuuYQAAErlKwNTZVlFhLriDDORgC89rKD7 zZhFAQeVShh2dnH1KZZnV8YIvj0wle81/yJO0fSz+R8V6/kULgT+feqOE 6JLod0VyscT/s6aF800xY9VQvAycBNITIrlqG+1SrzG0zr9+ZSkKDjXjS jRJaQJ3UB4IV1Ydgu9FAqApO8rsfXChhDUVsySwEyaWg9NmCshpKyk8eq A==; X-IronPort-AV: E=McAfee;i="6600,9927,10883"; a="368335614" X-IronPort-AV: E=Sophos;i="6.03,273,1694761200"; d="scan'208";a="368335614" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Nov 2023 11:08:49 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10883"; a="832094961" X-IronPort-AV: E=Sophos;i="6.03,273,1694761200"; d="scan'208";a="832094961" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by fmsmga004.fm.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 03 Nov 2023 11:08:48 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34; Fri, 3 Nov 2023 11:08:48 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx611.amr.corp.intel.com (10.22.229.24) 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, 3 Nov 2023 11:08:48 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.101) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.34; Fri, 3 Nov 2023 11:08:48 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mVYoB9Z+o4VjZeRwccu07JalE477rS2gWsDqVmjQi02Kr+peAfWfJel0Qe2Mha5NRFa4BTk4n8hUvzagQa21LVCIQtSiygdLL09RlC4pP/f7sDjooAtE4rBL58fDx7ybI1Gsr14Oa77VYXKJgp0o+PQA4kRx7weLcjWZ4fJ+nRjMwGBZcXZtCr3SgTZ3nyvATpnf5+ZgeeTWxnBHxYUpKYulyeFvPvHCw6B2QquOB8YRlTiFlH1+x6HrCuU9SAwBLyVaZwGqIQuGoOhkIl7KN9RHahCdr44t7DcuuOsiKlLrLPWf+1dwwOH7YMMkNHEbn/gmfURRhEQjYD0dxJd32g== 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=OVaBbY5b7BWc6f7NZ69BVYIU8M52y/GO97XoGE7d8BA=; b=YfESl1r9iWs/2slnPjSkosvrwCIb/S2NctRj3Ey67Yg34OC/mzh0Jmvx6OQkdgqgEEmPz4VqSIInm/5+rltASt05b99gF3cYiD+DIgRK4JaBpy2vSAGX9FjcA98P98wV7G8CR/0ZPevqj4dpQGBaga/pH8DP6WM9dDfaHG/gvU5m2ivswLUVbIqW8FvyXlONMEJtE4SMiC38bsqjX8ZdkQH9IFsgr5TvnHCoZMfLB51pEhVLUJdKW7EH0p66LbQyzQvoTezYDZjsVmiHqV4Xc9ln1fSS5KF0Cl8Z9CpQFnU8AEAtNn/r0Bz6ozror4mhmNvJ+luMN/OrDVImj6AWtw== 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 DS0PR11MB7309.namprd11.prod.outlook.com (2603:10b6:8:13e::17) by IA0PR11MB7839.namprd11.prod.outlook.com (2603:10b6:208:408::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.19; Fri, 3 Nov 2023 18:08:46 +0000 Received: from DS0PR11MB7309.namprd11.prod.outlook.com ([fe80::d70b:11a0:d28f:ec44]) by DS0PR11MB7309.namprd11.prod.outlook.com ([fe80::d70b:11a0:d28f:ec44%6]) with mapi id 15.20.6954.021; Fri, 3 Nov 2023 18:08:45 +0000 Date: Fri, 3 Nov 2023 18:08:39 +0000 From: Bruce Richardson To: Morten =?iso-8859-1?Q?Br=F8rup?= CC: Subject: Re: [PATCH 24.03 v2] build: track mandatory rather than optional libs Message-ID: References: <20231103162830.593702-1-bruce.richardson@intel.com> <20231103165208.1210182-1-bruce.richardson@intel.com> <98CBD80474FA8B44BF855DF32C47DC35E9EFCF@smartserver.smartshare.dk> Content-Type: text/plain; charset="iso-8859-1" Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <98CBD80474FA8B44BF855DF32C47DC35E9EFCF@smartserver.smartshare.dk> X-ClientProxiedBy: DUZPR01CA0295.eurprd01.prod.exchangelabs.com (2603:10a6:10:4b7::11) To DS0PR11MB7309.namprd11.prod.outlook.com (2603:10b6:8:13e::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS0PR11MB7309:EE_|IA0PR11MB7839:EE_ X-MS-Office365-Filtering-Correlation-Id: c683f60a-5fea-4bc2-533e-08dbdc97ebc3 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ay5aJ+fFqKPJWE0cRvKdzSa8dGFcXHMvcnA4VyNpUxkckY7Q/ArMZja/THe+biZos0hf6IlD+TPo9gKx3Y+3gqYxg9wOniio+0440ftCSiPCeAAPwzcDQKPN1US+CkKlP001PjVgcsPiFHbWmyTdz1tws831JyLb7r/7QDHW6cNj3n4YKW7KNOn3f7/sqNDVH3gjFCsz7Oz1ERIS1+Cz/z8sFqJskDvBpaZvW2x2qM7DDTCP6d79sS7GVmm/hvsXfcKcEOC5dQ2j2Rf8CxR1M4qvJMq6/jo6ftiN37+BlOBEXnyKILY8vkVkboYJP+1HtjHXD3lJucoK7vnzE1Rpz494FVevljB4crkJeK6jSuyr8MwKXHfAHAifI/UZPE5h7Ww0tB1vH3tFVUqje6UUBEa0pA/UcpZgqUCYiYXKFRqIor4huof6sJ1XebyzZ+8toQC3bMCcob3SsJH/+8N/T7zR78/NvCnPlhkzkoRIf81WRLufhQlHIOmnqlArlJOnjL+UR21pJY2c970lzm2yM8pFw589M6uTq2jGXVQ65VUfq2UseeaShcCnnnEgXQNH X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DS0PR11MB7309.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(39860400002)(396003)(366004)(376002)(136003)(346002)(230922051799003)(64100799003)(1800799009)(186009)(451199024)(5660300002)(6512007)(26005)(6666004)(6506007)(66476007)(4326008)(6486002)(8676002)(44832011)(41300700001)(6916009)(8936002)(66946007)(66556008)(316002)(38100700002)(66574015)(2906002)(82960400001)(86362001)(478600001); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?iso-8859-1?Q?raUs9C4L1yHsfGelG8ngnbeXeiOKbGTVRoCrGyvx3PMPFXQ1cM/fOXtNKT?= =?iso-8859-1?Q?c7UHXvZG2IwrK9p5Kt5OWYQC+Vi9++Yori6c9FceQSqHtvAOFAAZ84ChPz?= =?iso-8859-1?Q?oNjznrbE94mGSJ/YJ6iKgCN7XrCHWN342Z2JlBOnww4daKCsb3DG/1YLw1?= =?iso-8859-1?Q?N+sSCwEfklaDEBpWg3wmnTNGVz1Az+DwlGGNv4/Z6g7QGvxj548ylWQ93w?= =?iso-8859-1?Q?J9YBCa2CpuB/uLfcQNutobRo7CgCbAxAM27gE5g/JzmxPXyAv6FfMdhOFx?= =?iso-8859-1?Q?Jix3OvlOJOp27HB2rf1lsXYvbnAxgzv4K35PdPcA/xM/We7957ZiWodIVz?= =?iso-8859-1?Q?/sP6PRtwXtFcHwKE6awxds7I5t2Vl9Gc/CyM0MzeuCWbSldRsC2YebRVKB?= =?iso-8859-1?Q?MSluXZqpn3E/NZfNl37YC4JlSKmBqTKIYdLVbtGuSjtbK1CJ8VbJL8Kxx2?= =?iso-8859-1?Q?NxGcat30LDh+DG3r5cOeyhPaFgJV7y/q4UqrUG5jp3gGGWjqxrDnw49pGx?= =?iso-8859-1?Q?HCIhANWPtI1xVxcpXvl9zqwrNjGFxoJoxZ5NeXhiC01+rnrXgSlMoBCP3C?= =?iso-8859-1?Q?oG0ZqDNYfV1hhvoTyDyDSa0F1dHhk21ld91h9obY7OIaVL7mZRlWqMQpYr?= =?iso-8859-1?Q?H9UIES7iDjJ3vIqywpuki/GRpKRQgUkJB2zSc7skO/DetX7aB6vvc9rzfJ?= =?iso-8859-1?Q?iGqdTJHZuEN50agSczRe93Fcnxuq7XGbsQEtxg/7TKrXBJ9H82RFPVQG43?= =?iso-8859-1?Q?xSs2IBEIodVUhD3OFBPjIPfnQC/37M1X72hGi3d+ghd4FJfJuC36Unv6Yn?= =?iso-8859-1?Q?ZoC0iRrIArYPvV9sWy46cd7krlyF03iORVAOLfSPcVI0qyX2x6un/22dG3?= =?iso-8859-1?Q?EU6uN/9Lp3CY3ADFT20a56q9CXcr3nWTZxdVT3O/yt3wnvwwbNu7MU/oww?= =?iso-8859-1?Q?x9kiVH+vkX4UtVnmBTCs6QccrfoAzDqiraCI0rx9HQMR+q87OWZsSRyote?= =?iso-8859-1?Q?NHfpwKy8wGPmDBA7b/0YrrQbLm0NuPvS6leYMZdJfr+EjsHJuRnnNpyFWi?= =?iso-8859-1?Q?xmIMZYZmC/i0Pe+rwKKwA4JIKnYHKq8OL+EKQr+QfF9CK2A3CbI2XuHrgL?= =?iso-8859-1?Q?JafIWCztDsqSrey7Fd8Iyid6SnfNvuDiA3O3+mGu6IW6e+vBjpYPqTdppC?= =?iso-8859-1?Q?MGBluWn81kj4JvkqVFFi6FzRa+86ObGZdrIPoCUZovquWfgEI5lVMexKyQ?= =?iso-8859-1?Q?34ZGL6+9gBTEheP7w6tl95IRMlhDywIV++6FN9/MR4wIpeTlWDMAa/q2fI?= =?iso-8859-1?Q?8HcTXBe9OG0p4pMzHsSnpQlWU4EczU97eHpKPQnd7v7E17nXZNydA+JzmB?= =?iso-8859-1?Q?rw6fC/8GcMRN0sjVFYPkGSJQ0tUR7awsW9mlg9UwXwB5BmaEgSyj9q4L21?= =?iso-8859-1?Q?aepSD+WEFfQqTm65TjT40Xes4v/4UBFSGrYfwwAzC9UM0r3AHJ0akuuhtU?= =?iso-8859-1?Q?G17fNYAMXc//0ftHa5DGPg9Ow9SpJjyX9cdfCJ8uUcXKRdlPGrT39m8Des?= =?iso-8859-1?Q?Ki6zXVx+LxXt9SA6CR5PkGqrnq6tYIYuMeu9tWZgE9ZFGtf4RUJ7BBlpFQ?= =?iso-8859-1?Q?0jVRNjlmK+e+uDMIAVyqoQPjpvhcmGZ4AAst6PLjor7kVwdwwrf8CyEw?= =?iso-8859-1?Q?=3D=3D?= X-MS-Exchange-CrossTenant-Network-Message-Id: c683f60a-5fea-4bc2-533e-08dbdc97ebc3 X-MS-Exchange-CrossTenant-AuthSource: DS0PR11MB7309.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Nov 2023 18:08:45.8774 (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: 3WXrrJcDltfVKRYRLOwq1/4S9StiQjTjbdUTckY0RXxb9WAOIXcinIgOyWO5gGyPe4+ewx2mC3tVTB4nAyjJNA5pVTw6hHA3L0V7FWIh5KU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR11MB7839 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 On Fri, Nov 03, 2023 at 06:31:30PM +0100, Morten Brørup wrote: > > From: Bruce Richardson [mailto:bruce.richardson@intel.com] > > Sent: Friday, 3 November 2023 17.52 > > > > DPDK now has more optional libraries than mandatory ones, so invert the > > list stored in the meson.build file from the optional ones to the > > "always_enable" ones. As well as being a shorter list: > > > > * we can remove the loop building up the "always_enable" list > > dynamically from the optional list > > * it better aligns with the drivers/meson.build file which maintains an > > always_enable list. > > > > Signed-off-by: Bruce Richardson > > Excellent! > > It really shows how bloated DPDK CORE still is. I would like to see these go optional: > For some I agree, but we need to decide what optional really means. :-) For my mind, there are 3 (maybe 4) key components that need to be built for me to consider a build to be a valid DPDK one: * EAL obviously, * testpmd, because everyone seems to use it * l3fwd, becaues it's the most commonly referenced example and used for benchmarking, and build testing in test-meson-builds. (There are others, but they are pretty likely to build if l3fwd does!) * dpdk-test - I feel this should always be buildable, but for me it's the optional 4th component. Now, the obviously one to relax here is l3fwd, since it is just an example, but I wonder if that may cause some heartache. Anyway some notes: > acl - OPTIONAL Used by l3fwd > cmdline - OPTIONAL (if not used by EAL) I'd consider this core - used by testpmd and the auto-tests. I'd push this down the list to consider making optional. > eal - CORE > ethdev - CORE, or OPTIONAL for secondary process Is there really much use of DPDK without ethdev? Let's just keep core for now. > fib - OPTIONAL Used by l3fwd > hash - OPTIONAL (if not used by CORE libs) Needed by l3fwd. Also listed as a dependency by a number of drivers, e.g. i40e, mlx5, nfp, tap. I think they use it for holding filters and things. This I'd be wary about allowing disabling without some work, as it could cause users surprise when some drivers unexpectedly stop building. > kvargs - OPTIONAL (if not used by EAL) Used by EAL > log - CORE > lpm - OPTIONAL Used by l3fwd > mbuf - CORE > mempool - CORE > meter - OPTIONAL Used by ethdev. > net - CORE > pci - CORE, or OPTIONAL for secondary process > rcu - OPTIONAL (if not used by CORE libs) Used by lpm and hash, which are used by l3fwd. > rib - OPTIONAL Used by fib, used by l3fwd. > ring - CORE Actually, this is one I'd look to maybe say optional. :-) I think we should switch our default mempool backend from ring to stack, and make that mandatory. The reason being that run-to-completion apps should be running entirely out of mempool cache and not care about the underlying driver, while pipelined apps pushing buffers across cores would be better with a LIFO-based rather than FIFO-based mempool driver. Therefore, I think overall switching to stack from ring would be an overall win for performance. > stack - OPTIONAL (if not used by CORE libs) For reasons above, I'd make this core. > telemetry - OPTIONAL Used by EAL > timer - OPTIONAL (if not used by CORE libs) Only lib that seems to depend on this is eventdev, so maybe this can be an easy removal. Though I do see it listed as a dependency of ENA driver too. > > Anyway, > > Acked-by: Morten Brørup > Overall, if we want to make more libs optional, I would start looking at l3fwd and making it a bit more modular. I previously made its support for eventdev optional, we should do the same for lpm and fib. Beyond that, we need to decide what core really means. /Bruce