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 558FC42D0B; Wed, 21 Jun 2023 12:49:42 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id DC7314068E; Wed, 21 Jun 2023 12:49:41 +0200 (CEST) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mails.dpdk.org (Postfix) with ESMTP id 9CD054003C for ; Wed, 21 Jun 2023 12:49:39 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1687344579; x=1718880579; h=date:from:to:cc:subject:message-id:references: content-transfer-encoding:in-reply-to:mime-version; bh=ecJpBjZG5irs3XgAhps9p/dtsgVRFX6Cls1IhTyteek=; b=lA15AN4Q5nsEwHxVs0rJd8QXWgj6IG7emke966EGbSZVWUXX5UCLxKfh tUcyTUERvZTIRnw/5i6pASe2pdUxwHZunEUBmJIeReUhvdKNUtgNfIfc5 zp2duZVzkvBQypRahKxTfyAH8gJDrjVDnxcm6pfQm191lIGGRPaJc7TR0 Rtd11u1iqXvFjkv41prvhVL4y8d+Qae7hiqHRSX9TaxTHZo/Hd2SotmXD v6z0LP0R1nU3dyvFYUPMmpYg9+sfigfcu/iSvvUwKGH1uDC03rCZAKWas qSqqUE7xzbyWiW6cLtpYIfwNbBQrzautHs7iXKKZvI55vCNqVyMAmoeq8 A==; X-IronPort-AV: E=McAfee;i="6600,9927,10747"; a="446513988" X-IronPort-AV: E=Sophos;i="6.00,260,1681196400"; d="scan'208";a="446513988" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Jun 2023 03:49:37 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10747"; a="664614194" X-IronPort-AV: E=Sophos;i="6.00,260,1681196400"; d="scan'208";a="664614194" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by orsmga003.jf.intel.com with ESMTP; 21 Jun 2023 03:49:37 -0700 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Wed, 21 Jun 2023 03:49:36 -0700 Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Wed, 21 Jun 2023 03:49:35 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23 via Frontend Transport; Wed, 21 Jun 2023 03:49:35 -0700 Received: from NAM02-SN1-obe.outbound.protection.outlook.com (104.47.57.49) 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.23; Wed, 21 Jun 2023 03:49:21 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GakZnzhZTiYHANPo+WYkpyAczIaBG8di137UQq/8bdl5yPzXbDmZ/IM4BeeXQ/c5XC0vAvB8iURq9L1RfPIFsv/bozjcWRhK5H3DFXPNMzvTNux7ZF9igbdYFUco/kb+qAK3N5xTKNWs+vVBTFWyGHvqFd0U31Vs2O9UPTCaMwq1b8/ch5zO85ioffgD7Yta65dmK6w6lkAH/cCFBuG8PTIzj2FrNAybAVFsZOr1V9A+AqxFs+7D9wWTsEFSFTllDZM60nyIp4FyqsTV6cz+6TKVai2JFaEjzon4BtVxo0lk2bVvjdNrwL4/7CrBQ/xb/12lsw1IFlMXw94URdOobA== 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=tDUJzmc/BQDZwxPoU9PbRbl/cJGkA3ymUxrUyTa+4T0=; b=QsYBMLPDz6ldWMTisRUgHZgBXUu1Ese2ObGa08fI6DDjDyp9MqWIBGEpOMdY1sADa6oPPbPPVa8ljdE8foGeXZqNxWt6Ip58imwrGHH+Z2ZBA//epPRxbwB93YcetJ9VpiF+h1DJBcY+tm2NoKjjRcQKXZ49JUYa8K9lJj8qleRnMMcShl/T4C/WQ4ot1Jzc0mU86TForTZN2Lqg6aXyTYcuIjql2hCLtuFa41GPr+RDW/jzyrWxIA8E7QBWejz2iDtH2kBTbIhKm4M2lIr0u0ZosnCgx6c9vIcZsOICahaNspYxNiqaZX/koAnRHYACDlVdP6Di95mpMJiOlszzxg== 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 PH0PR11MB7445.namprd11.prod.outlook.com (2603:10b6:510:26e::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6521.21; Wed, 21 Jun 2023 10:49:19 +0000 Received: from DS0PR11MB7309.namprd11.prod.outlook.com ([fe80::b8f3:958:d2c5:2232]) by DS0PR11MB7309.namprd11.prod.outlook.com ([fe80::b8f3:958:d2c5:2232%3]) with mapi id 15.20.6500.036; Wed, 21 Jun 2023 10:49:19 +0000 Date: Wed, 21 Jun 2023 11:49:13 +0100 From: Bruce Richardson To: David Marchand CC: Juraj =?utf-8?Q?Linke=C5=A1?= , "Thomas Monjalon" , , Subject: Re: [PATCH v3] build: select optional libraries Message-ID: References: <20211117112847.7362-6-david.marchand@redhat.com> <23115010.6Emhk5qWAg@thomas> Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-ClientProxiedBy: DB9PR02CA0009.eurprd02.prod.outlook.com (2603:10a6:10:1d9::14) To DS0PR11MB7309.namprd11.prod.outlook.com (2603:10b6:8:13e::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS0PR11MB7309:EE_|PH0PR11MB7445:EE_ X-MS-Office365-Filtering-Correlation-Id: 1028ba97-c69f-4cfa-74af-08db72452a48 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 49O7gDRcVxMQeDIM3tVjkKlPhcHq033CqPADAizFzHF7RzX61+ipze6Fp0POPjvFcXQ4hF0bZ8oKNwBRkjsTltzaWYSK1ji7ps+jKs9XwwXsMs7kyXB0BrHXdn3RyNVra1KdVDEkGnoxkTjvcEw/wTe4KJirxozCtcM6R68K5MMWj97hOlOYgEuPI9xKrk1266W2l9B3BIqCg3Cwg/PyACuyy71FYeahZXz+f8bKfXi9FMjdqoBwTTdP81/UgxUpYtjYbteN8M9eR38Jt/Tx/pyGszvjjAO1Y0bYNGFn/2oGKMLqgfHpI94CNLBu94QWSLLBUB11RouoL5QA5zskMLg2cp0jdtdToF/5IGyXJorce5ZQSpocuOw2AsaoOBBN3dRIwSWCClI6EynL/Y/UMDNa+Kl9ECyIXwZZaJomhigvJgt+DGfBK4ETDFfiWG1dIiXKtLtB3T/6I8IbzZmJWtMSDRFYTM6EiaxnxrmWG9xIlIf9PI0yIIdMmCHSAEo2ofUJMY/Eoc6REtaUAep79OV6w2cSghrYXjR5w/KkrvvS5vgGjrYgPw13b+C7c+C0 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:(13230028)(366004)(376002)(39860400002)(396003)(346002)(136003)(451199021)(8676002)(5660300002)(8936002)(44832011)(66556008)(4326008)(6916009)(66946007)(66476007)(316002)(54906003)(2906002)(41300700001)(6486002)(478600001)(6666004)(6506007)(26005)(53546011)(6512007)(186003)(83380400001)(82960400001)(38100700002)(86362001); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?SHZLeUc3VUFiUWRjazg1cGdxRXFNenBLYTFMVUIxTTFxSVpqTHBtS0EyRGpW?= =?utf-8?B?Nyt1UTBQM3l6V0xoRFE2UjhUaWtYejVZZjhUWVlESEVzdU80dC9mek01QWIx?= =?utf-8?B?eWtTTkhhVzVEcmRSWkU1cWtWYitJc2tNN0VDVHRRTGhtMnlUclZCT1laY1BH?= =?utf-8?B?ZHVjZ2hOZXd3WE5OL3g3OGVFWTE0bHZoZElPU0hIUk5CaEt3bVA2SEovQjVY?= =?utf-8?B?Z3pGMXlLaHhRYW1Hb2wyRnlmZzN3Y0VMdW9ONm9wVDg2VHRxUktpSDAvNzZt?= =?utf-8?B?YkNmWkZISTMxbklzNTQ5TWF0WHhMZmNZUEhDSDQ0cjYzQ3FpZDA1L0dwRkQ3?= =?utf-8?B?b1lXWm1iU3JieEtPL2FKc2h6bUlUbVlMdnVXSzhoTEdRWktsOXRGYzhqWjF2?= =?utf-8?B?dGlXT21uQ01DUHd3c0lSbUpRZ08ycmNGb0RTMWVRY2lZWjNEbkJxSm5GMmVX?= =?utf-8?B?U00vL2RDU21WWVFzdG02ZkNnWlFWQlRKR0RpSk1ZUC9wazU0Z0JZeC9UOTlE?= =?utf-8?B?T3lNc2FNZmorK0psVkEwMGhheFpxQTVhUUhNckhIeGU3NWFzZ3RJZk1wM25N?= =?utf-8?B?R1RVc3o2MDdpa3dOanczbkp0cm1yRUYrUGN1YmV2YlVXaHVvbkc2aUtTWEFh?= =?utf-8?B?WGU3UHQ2STRJWDZxdUxtSnAvM0Uvd3U0SDZ6V2s2cGNzYWcvZ0hiUU10TDJN?= =?utf-8?B?aDRybkdCd2UzT2RSNGxGLys5ZjlYVVFMTm0xMEZiL09DakJNZ2E4NlRVdEZE?= =?utf-8?B?WlFNS3hVRXRZbTROcmlEMXMvOG9JRTdzbnBoaFRkblEwSDBaZkdFRUNlN3Mz?= =?utf-8?B?eGVkZC83Tm1sQU1XNy9rS2dYZVVGcWs4RXJCMEZPa2lVS0t5dnFIY1FRalhl?= =?utf-8?B?NTZ5YmswN1hmVDlRc0RhemFxSCs1bkd1UjVwNi9CKzRFWHIwMUVDWVlId2t4?= =?utf-8?B?VDJBRHYvQzdUL1VTclhDSUJNcU9Pc1I2ckQ3eU9VZzhiUURIRS9YQjRzSHc2?= =?utf-8?B?ekd6WWcvY1dhcUFqa2g2WVcyZndWZmlBZzdIcW5XQmRZOC9wT1Y5bDV6V0dS?= =?utf-8?B?WnJMVmdBZ0dYTEFZYVAyUXQ3N1hlV1VDV2tBSnE4RmY4a1NiZVQ1WU01MHV5?= =?utf-8?B?SUEvVU9NbmtwM2FsMzcrbyt2eXlUdkNpd0RXcEFldGRVQmdyMHQydHdqSFFL?= =?utf-8?B?T1ErdEdaMDBzRmdTdzdmQ1JaUUdXWlpYY1BkNlNNZUYvRnNkNkd6dk9uMEYz?= =?utf-8?B?QW1sNVplUnlVZURjdlZWbUtpK0pkSHM1dUUwVjRIdEZLY0c3QTMyV1RLbzND?= =?utf-8?B?dCtSMnVWQS9UWmJ2TXJSL2pyMGcxWGZSWkNTZEFpYzNYYWlwVDU3aktBTzh0?= =?utf-8?B?RXgyTExrWnBMVTJZTFd5STVOSGUxdUp6cVZ0UVVBVllMdEN2Q2FWeG4yRmVI?= =?utf-8?B?OW5MUmN6UTFGRStWZmFmWmx4d2hoc2hOL2hzdzBIb2RsaHNWSmU4elhRaDdo?= =?utf-8?B?M2ZDWFhOUXRXRk5ZcExyK1VLaFNtR1d6ZWpkdytEcjVManB1SCtGaGtDOCsv?= =?utf-8?B?WWw0dkFpOU1lRU9nT1lGcGZub1VFSi9CZHJWUmhmdEtxWDlHYUtQdGVyTTdD?= =?utf-8?B?TmlhSDBhV09nbmRCdmI0c245Y1ZmMHhoeVFjTjVOSzlBQUFRTEVnUllrTDJF?= =?utf-8?B?eWVtcFR4M3l3bllnQzBjU3hXOGJFTVpmcUxJL3JmQzFQUVhzT1cxNGVDclZw?= =?utf-8?B?TGZERTZyTG8zQ3FwSVk5Ymg4Wjl3TkEzTFFKWmQvS2ZKMzZTak9xUVBwT3ZO?= =?utf-8?B?T3hja0hrVmkveVE0MHBkUUJSOWZWY1VmVmR2Z0dJb01PNHRzcjZ3eXVKYy9N?= =?utf-8?B?UTNaUzd4cE42TWVtajJmRitEUHF3ZFNrNWhpcXVTeEphdkZYNFFmUTBHd2FN?= =?utf-8?B?L0VyZXlHd0kzWjYwNStJeGpESzU0MXZ2dHg1bEJoenk3V3lEOWphbzJaVzFV?= =?utf-8?B?SkNBU0JuWi9OV28rZUNHbFpZNjJYQ2phaXkwOWhIT2gzU1pjN1BBT1RucFlJ?= =?utf-8?B?YlJmdFFlR0RXSjJ2TEZzU25aTGpZREJ6K3VrUDZLOXdaZU1jMmg5ekFDZXZ3?= =?utf-8?B?c2lIRHAxVHBqOHV6VUxTa05XNmxRM1h5RzZ6QnpLM1ZSdXRwRHN5R3NIYlpQ?= =?utf-8?B?YUE9PQ==?= X-MS-Exchange-CrossTenant-Network-Message-Id: 1028ba97-c69f-4cfa-74af-08db72452a48 X-MS-Exchange-CrossTenant-AuthSource: DS0PR11MB7309.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Jun 2023 10:49:19.3091 (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: ZIpgHCjW2zNzfmFdKjID26FcipsDObg2AudcbdfBfHhZdsljHe1f6Q+7JX6mLU5H3+HmeyH15a+zeQ34JXPvodjkFtN9qKM/SgKBdwgQN0g= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB7445 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 Wed, Jun 21, 2023 at 11:54:31AM +0200, David Marchand wrote: > On Tue, Jun 20, 2023 at 5:05 PM Bruce Richardson > wrote: > > > > On Tue, Jun 20, 2023 at 04:33:15PM +0200, Thomas Monjalon wrote: > > > 20/06/2023 11:03, Bruce Richardson: > > > > On Tue, Jun 20, 2023 at 10:48:50AM +0200, David Marchand wrote: > > > > > On Tue, Jun 20, 2023 at 10:45 AM Bruce Richardson > > > > > wrote: > > > > > > > > > > I notice the change in behaviour for enabling the deprecated libs. Is there > > > > > > > > > > any other change in behaviour for current users? > > > > > > > > > > > > > > > > > > The only change I see, is that this implementation breaks enabling > > > > > > > > > deprecated libs via disable_libs. > > > > > > > > > It may break existing developer build directory and maybe some > > > > > > > > > packaging scripts, this is why I am a bit puzzled. > > > > > > > > > > > > > > > > > > Relooking at the disable_libs option current implementation, it seems > > > > > > > > > backward to pass a disable_libs option when you want to build some > > > > > > > > > deprecated library. > > > > > > > > > It is more straightforward to request building libraries via > > > > > > > > > -Denable_libs= explicitly or -Denable_libs=* > > > > > > > > > implicitly. > > > > > > > > > > > > > > > > > > But again, we may be breaking something for people who relied on this behavior. > > > > > > > > > > > > > > > > > > > > > > > > > That's what I expected, and I think that is ok. I just wanted to check that > > > > > > > > the change in behaviour was only for the deprecated libs case. > > > > > > > > > > > > > > Thomas, wdyt? > > > > > > > It requires some release note, at least. > > > > > > > > > > > > > I am assuming this is not targetting this release though, right? Assuming > > > > > > 23.11, we can put in a deprecation note informing of the change ahead of > > > > > > time too. > > > > > > > > > > I was hoping to get it in this release. > > > > > But I am fine with postponing and announcing the change beforehand. > > > > > > > > > Given the fact that we are likely changing behaviour, and the fact that the > > > > deprecated libs makes it more complicated than the drivers one (since we > > > > have always on, default on and default off cases to consider), I think it's > > > > best we don't rush this. > > > > > > I'm not sure what is the best behaviour. > > > I tend to think such options should be simple to understand > > > with only 3 cases: > > > - no option -> default > > > - enable option -> only core mandatory and listed libraries > > > - disable option -> all but the listed libraries > > > It looks simpler to forbid having both enable and disable libraries. > > > > > > Would you be open to change the behaviour of the drivers options? > > > > > > > [reducing CC list a bit] > > > > As a further follow-up, I really think we need to move slowly and more > > carefully on this. While I can see the simplicity in disallowing the two > > options to be specified, depending on how we go about choosing the > > enabling of the deprecated libs, we may want to keep support for allowing > > both. > > I agree, we need more time on this topic, sorry for being pushy earlier :-). > No problem at all. I too was keen to get this done, but what initially we thought was simple turns out (as usual!) to have hidden complexity. :-) > > > > > Specifically, my current concern/thinking is: > > * David points out that using the "disabled_libs" options may not make the > > most logic sense for *enabling* deprecated libs. > > * While that is true, I think the usability of enabling them via > > "enabled_libs" could be pretty terrible - unless we start adding more > > complications. Specifically, if someone wants to just enable KNI in the > > build using "enable_libs", specifying "-Denable_libs=kni" will not do > > what they want - sure it will enable kni, but will disable dozens of > > other parts of DPDK. > > * Therefore, I think keeping the disabling of deprecated parts of DPDK via > > disabled_libs is easier on users - though agreed it is slightly less > > logical. However, if we forbid using enabled and disabled options > > together, that would mean that to switch to enabled libs style, the user > > has to set both enabled libs, *and* clear the default disabled libs option > > of the deprecated ones. > > * Therefore, right now I'm tending more towards something like the status > > quo - disabling deprecated via disable option, but allowing both enable > > and disable options together. This hasn't caused us issues with drivers > > thus far, so I'd be hopeful for using it for libs. > > Mixing enable/disable_drivers has been possible since the introduction > of enable_drivers. > Looking at the code, it is unclear the intention was to make them exclusive. > Is there no usecase for using both options in some soc configuration? If we can solve the deprecated libs management separately, having them exclusive may well make sense. Since we can wildcard, I think the cases where we need both simultaneously should be few. > Juraj, do you have an opinion? > > > > > > The other alternative, is we come up with: > > * another scheme for managing deprecated libs > > * a special keyword for enabled libs to cover the default case, that one > > can use to add on the deprecated libs, without having to call out each > > and every other optional library. > > I think a separate option to control deprecated libraries would be better. > This option would control whether the deprecation libs are part of the > optional libraries list. > The optional libraries list would then be evaluated according to > enable/disable_libs. > > I'll try this to see how it behaves. > Ok, let's see how that goes. It does likely mean another build config flag though, which I was hoping to avoid, but if it simplifies everything else it may be worth it. /Bruce