[dpdk-dev] [PATCH v1] examples/l3fwd-power: add telemetry mode support

Pattan, Reshma reshma.pattan at intel.com
Tue May 21 16:53:35 CEST 2019



> -----Original Message-----
> From: Burakov, Anatoly
> Sent: Monday, May 20, 2019 2:17 PM
> To: Pattan, Reshma <reshma.pattan at intel.com>; dev at dpdk.org
> Cc: Hunt, David <david.hunt at intel.com>; Ma, Liang J <liang.j.ma at intel.com>
> Subject: Re: [PATCH v1] examples/l3fwd-power: add telemetry mode support
> 

<snip>

> > ---
> 
> <snip>
> 
> > +			poll_count = 0;
> > +			prev_tel_tsc = cur_tsc;
> > +			/* update stats for telemetry */
> > +			rte_spinlock_lock(&stats[lcore_id].telemetry_lock);
> > +			stats[lcore_id].ep_nep[0] = ep_nep[0];
> > +			stats[lcore_id].ep_nep[1] = ep_nep[1];
> > +			stats[lcore_id].fp_nfp[0] = fp_nfp[0];
> > +			stats[lcore_id].fp_nfp[1] = fp_nfp[1];
> > +			stats[lcore_id].br = br;
> > +			rte_spinlock_unlock(&stats[lcore_id].telemetry_lock);
> 
> Locking here seems relatively rare (per-lcore and once every N polls), but any
> locking on a hotpath makes me nervous. What is the current performance
> impact of this? Should we bother improving?

The performance impact is negligible, in thousands.

> >
> >   			if (!strncmp(lgopts[option_index].name,
> > @@ -1869,6 +2068,52 @@ init_power_library(void)
> >   	return ret;
> >   }
> >   static void
> > +update_telemetry(__attribute__((unused)) struct rte_timer *tim,
> > +		__attribute__((unused)) void *arg)
> > +{
> 
> I would question the need to put telemetry on a high precision 10ms timer. Is
> there any reason why we cannot gather telemetry, say, once every 100ms, and
> why we cannot do so from interrupt thread using alarm API? Using high-
> precision timer API here seems like an overkill.

The l3-power uses the timers , so followed the same. But I am ok
to use ALARM api.

Thanks,
Reshma


More information about the dev mailing list