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 70E0B45748; Tue, 6 Aug 2024 10:36:12 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 61ABD40DCB; Tue, 6 Aug 2024 10:36:12 +0200 (CEST) Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.10]) by mails.dpdk.org (Postfix) with ESMTP id A2C75402CF for ; Tue, 6 Aug 2024 10:36:09 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1722933370; x=1754469370; h=date:from:to:cc:subject:message-id:references: in-reply-to:mime-version; bh=Pe0OOw8kFBWsTjm17fUgs8wLSYN6VWmA/Zcugd2L9tA=; b=T04txNjOtNP8U9jz23LwqbCW5q3cSmjQk27h/7KE2LM0f3KEG6lQZ4wB qwyajT8mw3xCP6qNs6NSPJ0apHhO7AnGgxL7XkS0o4qwjStlJ0ypGnNoz naoIBUc7VDzVYy2AyufV9SPD9YXhyz2FczpfuT3OdTDho8NtuzST+RwIF 3IQ6rd0wyZhqHiBQbTbsou16ZmysKxjzA9lCkW/yb9yscqiW1y3qBC9uu B/XMsxliTtw4UGrjQmF67YjaPLTUlia3AHme9VKnCdahDkGhlw/CkU3up iBN+YhYCRZqI5oURZmFRnKXcdXlTTP6YHUQ/jHPWFvvJ60opK5h3UkKqz A==; X-CSE-ConnectionGUID: Eg8xr2riRdCXu8mXvnZEdQ== X-CSE-MsgGUID: BjoVrtRlQjO5GMIqJOnnMw== X-IronPort-AV: E=McAfee;i="6700,10204,11155"; a="32339389" X-IronPort-AV: E=Sophos;i="6.09,267,1716274800"; d="scan'208";a="32339389" Received: from fmviesa010.fm.intel.com ([10.60.135.150]) by fmvoesa104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Aug 2024 01:36:09 -0700 X-CSE-ConnectionGUID: rbaUOd0VQmGv6TizanuXpw== X-CSE-MsgGUID: zmEzqstaS1ydoh+pR0pF8Q== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.09,267,1716274800"; d="scan'208";a="56531688" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by fmviesa010.fm.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 06 Aug 2024 01:36:08 -0700 Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 6 Aug 2024 01:36:08 -0700 Received: from orsmsx601.amr.corp.intel.com (10.22.229.14) by ORSMSX612.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 6 Aug 2024 01:36:07 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39 via Frontend Transport; Tue, 6 Aug 2024 01:36:07 -0700 Received: from NAM04-BN8-obe.outbound.protection.outlook.com (104.47.74.46) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.39; Tue, 6 Aug 2024 01:36:07 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=gGWgWazFIuROUnq2jXGGoV+oU1RSmeGzepvCFQDbA6fnJE2BkLW8TKnx8Bwi7m5nv7z9iOGBZA6B2mPZp0OO4+KGl3B7QahCOqAFpzwv3Xc/NZflGO4bsgctEMJCNGW2iGNKKKkWN7ZImsPEkOT7Zp48qO5Fha5Oxw80tbcgy+6JAKXZsW5z76C9GQAo8MmZlwLOadv3XVoMXz75WXTSwjHgrxbzkjijGMvYZfEeBnHraVHCbjDT1Z5vyws2wHKqH9dAemuebL5/Sf4WEJigIM1l4KIzeeWsZrWmMskpsyDFbd5LPpGMz5amRBzfuvGeGASOXNBkShBegTp54uT34g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=OzU6L7GPMR0crt+1bKYE1VR5E/TJ6uVS/zBYBrCgOTk=; b=oAmYeKpS2NGhQ2UpNIjvYZc+eMfYEDYBHro4FJJQA2kx0oEbxWCsEkdpigdzwq+OgBfxcl202yJdStMlJ9F+dCvzWfSDPl84zK/cCkmxU2EcZKAi1CrDj0bcs9GXvQEOyaDPAiOJH7aWAdHnXWRgtWKXf9lq43X2yr7Gbk4cicBDb4iJydgnHOHsfMD0BN3rq8mumIAdcQOMnsCeGbvget2G0buLrmKSbC0WwgMRjdjR3vyStqVdXV5e/HggiWYcQsaIULSd0QkxEJ6tVhioBieANodJtdRf04OfiB+9kBU+SOhFT5weaT1K38YiseALNgs/LKjXnBT9+A/li+O6dA== 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 PH7PR11MB6906.namprd11.prod.outlook.com (2603:10b6:510:202::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7784.34; Tue, 6 Aug 2024 08:36:04 +0000 Received: from DS0PR11MB7309.namprd11.prod.outlook.com ([fe80::f120:cc1f:d78d:ae9b]) by DS0PR11MB7309.namprd11.prod.outlook.com ([fe80::f120:cc1f:d78d:ae9b%2]) with mapi id 15.20.7828.023; Tue, 6 Aug 2024 08:36:03 +0000 Date: Tue, 6 Aug 2024 09:35:58 +0100 From: Bruce Richardson To: Ferruh Yigit CC: , , Subject: Re: [PATCH v2 0/7] record and rework component dependencies Message-ID: References: <20240730145508.551075-1-bruce.richardson@intel.com> <20240802124411.485430-1-bruce.richardson@intel.com> <8d0a1158-4e0c-4add-960c-832f1b19a5ce@amd.com> Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <8d0a1158-4e0c-4add-960c-832f1b19a5ce@amd.com> X-ClientProxiedBy: DUZPR01CA0118.eurprd01.prod.exchangelabs.com (2603:10a6:10:4bc::29) To DS0PR11MB7309.namprd11.prod.outlook.com (2603:10b6:8:13e::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS0PR11MB7309:EE_|PH7PR11MB6906:EE_ X-MS-Office365-Filtering-Correlation-Id: eadab2fa-cf80-42d2-c593-08dcb5f2cebf X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?O1T5cdkd+efADGvH52Jr/iXqI/kZakQ11iaZup0rp3hhDa8hfbOBf6DZQ7LM?= =?us-ascii?Q?kI4JkSWSrqF65ysTBVGL1zMQY3nzvlbKd6F/FcnPx/+XC4yFV7nwkGhawFY+?= =?us-ascii?Q?PnVBNax65ap/FLrax1aeBnKx7n2rIVntKRVH/lphFG4+g5/bNGJdfVhEy0Rc?= =?us-ascii?Q?oRX99aLRMzeXDDcIwDjpqr4eYR7QHMuh1gyuDbPT13UoeG6rIoPi7T7AkM41?= =?us-ascii?Q?HPaREGkhii6gSr5DgWT3uWwGyw1vrdcFnRTwg+i/75kYfHTztQ4vkWJcA4Ob?= =?us-ascii?Q?usNHFhgEKbnOQUTNULEIc5hRjELP4TDhi3T1b0CxFC600wPSTBJJSAjWiLr6?= =?us-ascii?Q?XuS3AsQgv88ztuMOOue2lltyZbLDMbL/dqfYHpWWTBHNT0UJltQDaTht/dP0?= =?us-ascii?Q?iM7iyi3RQEVj1mo2tc3HkNDmvQ8sj5YoUBn4qA1TbwMEkFaCKfYvD+veu0rZ?= =?us-ascii?Q?xb0JaAx/tKviMo2HXXBqs8E/tIgcoUNjzkfoHGtlOJauGS6vYgvoxxMoRW/X?= =?us-ascii?Q?QPFzHx6OU7+3ndunSijU5b8f/wROhgbYZ0HrpqMkr+a9Djxzfe6l/aV/56UW?= =?us-ascii?Q?XLY/gUjc+En1aq20a79TNIhDmw6n/NwEsu3SJ+mGa97MEOsvgj+oP7x9bmMh?= =?us-ascii?Q?PxSPY67cl4zzsYHAKqKmcXktHtl5ORw6Z5G/DMLRcqLxaoGtl6kbduBLkJ7a?= =?us-ascii?Q?d0hS6yWeKsfAqOpNhTSbI8KrwBgfHeNziTzruCumSYg8jQZAv/KJdALNovYv?= =?us-ascii?Q?IlwFoqlTPhWypFfe9DedGKd6+j7O+Hs+DrZJxoY9wY0Didi3Wn4oAQF0I1Fp?= =?us-ascii?Q?NXqWyqPDAA02gh9vBICOhToRJDkLMrELAUd6tBIeNrzFrcLjPSbLIY//w0qy?= =?us-ascii?Q?MGbAtFgkax7H3q2ZYGmyuVRr3Km07ULkFKerTakT+fw10m/GThpY5lnURX2U?= =?us-ascii?Q?SOpTVw8cvVqVB+9PjQYtp6Ad6gPm5fNVy1OJX7O/rVKv2ctmpT1a2Fwq5V72?= =?us-ascii?Q?GXZfpp4RKlNEbeORmzWg9yWzAvSxbwE+0k/wXBU/QuoU20zC6JCGGH40qPoW?= =?us-ascii?Q?ZolOIP5VbxS+WQaQ49wV6MTg1fb7y/Uq0Uy9fJ2vrCCtQCmPgwMgWvBEVDIV?= =?us-ascii?Q?KPK4yuV+ORWApDt4s24+IoTVrf5wJ1o1U0SCLXYAIwOr1M7Eh903vBzMRxKd?= =?us-ascii?Q?pNzo+AaWu/SH3dD/NDsKkIq+M77hVutJGR0BTnd9mIg1vuVXUazIs5hnUbhc?= =?us-ascii?Q?rxvkR3Big/gFaxz8OfDvM/h2oua9IAUobC7evIyNTDuwbaZyZqxtx3d9eQ8R?= =?us-ascii?Q?Lv6wSZ/h/mzxD/xaXhbP9fLhIe9HEYdsf2pbExZnGq5bSA=3D=3D?= 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:(13230040)(366016)(1800799024)(376014); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?V91VNT82BJpqTWtkZXTh0AUPFcprNVY/fj6wk7AuMA/whY/zAyBuLZxGQKn5?= =?us-ascii?Q?hGDnlWYurfAzO3kGrwMqJjalQCxBq5fIKF+o2qgscbmbZK1ov2DQBGnNE/so?= =?us-ascii?Q?9Kf8d081KZlV83oNIapNp9p/6UQRm5QJmFdf/DpVNQu311pwutn9JZg/Y77/?= =?us-ascii?Q?+cgyx4Oc7kPOXkseoneEyA8du6Yu7v7Wouv+tXQiAXsUEuv6xkV6K7vGPWvI?= =?us-ascii?Q?6x0T7NSQe0+N68Y+P1jZE6BmMtCWrt8nJ5xU0v54psZ6CAXDo9DaWUgn+PaG?= =?us-ascii?Q?3hb2EuOGhKgWOAQJWxgZTtvWtlZJexA5JWy/ekzF9VImDn+6DKHedPftIkPB?= =?us-ascii?Q?CDNRzH0Yt9mBC9uHjkkf8XlK88G5jbIWqp0xdDagWnZav/FF5pGqWaK79EFm?= =?us-ascii?Q?inDltSJWZlKXeKB8cN6ojnd+Bmo9cLRTDW7sheY6jjPBLUumxgg2CdreALRL?= =?us-ascii?Q?6RyVNhfCDZiOErMcBHT6rujyyPMXbX0MbbbwYpu8hNj00Q4eqsDlRfkVSfok?= =?us-ascii?Q?9BZbp4ey3hkm3ND5ta1EbP08ZLJlPWpIBAaAlyK3RmXACZetW1jxBzV3m5kV?= =?us-ascii?Q?bFQZ3IfdbQ3H95lNah6/OcuuuPAsWnURkolH6DJ+NIeYE32PEz7/sH2oPFZD?= =?us-ascii?Q?5u1uNfpXgVyfwyPHdbOjy1bQK7KxuPWA1w8Vh76llN2lvEICCv6Bb4d5OKwH?= =?us-ascii?Q?F1eu4jEXahhRzLaXB7BrB6Uk59D5E+E8SGc+h5G/yWz4nZvj28D2LPwmePI9?= =?us-ascii?Q?EFL7AYqWTRc2XVimFDp0SugYwv17M7iqnbIGP2NVrWMr1Dom07PZ7ulZwHOG?= =?us-ascii?Q?lwRBLJnu0BdCYRPb4b4odIGVvJ+OfNXPk9ONdhhH0junRXneVTvBidUC4Odp?= =?us-ascii?Q?0NPTZPdADcHEYwqaLlEhZeEnjhAzbuThSlrW73RlFaAGWxGaMNPzVGdibjQp?= =?us-ascii?Q?bAih35I1Jv2fWQ/sAZ3l02WmFwRbOQ7j9CT49SkuWB14c7twYCWDAK2aVdpg?= =?us-ascii?Q?CNnjDRmiTwaAaldPzRT+zpf5/vsdMTQqN5s6rKHrnOM1sjqAOtmzXrMAD6lo?= =?us-ascii?Q?Mg2aW0WDDbseaTJBw9fsHDB4Nszaf3ALAdedEG/MqJpn8ec60sW2r5bNHFTS?= =?us-ascii?Q?hAOH7Hu3VXkMV+CuBRPfKy+o98n+FsrUv4b9vgWg6/Vh8WhPuinodPlPII3c?= =?us-ascii?Q?DHt17FHRd02nIGiZ4KsDWo1IhPCNjbkB+F2VHhyVfzsU56aXKQMbjz3ecQcv?= =?us-ascii?Q?ifHJRIH6pT6iJdQ/JX2FYNnhtki6xrYyTV8vbPk4d1HU35MTs4dAiP2NjOG8?= =?us-ascii?Q?hbeICop/RkIb/HH1i0RZzGE+8OwKTnVz4wMvJ+2pHAF5bwNRhmK/V4VwmgWz?= =?us-ascii?Q?Epx+FOtA3ZjGEVHKwTalUbfWV/kbk3iwrWY42Z69KrkzoFozwdgEjwF5YEwD?= =?us-ascii?Q?dKZwD5U4/htAsrgxO4p2NRji2j3cf4bnstyWjhlzd0Gx1bedbf7CUasD0wzH?= =?us-ascii?Q?2stb+iFF7JUy6ar+UmaVWEABp6W4IzEVLBVVdqrSNmSwW64ASjM0Flx8kOVN?= =?us-ascii?Q?SbYy2k1POhHa/kWSBAsG8LogrBW9yOEKzCGOXeq9rEUsBhejSDXDBLYROEh1?= =?us-ascii?Q?kw=3D=3D?= X-MS-Exchange-CrossTenant-Network-Message-Id: eadab2fa-cf80-42d2-c593-08dcb5f2cebf X-MS-Exchange-CrossTenant-AuthSource: DS0PR11MB7309.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Aug 2024 08:36:03.6480 (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: iWIi4mDKNCEHBrosLO/2spNSI4/EZ+8AwSvmghWskv3aXdRmsrTqIY2H/ka2Gx3/n/uiCTlNWDHeW6lJoRjcyohpjXRRmVztAmta5asfdzI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR11MB6906 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, Aug 02, 2024 at 06:18:26PM +0100, Ferruh Yigit wrote: > On 8/2/2024 1:44 PM, Bruce Richardson wrote: > > As part of the meson build, we can record the dependencies for each > > component as we process it, logging them to a file. This file can be > > used as input to a number of other scripts and tools, for example, to > > graph the dependencies, or to allow higher-level build-config tools to > > automatically enable component requirements, etc. > > > > The first patch of this set generates the basic dependency tree. The > > second patch does some processing of that dependency tree to identify > > cases where dependencies are being unnecessarily specified. Reducing > > these makes it easier to have readable dependency graphs in future, > > without affecting the build. > > > > The following 4 patches are based on the output of the second patch, and > > greatly cut down the number of direct dependency links between > > components. Even with the cut-down dependencies, the full dependency > > graph is nigh-unreadable, so the final patch adds a new script to > > generate dependency tree subgraphs, creating dot files for e.g. the > > dependencies of a particular component, or a component class such as > > mempool drivers. > > > > Bruce Richardson (7): > > build: output a dependency log in build directory > > devtools: add script to flag unneeded dependencies > > build: remove kvargs from driver class dependencies > > build: reduce library dependencies > > build: reduce driver dependencies > > build: reduce app dependencies > > devtools: add script to generate DPDK dependency graphs > > > > Tested-by: Ferruh Yigit > > Thanks for the update, output is now easier to consume with the help of > the 'devtools/draw-dependency-graphs.py' script. > A detail but script is not actually drawing graph, but parsing .dot > file, name is a little misleading. > > > Also for the patches that are converting explicit dependency to implicit > dependency, I can see the benefit for the meson and graph. But also > there is a value of keeping explicit dependency, it was an easy way to > document dependencies of component for developers. > So, I am not really sure which one is better. > Up till now we did not keep a fully dependency list for each component because the configuration time with meson completely exploded due to really slow deduplication of dependencies there. I haven't checked with recent versions of meson, though, so the problem may no longer be there now. Right now, we have "partial dependency lists" - neither full list of dependencies of a component, nor a minimal set. These patches don't bring us fully to a minimal set, but bring us closer. I honestly don't think we need to enforce either case - so long as we have all dependencies either explicilty or via recursive dependency, things are fine. /Bruce