[dpdk-dev] [PATCH v2 00/10] introduce telemetry library

Van Haaren, Harry harry.van.haaren at intel.com
Thu Oct 4 15:25:51 CEST 2018


> -----Original Message-----
> From: Van Haaren, Harry
> Sent: Thursday, October 4, 2018 2:00 PM
> To: Laatz, Kevin <kevin.laatz at intel.com>; dev at dpdk.org
> Cc: stephen at networkplumber.org; gaetan.rivet at 6wind.com;
> shreyansh.jain at nxp.com; thomas at monjalon.net; Richardson, Bruce
> <bruce.richardson at intel.com>
> Subject: RE: [PATCH v2 00/10] introduce telemetry library
> 
> > -----Original Message-----
> > From: Laatz, Kevin
> > Sent: Wednesday, October 3, 2018 6:36 PM
> > To: dev at dpdk.org
> > Cc: Van Haaren, Harry <harry.van.haaren at intel.com>;
> > stephen at networkplumber.org; gaetan.rivet at 6wind.com;
> shreyansh.jain at nxp.com;
> > thomas at monjalon.net; Laatz, Kevin <kevin.laatz at intel.com>
> > Subject: [PATCH v2 00/10] introduce telemetry library
> >
> > This patchset introduces a Telemetry library for DPDK Service Assurance.
> > This library provides an easy way to query DPDK Ethdev metrics.
> 
> <snip>
> 
> > Note: We are aware that the --telemetry flag is not working for meson
> > builds, we are working on it for a future patch.  Despite opterr being set
> > to 0, --telemetry said to be 'unrecognized' as a startup print. This is a
> > cosmetic issue and will also be addressed.
> >
> > ---
> > v2:
> >    - Reworked telemetry as part of EAL instead of using vdev (Gaetan)
> >    - Refactored rte_telemetry_command (Gaetan)
> >    - Added MAINTAINERS file entry (Stephen)
> >    - Updated docs to reflect vdev to eal rework
> >    - Removed collectd patch from patchset (Thomas)
> >    - General code clean up from v1 feedback
> 
> 
> Hi Gaetan, Thomas, Stephen and Shreyansh!
> 
> 
> goto TL_DR; // if time is short :)
> 
> 
> In this v2 patchset, we've reworked the Telemetry to no longer use the vdev
> infrastructure, instead having EAL enable it directly. This was requested as
> feedback to the v1 patchset. I'll detail the approach below, and highlight
> some issues we identified while implementing it.
> 
> Currently, EAL does not depend on any "DPDK" libraries (ignore kvargs etc
> for a minute).
> Telemetry is a DPDK library, so it depends on EAL. In order to have EAL
> initialize
> Telemetry, it must depend on it - this causes a circular dependency.
> 
> This patchset resolves that circular dependency by using a "weak" symbol for
> telemetry init, and then the "strong" version of telemetry init will replace
> it when the library is compiled in.

Correction: we attempted this approach - but ended up adding a TAILQ of library
initializers functions to EAL, which was then iterated during rte_eal_init().
This also resolved the circular-dependency, but the same linking issue as
described below still exists.

So - the same question still stands - what is the best solution for 18.11?


> Although this *technically* works, it
> requires
> that applications *LINK* against Telemetry library explicitly - as EAL won't
> pull
> in the Telemetry .so automatically... This means application-level build-
> system
> changes to enable --telemetry on the DPDK EAL command line.
> 
> Given the complexity in enabling EAL to handle the Telemetry init() and its
> dependencies, I'd like to ask you folks for input on how to better solve
> this?
> 
> 
> TL_DR;
> 
> I'll re-suggest the --vdev as an option. It might not be perfect,
> but in my opinion it's a better solution than the v2 solution here...
> 
> Input and suggestions welcome, as you know integration is coming
> close so sooner is better!
> 
> 
> Regards, -Harry


More information about the dev mailing list