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.