On Thu, 11 May 2023 17:01:48 -0400
Arnaud Fiorini <arnaud.fior...@polymtl.ca> wrote:

> On 2023-05-11 4:50 p.m., Stephen Hemminger wrote:
> > On Thu, 11 May 2023 20:16:28 +0000
> > Arnaud Fiorini <arnaud.fior...@polymtl.ca> wrote:
> >  
> >> +The service core library is instrumented with tracepoints using the DPDK 
> >> Trace
> >> +Library. These tracepoints allow you to track the service and logical 
> >> cores
> >> +state. The tracepoints that are on the fast path are compiled out by 
> >> default.
> >> +To activate the fast path tracepoints, it is necessary to add the
> >> +``enable_trace_fp`` option when building DPDK using meson.
> >> +
> >> +To activate tracing when launching a DPDK program it is necessary to use 
> >> the
> >> +``--trace`` option to specify a regular expression to select which 
> >> tracepoints
> >> +to enable. Here is an example if you want to only specify service core 
> >> tracing::
> >> +
> >> +    ./dpdk/examples/service_cores/build/service_cores 
> >> --trace="lib.eal.thread*" --trace="lib.eal.service*"
> >> +  
> > These state changes are not in the hot path. So they should always be 
> > available?  
> 
> Some of the tracepoints (rte_eal_trace_thread_lcore_running, 
> rte_eal_trace_thread_lcore_stopped, rte_eal_trace_service_run_begin) are 
> defined as fast path tracepoints. If these changes do not need to be in 
> the fast path, I can change their definition.
> 

Only inside the loop itself, ie polling is really fast path.
State transitions are not.

Reply via email to