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 31222A0542; Mon, 29 Aug 2022 13:22:41 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id BD2B84069D; Mon, 29 Aug 2022 13:22:40 +0200 (CEST) Received: from smartserver.smartsharesystems.com (smartserver.smartsharesystems.com [77.243.40.215]) by mails.dpdk.org (Postfix) with ESMTP id 999854003C for ; Mon, 29 Aug 2022 13:22:39 +0200 (CEST) Content-class: urn:content-classes:message Subject: RE: [PATCH v3 1/3] eal: add lcore poll busyness telemetry MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Date: Mon, 29 Aug 2022 13:22:37 +0200 X-MimeOLE: Produced By Microsoft Exchange V6.5 Message-ID: <98CBD80474FA8B44BF855DF32C47DC35D872CA@smartserver.smartshare.dk> In-Reply-To: X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [PATCH v3 1/3] eal: add lcore poll busyness telemetry Thread-Index: Adi7k+g7r6Fk3HSZQemMbOa5iXN3nQAA4IRg References: <24c49429394294cfbf0d9c506b205029bac77c8b.1657890378.git.anatoly.burakov@intel.com> <20220825152852.1231849-1-kevin.laatz@intel.com> <20220825152852.1231849-2-kevin.laatz@intel.com> <98CBD80474FA8B44BF855DF32C47DC35D872B4@smartserver.smartshare.dk> <1fde7c20-256d-2df1-b503-beef1723d8fb@intel.com> <98CBD80474FA8B44BF855DF32C47DC35D872C4@smartserver.smartshare.dk> From: =?iso-8859-1?Q?Morten_Br=F8rup?= To: "Bruce Richardson" Cc: "Kevin Laatz" , "Jerin Jacob" , "Anatoly Burakov" , "dpdk-dev" , "Conor Walsh" , "David Hunt" , "Nicolas Chautru" , "Fan Zhang" , "Ashish Gupta" , "Akhil Goyal" , "Chengwen Feng" , "Ray Kinsella" , "Thomas Monjalon" , "Ferruh Yigit" , "Andrew Rybchenko" , "Jerin Jacob" , "Sachin Saxena" , "Hemant Agrawal" , "Ori Kam" , "Honnappa Nagarahalli" , "Konstantin Ananyev" 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 > From: Bruce Richardson [mailto:bruce.richardson@intel.com] > Sent: Monday, 29 August 2022 12.41 >=20 > On Fri, Aug 26, 2022 at 05:46:48PM +0200, Morten Br=F8rup wrote: > > > > Also, there's a new discussion about EAL bloat [1]. Perhaps I'm > stretching it here, but it would be nice if your library was made a > separate library, instead of part of the EAL library. (Since this kind > of feature is not new to the EAL, I will categorize this suggestion as > "nice to have", not "must have".) > > > > [1] http://inbox.dpdk.org/dev/2594603.Isy0gbHreE@thomas/T/ > > >=20 > I was actually discussing this with Kevin and Dave H. on Friay, and > trying > to make this a separate library is indeed a big stretch. :-) >=20 > From that discussion, the key point/gap is that we are really missing = a > clean way of providing undefs or macro fallbacks for when a library is > just > not present. For example, if this was a separate library we would gain > a > number of advantages e.g. no need for separate enable/disable flag, = but > the > big disadvantage is that every header include for it, and every > reference > to the macros used in that header need to be surrounded by big ugly > ifdefs. I agree that we don't want everything surrounded by big ugly ifdefs. I think solving this should be the responsibility of a library itself, = not of the application or other libraries. E.g. like the mbuf library's use of RTE_LIBRTE_MBUF_DEBUG. Additionally, a no-op variant of the library could be required, to be = compiled in when the library is disabled at build time. >=20 > For now, adding this into EAL is the far more practical approach, = since > it > means that even if support for the feature is disabled at build time > the > header is still available to provide the appropriate no-op macros. I think you already discovered the key to solving this problem, but = perhaps didn't even notice it yourselves: It must be possible to omit the *feature* at build time - not = necessarily the *library*.