DPDK patches and discussions
 help / color / mirror / Atom feed
From: <jerinj@marvell.com>
Cc: <dev@dpdk.org>, <thomas@monjalon.net>,
	<bruce.richardson@intel.com>, <david.marchand@redhat.com>,
	<mattias.ronnblom@ericsson.com>, <skori@marvell.com>,
	Jerin Jacob <jerinj@marvell.com>
Subject: [dpdk-dev]  [PATCH v3 00/33] DPDK Trace support
Date: Sun, 29 Mar 2020 20:13:09 +0530	[thread overview]
Message-ID: <20200329144342.1543749-1-jerinj@marvell.com> (raw)
In-Reply-To: <20200325211603.240288-1-jerinj@marvell.com>

From: Jerin Jacob <jerinj@marvell.com>


v3:
~~

1) Fix the following build issues reported by CI
http://mails.dpdk.org/archives/test-report/2020-March/122060.html

a) clang + i686 meson build issue(Fixed in the the patch meson: add libatomic as a global dependency for i686 clang)
b) fixed build issue with FreeBSD with top of tree change.
c) fixed missing experimental API for iavf and ice with meson build in avx512 files.

v2:
~~
Addressed the following review comments from Mattias Rönnblom:

1) Changed 

from:
typedef uint64_t* rte_trace_t;
to
typedef uint64_t rte_trace_t;

Initially thought to make the handle as
struct rte_trace {
    uint64_t val;
}

but changed to uint64_t for the following reasons
a) It is opaque to the application and it will fix the compile-time type
check as well.
b) The handle has an index that will point to an internal slow-path
structure so no ABI change required in the future.
c) RTE_TRACE_POINT_DEFINE need to expose trace object. So it is better
to keep as uint64_t and avoid one more indirection for no use.

2)
Changed:
from:
enum rte_trace_mode_e {
to:
enum rte_trace_mode {


3) removed [out] "found" param from rte_trace_pattern() and
rte_trace_regexp()


4) Changed rte_trace_from_name to rte_trace_by_name

5) rte_trace_is_dp_enabled() return bool now


6) in __rte_trace_point_register() the argument fn change to register_fn

7) removed !! from rte_trace_is_enabled()

8) Remove uninitialized "rc warning" from rte_trace_pattern() and
rte_trace_regexp()

9) fixup bool return type for trace_entry_compare()

10) fixup calloc casting in trace_mkdir()

11) check fclose() return in trace_meta_save() and trace_mem_save()

12) rte_trace_ctf_* macro cleanup

13) added release notes

14) fix build issues reported by CI
http://mails.dpdk.org/archives/test-report/2020-March/121235.html


This patch set contains 
~~~~~~~~~~~~~~~~~~~~~~~~

# The native implementation of common trace format(CTF)[1] based tracer
# Public API to create the trace points.
# Add tracepoints to eal, ethdev, mempool, eventdev and cryptodev 
library for tracing support
# A unit test case
# Performance test case to measure the trace overhead. (See eal/trace:
# add trace performance test cases, patch)
# Programmers guide for Trace support(See doc: add trace library guide,
# patch)

# Tested OS:
~~~~~~~~~~~
- Linux
- FreeBSD

# Tested open source CTF trace viewers
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Babeltrace
- Tracecompass

# Trace overhead comparison with LTTng
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

trace overhead data on x86:[2]
# 236 cycles with LTTng(>100ns)
# 18 cycles(7ns) with Native DPDK CTF emitter.(See eal/trace: add trace
# performance test cases patch)

trace overhead data on arm64:
#  312  cycles to  1100 cycles with LTTng based on the class of arm64
#  CPU.
#  11 cycles to 13 cycles with Native DPDK CTF emitter based on the
class of arm64 CPU.

18 cycles(on x86) vs 11 cycles(on arm64) is due to rdtsc() overhead in
x86. It seems  rdtsc takes around 15cycles in x86.


Items that needs to be sort it out 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Makefile and meson.build are updated to allow experimental APIs.

As multiple EXPERIMENTAL symbols, exported by trace library, are
used in various drivers, lib, app and examples. So to fix compilation
warning/error, Makefile and meson.build are updated for all required
components to support EXPERIMENTAL APIs.
It results same code changes at multiple components as well as
increases source code line changes in patchset too.
Suggestions are welcome to resolve this issue with lesser code changes.
	
More details:
~~~~~~~~~~~~~

# The Native DPDK CTF trace support does not have any dependency on
third-party library.
The generated output file is compatible with LTTng as both are using
CTF trace format.

The performance gain comes from:
1) exploit dpdk worker thread usage model to avoid atomics and use per
core variables
2) use hugepage,
3) avoid a lot function pointers in fast-path etc
4) avoid unaligned store for arm64 etc

Features:
~~~~~~~~~
- APIs and Features are similar to rte_log dynamic framework
API(expect log prints on stdout vs it dumps on trace file)
- No specific limit on the events. A string-based event like rte_log
for pattern matching
- Dynamic enable/disable support.
- Instructmention overhead is ~1 cycle. i.e cost of adding the code
wth out using trace feature.
- Timestamp support for all the events using DPDK rte_rtdsc
- No dependency on another library. Clean room native implementation of
  CTF.

Functional test case:
a) echo "trace_autotest" | sudo ./build/app/test/dpdk-test  -c 0x3
--trace-level=8

The above command emits the following trace events
<code>
        uint8_t i;

        rte_trace_lib_eal_generic_void();
        rte_trace_lib_eal_generic_u64(0x10000000000000);
        rte_trace_lib_eal_generic_u32(0x10000000);
        rte_trace_lib_eal_generic_u16(0xffee);
        rte_trace_lib_eal_generic_u8(0xc);
        rte_trace_lib_eal_generic_i64(-1234);
        rte_trace_lib_eal_generic_i32(-1234567);
        rte_trace_lib_eal_generic_i16(12);
        rte_trace_lib_eal_generic_i8(-3);
        rte_trace_lib_eal_generic_string("my string");
        rte_trace_lib_eal_generic_function(__func__);

        for (i = 0; i < 128; i++)
                rte_trace_lib_eal_generic_u8(i);
</code>

Install babeltrace package in Linux and point the generated trace file
to babel trace. By default trace file created under
<user>/dpdk-traces/time_stamp/

example:
# babeltrace /root/dpdk-traces/rte-2020-02-15-PM-02-56-51 | more

[13:27:36.138468807] (+?.?????????) lib.eal.generic.void: { cpu_id =
0, name = "dpdk-test" }, { }
[13:27:36.138468851] (+0.000000044) lib.eal.generic.u64: { cpu_id = 0,
name = "dpdk-test" }, { in = 4503599627370496 }
[13:27:36.138468860] (+0.000000009) lib.eal.generic.u32: { cpu_id = 0,
name = "dpdk-test" }, { in = 268435456 }
[13:27:36.138468934] (+0.000000074) lib.eal.generic.u16: { cpu_id = 0,
name = "dpdk-test" }, { in = 65518 }
[13:27:36.138468949] (+0.000000015) lib.eal.generic.u8: { cpu_id = 0,
name = "dpdk-test" }, { in = 12 }
[13:27:36.138468956] (+0.000000007) lib.eal.generic.i64: { cpu_id = 0,
name = "dpdk-test" }, { in = -1234 }
[13:27:36.138468963] (+0.000000007) lib.eal.generic.i32: { cpu_id = 0,
name = "dpdk-test" }, { in = -1234567 }
[13:27:36.138469024] (+0.000000061) lib.eal.generic.i16: { cpu_id = 0,
name = "dpdk-test" }, { in = 12 }
[13:27:36.138469044] (+0.000000020) lib.eal.generic.i8: { cpu_id = 0,
name = "dpdk-test" }, { in = -3 }
[13:27:36.138469051] (+0.000000007) lib.eal.generic.string: { cpu_id =
0, name = "dpdk-test" }, { str = "my string" }
[13:27:36.138469203] (+0.000000152) lib.eal.generic.func: { cpu_id =
0, name = "dpdk-test" }, { func = "test_trace_points" }
[13:27:36.138469239] (+0.000000036) lib.eal.generic.u8: { cpu_id = 0,
name = "dpdk-test" }, { in = 0 }
[13:27:36.138469246] (+0.000000007) lib.eal.generic.u8: { cpu_id = 0,
name = "dpdk-test" }, { in = 1 }
[13:27:36.138469252] (+0.000000006) lib.eal.generic.u8: { cpu_id = 0,
name = "dpdk-test" }, { in = 2 }
[13:27:36.138469262] (+0.000000010) lib.eal.generic.u8: { cpu_id = 0,
name = "dpdk-test" }, { in = 3 }
[13:27:36.138469269] (+0.000000007) lib.eal.generic.u8: { cpu_id = 0,
name = "dpdk-test" }, { in = 4 }
[13:27:36.138469276] (+0.000000007) lib.eal.generic.u8: { cpu_id = 0,
name = "dpdk-test" }, { in = 5 }

# There is a  GUI based trace viewer available in Windows, Linux and
# Mac.
It is called as tracecompass.(https://www.eclipse.org/tracecompass/)

The example screenshot and Histogram of above DPDK trace using
Tracecompass.

https://github.com/jerinjacobk/share/blob/master/dpdk_trace.JPG



File walk through:
~~~~~~~~~~~~~~~~~~

lib/librte_eal/common/include/rte_trace.h - Public API for Trace
provider and Trace control
lib/librte_eal/common/eal_common_trace.c - main trace implementation
lib/librte_eal/common/eal_common_trace_ctf.c - CTF metadata spec
implementation
lib/librte_eal/common/eal_common_trace_utils.c - command line utils
and filesystem operations.
lib/librte_eal/common/eal_common_trace_points.c -  trace points for EAL
library
lib/librte_eal/common/include/rte_trace_eal.h - EAL tracepoint public
API.
lib/librte_eal/common/eal_trace.h - Private trace header file.


[1] https://diamon.org/ctf/

[2] The above test is ported to LTTng for finding the LTTng trace
overhead. It available at
https://github.com/jerinjacobk/lttng-overhead
https://github.com/jerinjacobk/lttng-overhead/blob/master/README

Jerin Jacob (21):
  eal: introduce API for getting thread name
  eal: define the public API for trace support
  eal/trace: implement trace register API
  eal/trace: implement trace operation APIs
  eal/trace: add internal trace init and fini interface
  eal/trace: get bootup timestamp for trace
  eal/trace: create CTF TDSL metadata in memory
  eal/trace: implement trace memory allocation
  eal/trace: implement debug dump function
  eal/trace: implement trace save
  eal/trace: implement registration payload
  eal/trace: implement provider payload
  eal/trace: hook internal trace APIs to Linux
  eal/trace: hook internal trace APIs to FreeBSD
  eal/trace: add generic tracepoints
  eal/trace: add alarm tracepoints
  eal/trace: add memory tracepoints
  eal/trace: add memzone tracepoints
  eal/trace: add thread tracepoints
  eal/trace: add interrupt tracepoints
  eal/trace: add trace performance test cases

Pavan Nikhilesh (1):
  meson: add libatomic as a global dependency for i686 clang

Sunil Kumar Kori (11):
  eal/trace: handle CTF keyword collision
  eal/trace: add trace level configuration parameter
  eal/trace: add trace dir configuration parameter
  eal/trace: add trace bufsize configuration parameter
  eal/trace: add trace mode configuration parameter
  eal/trace: add unit test cases
  ethdev: add tracepoints
  eventdev: add tracepoints
  cryptodev: add tracepoints
  mempool: add tracepoints
  doc: add trace library guide

 MAINTAINERS                                   |  15 +
 app/pdump/Makefile                            |   1 +
 app/pdump/meson.build                         |   1 +
 app/proc-info/Makefile                        |   1 +
 app/proc-info/meson.build                     |   1 +
 app/test-acl/Makefile                         |   1 +
 app/test-acl/meson.build                      |   1 +
 app/test-cmdline/Makefile                     |   1 +
 app/test-cmdline/meson.build                  |   1 +
 app/test-eventdev/Makefile                    |   1 +
 app/test-eventdev/meson.build                 |   1 +
 app/test-pipeline/Makefile                    |   1 +
 app/test-pipeline/meson.build                 |   1 +
 app/test/Makefile                             |   4 +-
 app/test/meson.build                          |   3 +
 app/test/test_trace.c                         | 618 ++++++++++++++++++
 app/test/test_trace.h                         |  52 ++
 app/test/test_trace_perf.c                    | 179 +++++
 app/test/test_trace_register.c                |  46 ++
 config/common_base                            |   1 +
 config/meson.build                            |  10 +
 config/rte_config.h                           |   1 +
 doc/api/doxy-api-index.md                     |   3 +-
 doc/guides/linux_gsg/eal_args.include.rst     |  55 ++
 doc/guides/prog_guide/index.rst               |   1 +
 doc/guides/prog_guide/trace_lib.rst           | 265 ++++++++
 doc/guides/rel_notes/release_20_05.rst        |   9 +
 drivers/common/cpt/Makefile                   |   1 +
 drivers/crypto/ccp/Makefile                   |   1 +
 drivers/crypto/ccp/meson.build                |   2 +
 drivers/crypto/mvsam/Makefile                 |   1 +
 drivers/crypto/mvsam/meson.build              |   1 +
 drivers/crypto/null/Makefile                  |   1 +
 drivers/crypto/null/meson.build               |   1 +
 drivers/crypto/scheduler/Makefile             |   1 +
 drivers/crypto/scheduler/meson.build          |   1 +
 drivers/crypto/virtio/Makefile                |   1 +
 drivers/crypto/virtio/meson.build             |   1 +
 drivers/event/octeontx/Makefile               |   1 +
 drivers/event/octeontx/meson.build            |   6 +-
 drivers/event/octeontx2/meson.build           |   5 -
 drivers/event/opdl/meson.build                |   5 -
 drivers/event/skeleton/Makefile               |   1 +
 drivers/event/skeleton/meson.build            |   1 +
 drivers/event/sw/Makefile                     |   1 +
 drivers/event/sw/meson.build                  |   1 +
 drivers/mempool/ring/Makefile                 |   1 +
 drivers/mempool/ring/meson.build              |   1 +
 drivers/net/af_packet/Makefile                |   1 +
 drivers/net/af_packet/meson.build             |   1 +
 drivers/net/af_xdp/Makefile                   |   1 +
 drivers/net/af_xdp/meson.build                |   1 +
 drivers/net/ark/Makefile                      |   1 +
 drivers/net/ark/meson.build                   |   1 +
 drivers/net/bnxt/Makefile                     |   1 +
 drivers/net/bnxt/meson.build                  |   1 +
 drivers/net/cxgbe/Makefile                    |   1 +
 drivers/net/cxgbe/meson.build                 |   1 +
 drivers/net/enetc/Makefile                    |   1 +
 drivers/net/enetc/meson.build                 |   1 +
 drivers/net/hinic/Makefile                    |   1 +
 drivers/net/hinic/base/meson.build            |   3 +-
 drivers/net/hinic/meson.build                 |   1 +
 drivers/net/iavf/meson.build                  |   3 +
 drivers/net/ice/meson.build                   |   3 +
 drivers/net/ionic/ionic_dev.c                 |   1 +
 drivers/net/ionic/ionic_mac_api.c             |   1 +
 drivers/net/ionic/ionic_main.c                |   1 +
 drivers/net/kni/Makefile                      |   1 +
 drivers/net/kni/meson.build                   |   1 +
 drivers/net/liquidio/Makefile                 |   1 +
 drivers/net/liquidio/meson.build              |   1 +
 drivers/net/mvneta/Makefile                   |   1 +
 drivers/net/mvneta/meson.build                |   1 +
 drivers/net/mvpp2/Makefile                    |   1 +
 drivers/net/mvpp2/meson.build                 |   1 +
 drivers/net/nfb/Makefile                      |   1 +
 drivers/net/nfb/meson.build                   |   1 +
 drivers/net/null/Makefile                     |   1 +
 drivers/net/null/meson.build                  |   1 +
 drivers/net/octeontx/Makefile                 |   1 +
 drivers/net/octeontx2/Makefile                |   1 +
 drivers/net/octeontx2/meson.build             |   1 +
 drivers/net/pcap/Makefile                     |   1 +
 drivers/net/pcap/meson.build                  |   1 +
 drivers/net/ring/Makefile                     |   1 +
 drivers/net/ring/meson.build                  |   1 +
 drivers/net/szedata2/Makefile                 |   1 +
 drivers/net/szedata2/meson.build              |   1 +
 drivers/net/thunderx/base/meson.build         |   1 +
 drivers/net/vhost/Makefile                    |   1 +
 drivers/net/vhost/meson.build                 |   1 +
 drivers/raw/ioat/Makefile                     |   1 +
 drivers/raw/ioat/meson.build                  |   1 +
 drivers/raw/octeontx2_dma/Makefile            |   1 +
 drivers/raw/octeontx2_dma/meson.build         |   1 +
 drivers/raw/octeontx2_ep/Makefile             |   1 +
 drivers/raw/octeontx2_ep/meson.build          |   1 +
 drivers/raw/skeleton/Makefile                 |   1 +
 drivers/raw/skeleton/meson.build              |   1 +
 examples/cmdline/Makefile                     |   1 +
 examples/cmdline/meson.build                  |   1 +
 examples/distributor/Makefile                 |   1 +
 examples/distributor/meson.build              |   1 +
 examples/ethtool/ethtool-app/Makefile         |   1 +
 examples/eventdev_pipeline/meson.build        |   1 +
 examples/flow_filtering/Makefile              |   1 +
 examples/flow_filtering/meson.build           |   1 +
 examples/helloworld/Makefile                  |   1 +
 examples/helloworld/meson.build               |   1 +
 examples/ioat/Makefile                        |   1 +
 examples/ioat/meson.build                     |   1 +
 examples/ip_fragmentation/Makefile            |   2 +
 examples/ip_fragmentation/meson.build         |   1 +
 examples/ip_reassembly/Makefile               |   1 +
 examples/ip_reassembly/meson.build            |   1 +
 examples/ipv4_multicast/Makefile              |   1 +
 examples/ipv4_multicast/meson.build           |   1 +
 examples/l2fwd-cat/Makefile                   |   1 +
 examples/l2fwd-cat/meson.build                |   1 +
 examples/l2fwd-event/Makefile                 |   1 +
 examples/l2fwd-event/meson.build              |   6 +-
 examples/l2fwd-jobstats/Makefile              |   1 +
 examples/l2fwd-jobstats/meson.build           |   1 +
 examples/l2fwd-keepalive/Makefile             |   1 +
 examples/l2fwd-keepalive/ka-agent/Makefile    |   1 +
 examples/l2fwd-keepalive/meson.build          |   1 +
 examples/l3fwd-acl/Makefile                   |   1 +
 examples/l3fwd-acl/meson.build                |   1 +
 examples/l3fwd/Makefile                       |   1 +
 examples/l3fwd/meson.build                    |   1 +
 examples/link_status_interrupt/Makefile       |   1 +
 examples/link_status_interrupt/meson.build    |   1 +
 .../client_server_mp/mp_client/Makefile       |   1 +
 .../client_server_mp/mp_client/meson.build    |   1 +
 .../client_server_mp/mp_server/meson.build    |   1 +
 examples/multi_process/hotplug_mp/Makefile    |   1 +
 examples/multi_process/hotplug_mp/meson.build |   1 +
 examples/multi_process/simple_mp/Makefile     |   1 +
 examples/multi_process/simple_mp/meson.build  |   1 +
 examples/multi_process/symmetric_mp/Makefile  |   1 +
 .../multi_process/symmetric_mp/meson.build    |   1 +
 examples/ntb/Makefile                         |   1 +
 examples/ntb/meson.build                      |   1 +
 examples/packet_ordering/Makefile             |   1 +
 examples/packet_ordering/meson.build          |   1 +
 .../performance-thread/l3fwd-thread/Makefile  |   1 +
 .../l3fwd-thread/meson.build                  |   1 +
 .../performance-thread/pthread_shim/Makefile  |   1 +
 .../pthread_shim/meson.build                  |   1 +
 examples/ptpclient/Makefile                   |   1 +
 examples/ptpclient/meson.build                |   1 +
 examples/qos_meter/Makefile                   |   1 +
 examples/qos_meter/meson.build                |   1 +
 examples/qos_sched/Makefile                   |   1 +
 examples/qos_sched/meson.build                |   1 +
 examples/server_node_efd/node/Makefile        |   1 +
 examples/server_node_efd/node/meson.build     |   1 +
 examples/server_node_efd/server/Makefile      |   1 +
 examples/server_node_efd/server/meson.build   |   1 +
 examples/service_cores/Makefile               |   1 +
 examples/service_cores/meson.build            |   1 +
 examples/skeleton/Makefile                    |   1 +
 examples/skeleton/meson.build                 |   1 +
 examples/timer/Makefile                       |   1 +
 examples/timer/meson.build                    |   1 +
 examples/vm_power_manager/Makefile            |   1 +
 examples/vm_power_manager/meson.build         |   1 +
 examples/vmdq/Makefile                        |   1 +
 examples/vmdq/meson.build                     |   1 +
 examples/vmdq_dcb/Makefile                    |   1 +
 examples/vmdq_dcb/meson.build                 |   1 +
 lib/librte_bitratestats/Makefile              |   1 +
 lib/librte_bitratestats/meson.build           |   1 +
 lib/librte_cryptodev/Makefile                 |   4 +-
 lib/librte_cryptodev/cryptodev_trace_points.c |  70 ++
 lib/librte_cryptodev/meson.build              |   7 +-
 lib/librte_cryptodev/rte_cryptodev.c          |  18 +
 lib/librte_cryptodev/rte_cryptodev.h          |   6 +
 .../rte_cryptodev_version.map                 |  18 +
 lib/librte_cryptodev/rte_trace_cryptodev.h    | 133 ++++
 lib/librte_cryptodev/rte_trace_cryptodev_fp.h |  34 +
 lib/librte_distributor/Makefile               |   1 +
 lib/librte_distributor/meson.build            |   6 +-
 lib/librte_eal/common/Makefile                |   1 +
 lib/librte_eal/common/eal_common_log.c        |   9 +-
 lib/librte_eal/common/eal_common_memzone.c    |   9 +
 lib/librte_eal/common/eal_common_options.c    |  68 +-
 lib/librte_eal/common/eal_common_thread.c     |   3 +-
 lib/librte_eal/common/eal_common_trace.c      | 610 +++++++++++++++++
 lib/librte_eal/common/eal_common_trace_ctf.c  | 488 ++++++++++++++
 .../common/eal_common_trace_points.c          | 115 ++++
 .../common/eal_common_trace_utils.c           | 523 +++++++++++++++
 lib/librte_eal/common/eal_options.h           |   8 +
 lib/librte_eal/common/eal_private.h           |  11 +
 lib/librte_eal/common/eal_trace.h             | 122 ++++
 lib/librte_eal/common/include/rte_lcore.h     |  17 +
 lib/librte_eal/common/include/rte_trace.h     | 584 +++++++++++++++++
 lib/librte_eal/common/include/rte_trace_eal.h | 247 +++++++
 .../common/include/rte_trace_provider.h       | 137 ++++
 .../common/include/rte_trace_register.h       |  53 ++
 lib/librte_eal/common/meson.build             |   8 +
 lib/librte_eal/common/rte_malloc.c            |  60 +-
 lib/librte_eal/freebsd/eal/Makefile           |   4 +
 lib/librte_eal/freebsd/eal/eal.c              |  10 +
 lib/librte_eal/freebsd/eal/eal_alarm.c        |   3 +
 lib/librte_eal/freebsd/eal/eal_interrupts.c   |  54 +-
 lib/librte_eal/freebsd/eal/eal_thread.c       |  21 +-
 lib/librte_eal/linux/eal/Makefile             |   4 +
 lib/librte_eal/linux/eal/eal.c                |   9 +
 lib/librte_eal/linux/eal/eal_alarm.c          |   4 +
 lib/librte_eal/linux/eal/eal_interrupts.c     |  84 ++-
 lib/librte_eal/linux/eal/eal_thread.c         |  27 +-
 lib/librte_eal/rte_eal_version.map            |  59 ++
 lib/librte_ethdev/Makefile                    |   3 +
 lib/librte_ethdev/ethdev_trace_points.c       |  43 ++
 lib/librte_ethdev/meson.build                 |   5 +-
 lib/librte_ethdev/rte_ethdev.c                |  12 +
 lib/librte_ethdev/rte_ethdev.h                |   5 +
 lib/librte_ethdev/rte_ethdev_version.map      |  10 +
 lib/librte_ethdev/rte_trace_ethdev.h          |  90 +++
 lib/librte_ethdev/rte_trace_ethdev_fp.h       |  40 ++
 lib/librte_eventdev/Makefile                  |   3 +
 lib/librte_eventdev/eventdev_trace_points.c   | 173 +++++
 lib/librte_eventdev/meson.build               |   3 +
 .../rte_event_crypto_adapter.c                |  10 +
 .../rte_event_eth_rx_adapter.c                |  11 +
 .../rte_event_eth_tx_adapter.c                |  13 +-
 .../rte_event_eth_tx_adapter.h                |   2 +
 lib/librte_eventdev/rte_event_timer_adapter.c |   8 +-
 lib/librte_eventdev/rte_event_timer_adapter.h |   8 +
 lib/librte_eventdev/rte_eventdev.c            |   9 +
 lib/librte_eventdev/rte_eventdev.h            |   5 +-
 lib/librte_eventdev/rte_eventdev_version.map  |  42 ++
 lib/librte_eventdev/rte_trace_eventdev.h      | 278 ++++++++
 lib/librte_eventdev/rte_trace_eventdev_fp.h   |  75 +++
 lib/librte_gro/Makefile                       |   1 +
 lib/librte_gro/meson.build                    |   1 +
 lib/librte_gso/Makefile                       |   1 +
 lib/librte_gso/meson.build                    |   1 +
 lib/librte_ip_frag/Makefile                   |   1 +
 lib/librte_ip_frag/meson.build                |   1 +
 lib/librte_kni/Makefile                       |   1 +
 lib/librte_kni/meson.build                    |   1 +
 lib/librte_latencystats/Makefile              |   1 +
 lib/librte_latencystats/meson.build           |   1 +
 lib/librte_mempool/Makefile                   |   3 +
 lib/librte_mempool/mempool_trace_points.c     | 108 +++
 lib/librte_mempool/meson.build                |   7 +-
 lib/librte_mempool/rte_mempool.c              |  16 +
 lib/librte_mempool/rte_mempool.h              |  13 +
 lib/librte_mempool/rte_mempool_ops.c          |   7 +
 lib/librte_mempool/rte_mempool_version.map    |  26 +
 lib/librte_mempool/rte_trace_mempool.h        | 148 +++++
 lib/librte_mempool/rte_trace_mempool_fp.h     | 102 +++
 lib/librte_port/Makefile                      |   1 +
 lib/librte_port/meson.build                   |   1 +
 lib/librte_rcu/meson.build                    |   5 -
 lib/librte_reorder/Makefile                   |   1 +
 lib/librte_reorder/meson.build                |   1 +
 lib/librte_sched/Makefile                     |   1 +
 lib/librte_sched/meson.build                  |   1 +
 lib/librte_security/Makefile                  |   1 +
 lib/librte_security/meson.build               |   1 +
 lib/librte_table/Makefile                     |   1 +
 lib/librte_table/meson.build                  |   1 +
 266 files changed, 6286 insertions(+), 113 deletions(-)
 create mode 100644 app/test/test_trace.c
 create mode 100644 app/test/test_trace.h
 create mode 100644 app/test/test_trace_perf.c
 create mode 100644 app/test/test_trace_register.c
 create mode 100644 doc/guides/prog_guide/trace_lib.rst
 create mode 100644 lib/librte_cryptodev/cryptodev_trace_points.c
 create mode 100644 lib/librte_cryptodev/rte_trace_cryptodev.h
 create mode 100644 lib/librte_cryptodev/rte_trace_cryptodev_fp.h
 create mode 100644 lib/librte_eal/common/eal_common_trace.c
 create mode 100644 lib/librte_eal/common/eal_common_trace_ctf.c
 create mode 100644 lib/librte_eal/common/eal_common_trace_points.c
 create mode 100644 lib/librte_eal/common/eal_common_trace_utils.c
 create mode 100644 lib/librte_eal/common/eal_trace.h
 create mode 100644 lib/librte_eal/common/include/rte_trace.h
 create mode 100644 lib/librte_eal/common/include/rte_trace_eal.h
 create mode 100644 lib/librte_eal/common/include/rte_trace_provider.h
 create mode 100644 lib/librte_eal/common/include/rte_trace_register.h
 create mode 100644 lib/librte_ethdev/ethdev_trace_points.c
 create mode 100644 lib/librte_ethdev/rte_trace_ethdev.h
 create mode 100644 lib/librte_ethdev/rte_trace_ethdev_fp.h
 create mode 100644 lib/librte_eventdev/eventdev_trace_points.c
 create mode 100644 lib/librte_eventdev/rte_trace_eventdev.h
 create mode 100644 lib/librte_eventdev/rte_trace_eventdev_fp.h
 create mode 100644 lib/librte_mempool/mempool_trace_points.c
 create mode 100644 lib/librte_mempool/rte_trace_mempool.h
 create mode 100644 lib/librte_mempool/rte_trace_mempool_fp.h

-- 
2.25.1


  parent reply	other threads:[~2020-03-29 14:43 UTC|newest]

Thread overview: 321+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-18 19:02 [dpdk-dev] [PATCH v1 00/32] " jerinj
2020-03-18 19:02 ` [dpdk-dev] [PATCH v1 01/32] eal: introduce API for getting thread name jerinj
2020-03-18 19:02 ` [dpdk-dev] [PATCH v1 02/32] eal: define the public API for trace support jerinj
2020-03-18 20:58   ` Mattias Rönnblom
2020-03-23 14:29     ` Jerin Jacob
2020-03-23 14:46       ` Mattias Rönnblom
2020-03-18 19:02 ` [dpdk-dev] [PATCH v1 03/32] eal/trace: implement trace register API jerinj
2020-03-19 10:02   ` Mattias Rönnblom
2020-03-23 13:37     ` Jerin Jacob
2020-03-23 14:43       ` Mattias Rönnblom
2020-03-23 15:08         ` Jerin Jacob
2020-03-23 16:44           ` Mattias Rönnblom
2020-03-23 18:40             ` Jerin Jacob
2020-03-18 19:02 ` [dpdk-dev] [PATCH v1 04/32] eal/trace: implement trace operation APIs jerinj
2020-03-19 10:16   ` Mattias Rönnblom
2020-03-23 12:23     ` Jerin Jacob
2020-03-18 19:02 ` [dpdk-dev] [PATCH v1 05/32] eal/trace: add internal trace init and fini interface jerinj
2020-03-19 10:35   ` Mattias Rönnblom
2020-03-23 12:09     ` Jerin Jacob
2020-03-18 19:02 ` [dpdk-dev] [PATCH v1 06/32] eal/trace: get bootup timestamp for trace jerinj
2020-03-19 10:43   ` Mattias Rönnblom
2020-03-23 11:24     ` Jerin Jacob
2020-03-18 19:02 ` [dpdk-dev] [PATCH v1 07/32] eal/trace: create CTF TDSL metadata in memory jerinj
2020-03-18 19:02 ` [dpdk-dev] [PATCH v1 08/32] eal/trace: handle CTF keyword collision jerinj
2020-03-18 19:02 ` [dpdk-dev] [PATCH v1 09/32] eal/trace: implement trace memory allocation jerinj
2020-03-18 19:02 ` [dpdk-dev] [PATCH v1 10/32] eal/trace: implement debug dump function jerinj
2020-03-23 10:56   ` Morten Brørup
2020-03-23 11:08     ` Jerin Jacob
2020-03-18 19:02 ` [dpdk-dev] [PATCH v1 11/32] eal/trace: implement trace save jerinj
2020-03-19 19:07   ` Mattias Rönnblom
2020-03-23  9:26     ` Jerin Jacob
2020-03-18 19:02 ` [dpdk-dev] [PATCH v1 12/32] eal/trace: implement registration payload jerinj
2020-03-19 19:15   ` Mattias Rönnblom
2020-03-23  9:24     ` Jerin Jacob
2020-03-23 10:18       ` Mattias Rönnblom
2020-03-23 10:50         ` Jerin Jacob
2020-03-18 19:02 ` [dpdk-dev] [PATCH v1 13/32] eal/trace: implement provider payload jerinj
2020-03-19 19:27   ` Mattias Rönnblom
2020-03-23  9:19     ` Jerin Jacob
2020-03-18 19:02 ` [dpdk-dev] [PATCH v1 14/32] eal/trace: hook internal trace APIs to Linux jerinj
2020-03-18 19:02 ` [dpdk-dev] [PATCH v1 15/32] eal/trace: hook internal trace APIs to FreeBSD jerinj
2020-03-18 19:02 ` [dpdk-dev] [PATCH v1 16/32] eal/trace: add generic tracepoints jerinj
2020-03-18 19:02 ` [dpdk-dev] [PATCH v1 17/32] eal/trace: add alarm tracepoints jerinj
2020-03-18 19:02 ` [dpdk-dev] [PATCH v1 18/32] eal/trace: add memory tracepoints jerinj
2020-03-18 19:02 ` [dpdk-dev] [PATCH v1 19/32] eal/trace: add memzone tracepoints jerinj
2020-03-18 19:02 ` [dpdk-dev] [PATCH v1 20/32] eal/trace: add thread tracepoints jerinj
2020-03-18 19:02 ` [dpdk-dev] [PATCH v1 21/32] eal/trace: add interrupt tracepoints jerinj
2020-03-18 19:02 ` [dpdk-dev] [PATCH v1 22/32] eal/trace: add trace level configuration parameter jerinj
2020-03-18 19:02 ` [dpdk-dev] [PATCH v1 23/32] eal/trace: add trace dir " jerinj
2020-03-18 19:02 ` [dpdk-dev] [PATCH v1 24/32] eal/trace: add trace bufsize " jerinj
2020-03-18 19:02 ` [dpdk-dev] [PATCH v1 25/32] eal/trace: add trace mode " jerinj
2020-03-18 19:02 ` [dpdk-dev] [PATCH v1 26/32] eal/trace: add unit test cases jerinj
2020-03-18 19:02 ` [dpdk-dev] [PATCH v1 27/32] eal/trace: add trace performance " jerinj
2020-03-18 19:02 ` [dpdk-dev] [PATCH v1 28/32] ethdev: add tracepoints jerinj
2020-03-18 19:02 ` [dpdk-dev] [PATCH v1 29/32] eventdev: " jerinj
2020-03-18 19:02 ` [dpdk-dev] [PATCH v1 30/32] cryptodev: " jerinj
2020-03-18 19:02 ` [dpdk-dev] [PATCH v1 31/32] mempool: " jerinj
2020-03-18 19:02 ` [dpdk-dev] [PATCH v1 32/32] doc: add trace library guide jerinj
2020-03-25 21:15 ` [dpdk-dev] [PATCH v2 00/32] DPDK Trace support jerinj
2020-03-25 21:15   ` [dpdk-dev] [PATCH v2 01/32] eal: introduce API for getting thread name jerinj
2020-03-25 21:15   ` [dpdk-dev] [PATCH v2 02/32] eal: define the public API for trace support jerinj
2020-03-25 21:15   ` [dpdk-dev] [PATCH v2 03/32] eal/trace: implement trace register API jerinj
2020-03-25 21:15   ` [dpdk-dev] [PATCH v2 04/32] eal/trace: implement trace operation APIs jerinj
2020-03-25 21:15   ` [dpdk-dev] [PATCH v2 05/32] eal/trace: add internal trace init and fini interface jerinj
2020-03-25 21:15   ` [dpdk-dev] [PATCH v2 06/32] eal/trace: get bootup timestamp for trace jerinj
2020-03-25 21:15   ` [dpdk-dev] [PATCH v2 07/32] eal/trace: create CTF TDSL metadata in memory jerinj
2020-03-25 21:15   ` [dpdk-dev] [PATCH v2 08/32] eal/trace: handle CTF keyword collision jerinj
2020-03-25 21:15   ` [dpdk-dev] [PATCH v2 09/32] eal/trace: implement trace memory allocation jerinj
2020-03-25 21:15   ` [dpdk-dev] [PATCH v2 10/32] eal/trace: implement debug dump function jerinj
2020-03-25 21:15   ` [dpdk-dev] [PATCH v2 11/32] eal/trace: implement trace save jerinj
2020-03-25 21:15   ` [dpdk-dev] [PATCH v2 12/32] eal/trace: implement registration payload jerinj
2020-03-25 21:15   ` [dpdk-dev] [PATCH v2 13/32] eal/trace: implement provider payload jerinj
2020-03-25 21:15   ` [dpdk-dev] [PATCH v2 14/32] eal/trace: hook internal trace APIs to Linux jerinj
2020-03-25 21:15   ` [dpdk-dev] [PATCH v2 15/32] eal/trace: hook internal trace APIs to FreeBSD jerinj
2020-03-25 21:15   ` [dpdk-dev] [PATCH v2 16/32] eal/trace: add generic tracepoints jerinj
2020-03-25 21:15   ` [dpdk-dev] [PATCH v2 17/32] eal/trace: add alarm tracepoints jerinj
2020-03-25 21:15   ` [dpdk-dev] [PATCH v2 18/32] eal/trace: add memory tracepoints jerinj
2020-03-25 21:15   ` [dpdk-dev] [PATCH v2 19/32] eal/trace: add memzone tracepoints jerinj
2020-03-25 21:15   ` [dpdk-dev] [PATCH v2 20/32] eal/trace: add thread tracepoints jerinj
2020-03-25 21:15   ` [dpdk-dev] [PATCH v2 21/32] eal/trace: add interrupt tracepoints jerinj
2020-03-25 21:15   ` [dpdk-dev] [PATCH v2 22/32] eal/trace: add trace level configuration parameter jerinj
2020-03-25 21:15   ` [dpdk-dev] [PATCH v2 23/32] eal/trace: add trace dir " jerinj
2020-03-25 21:15   ` [dpdk-dev] [PATCH v2 24/32] eal/trace: add trace bufsize " jerinj
2020-03-25 21:15   ` [dpdk-dev] [PATCH v2 25/32] eal/trace: add trace mode " jerinj
2020-03-25 21:15   ` [dpdk-dev] [PATCH v2 26/32] eal/trace: add unit test cases jerinj
2020-03-25 21:15   ` [dpdk-dev] [PATCH v2 27/32] eal/trace: add trace performance " jerinj
2020-03-25 21:15   ` [dpdk-dev] [PATCH v2 28/32] ethdev: add tracepoints jerinj
2020-03-25 21:15   ` [dpdk-dev] [PATCH v2 29/32] eventdev: " jerinj
2020-03-25 21:16   ` [dpdk-dev] [PATCH v2 30/32] cryptodev: " jerinj
2020-03-25 21:16   ` [dpdk-dev] [PATCH v2 31/32] mempool: " jerinj
2020-03-25 21:16   ` [dpdk-dev] [PATCH v2 32/32] doc: add trace library guide jerinj
2020-03-29 14:43   ` jerinj [this message]
2020-03-29 14:43     ` [dpdk-dev] [PATCH v3 01/33] meson: add libatomic as a global dependency for i686 clang jerinj
2020-03-30 13:17       ` Bruce Richardson
2020-03-31 13:36         ` Pavan Nikhilesh Bhagavatula
2020-03-31 16:21           ` Bruce Richardson
2020-03-29 14:43     ` [dpdk-dev] [PATCH v3 02/33] eal: introduce API for getting thread name jerinj
2020-03-29 14:43     ` [dpdk-dev] [PATCH v3 03/33] eal: define the public API for trace support jerinj
2020-03-29 14:43     ` [dpdk-dev] [PATCH v3 04/33] eal/trace: implement trace register API jerinj
2020-03-29 14:43     ` [dpdk-dev] [PATCH v3 05/33] eal/trace: implement trace operation APIs jerinj
2020-03-29 14:43     ` [dpdk-dev] [PATCH v3 06/33] eal/trace: add internal trace init and fini interface jerinj
2020-03-29 14:43     ` [dpdk-dev] [PATCH v3 07/33] eal/trace: get bootup timestamp for trace jerinj
2020-03-29 14:43     ` [dpdk-dev] [PATCH v3 08/33] eal/trace: create CTF TDSL metadata in memory jerinj
2020-03-29 14:43     ` [dpdk-dev] [PATCH v3 09/33] eal/trace: handle CTF keyword collision jerinj
2020-03-29 14:43     ` [dpdk-dev] [PATCH v3 10/33] eal/trace: implement trace memory allocation jerinj
2020-03-29 14:43     ` [dpdk-dev] [PATCH v3 11/33] eal/trace: implement debug dump function jerinj
2020-03-29 14:43     ` [dpdk-dev] [PATCH v3 12/33] eal/trace: implement trace save jerinj
2020-03-29 14:43     ` [dpdk-dev] [PATCH v3 13/33] eal/trace: implement registration payload jerinj
2020-03-29 14:43     ` [dpdk-dev] [PATCH v3 14/33] eal/trace: implement provider payload jerinj
2020-03-29 14:43     ` [dpdk-dev] [PATCH v3 15/33] eal/trace: hook internal trace APIs to Linux jerinj
2020-03-29 14:43     ` [dpdk-dev] [PATCH v3 16/33] eal/trace: hook internal trace APIs to FreeBSD jerinj
2020-03-29 14:43     ` [dpdk-dev] [PATCH v3 17/33] eal/trace: add generic tracepoints jerinj
2020-03-29 14:43     ` [dpdk-dev] [PATCH v3 18/33] eal/trace: add alarm tracepoints jerinj
2020-03-29 14:43     ` [dpdk-dev] [PATCH v3 19/33] eal/trace: add memory tracepoints jerinj
2020-03-29 14:43     ` [dpdk-dev] [PATCH v3 20/33] eal/trace: add memzone tracepoints jerinj
2020-03-29 14:43     ` [dpdk-dev] [PATCH v3 21/33] eal/trace: add thread tracepoints jerinj
2020-03-29 14:43     ` [dpdk-dev] [PATCH v3 22/33] eal/trace: add interrupt tracepoints jerinj
2020-03-29 14:43     ` [dpdk-dev] [PATCH v3 23/33] eal/trace: add trace level configuration parameter jerinj
2020-03-29 14:43     ` [dpdk-dev] [PATCH v3 24/33] eal/trace: add trace dir " jerinj
2020-03-29 14:43     ` [dpdk-dev] [PATCH v3 25/33] eal/trace: add trace bufsize " jerinj
2020-03-29 14:43     ` [dpdk-dev] [PATCH v3 26/33] eal/trace: add trace mode " jerinj
2020-03-29 14:43     ` [dpdk-dev] [PATCH v3 27/33] eal/trace: add unit test cases jerinj
2020-03-29 14:43     ` [dpdk-dev] [PATCH v3 28/33] eal/trace: add trace performance " jerinj
2020-03-29 14:43     ` [dpdk-dev] [PATCH v3 29/33] ethdev: add tracepoints jerinj
2020-03-29 14:43     ` [dpdk-dev] [PATCH v3 30/33] eventdev: " jerinj
2020-03-29 14:43     ` [dpdk-dev] [PATCH v3 31/33] cryptodev: " jerinj
2020-03-29 14:43     ` [dpdk-dev] [PATCH v3 32/33] mempool: " jerinj
2020-03-29 14:43     ` [dpdk-dev] [PATCH v3 33/33] doc: add trace library guide jerinj
2020-04-01 14:57       ` Thomas Monjalon
2020-04-01 16:53         ` Jerin Jacob
2020-04-01  8:18     ` [dpdk-dev] [PATCH v3 00/33] DPDK Trace support David Marchand
2020-04-01 10:04       ` Jerin Jacob
2020-04-01 14:12         ` David Marchand
2020-04-01 14:16           ` Thomas Monjalon
2020-04-01 16:25           ` Jerin Jacob
2020-04-01 16:46             ` Bruce Richardson
2020-04-01 16:58               ` Jerin Jacob
2020-04-01 17:32             ` David Marchand
2020-04-01 17:52               ` Jerin Jacob
2020-04-01 19:14                 ` Jerin Jacob
2020-04-01 19:43                   ` Thomas Monjalon
2020-04-01 20:00                     ` Jerin Jacob
2020-04-03 15:36     ` [dpdk-dev] [PATCH v4 " jerinj
2020-04-03 15:36       ` [dpdk-dev] [PATCH v4 01/33] meson: add libatomic as a global dependency for i686 clang jerinj
2020-04-03 15:36       ` [dpdk-dev] [PATCH v4 02/33] eal: introduce API for getting thread name jerinj
2020-04-03 15:36       ` [dpdk-dev] [PATCH v4 03/33] eal/trace: define the public API for trace support jerinj
2020-04-03 15:36       ` [dpdk-dev] [PATCH v4 04/33] eal/trace: implement trace register API jerinj
2020-04-03 15:36       ` [dpdk-dev] [PATCH v4 05/33] eal/trace: implement trace operation APIs jerinj
2020-04-03 15:36       ` [dpdk-dev] [PATCH v4 06/33] eal/trace: add internal trace init and fini interface jerinj
2020-04-03 15:36       ` [dpdk-dev] [PATCH v4 07/33] eal/trace: get bootup timestamp for trace jerinj
2020-04-03 15:36       ` [dpdk-dev] [PATCH v4 08/33] eal/trace: create CTF TDSL metadata in memory jerinj
2020-04-03 15:36       ` [dpdk-dev] [PATCH v4 09/33] eal/trace: handle CTF keyword collision jerinj
2020-04-03 15:36       ` [dpdk-dev] [PATCH v4 10/33] eal/trace: implement trace memory allocation jerinj
2020-04-03 15:36       ` [dpdk-dev] [PATCH v4 11/33] eal/trace: implement debug dump function jerinj
2020-04-03 15:36       ` [dpdk-dev] [PATCH v4 12/33] eal/trace: implement trace save jerinj
2020-04-03 15:36       ` [dpdk-dev] [PATCH v4 13/33] eal/trace: implement registration payload jerinj
2020-04-03 15:36       ` [dpdk-dev] [PATCH v4 14/33] eal/trace: implement provider payload jerinj
2020-04-03 15:36       ` [dpdk-dev] [PATCH v4 15/33] eal/trace: hook internal trace APIs to Linux jerinj
2020-04-03 15:36       ` [dpdk-dev] [PATCH v4 16/33] eal/trace: hook internal trace APIs to FreeBSD jerinj
2020-04-03 15:36       ` [dpdk-dev] [PATCH v4 17/33] eal/trace: add generic tracepoints jerinj
2020-04-03 15:36       ` [dpdk-dev] [PATCH v4 18/33] eal/trace: add alarm tracepoints jerinj
2020-04-03 15:36       ` [dpdk-dev] [PATCH v4 19/33] eal/trace: add memory tracepoints jerinj
2020-04-03 15:36       ` [dpdk-dev] [PATCH v4 20/33] eal/trace: add memzone tracepoints jerinj
2020-04-03 15:36       ` [dpdk-dev] [PATCH v4 21/33] eal/trace: add thread tracepoints jerinj
2020-04-03 15:36       ` [dpdk-dev] [PATCH v4 22/33] eal/trace: add interrupt tracepoints jerinj
2020-04-03 15:36       ` [dpdk-dev] [PATCH v4 23/33] eal/trace: add trace level configuration parameter jerinj
2020-04-03 15:37       ` [dpdk-dev] [PATCH v4 24/33] eal/trace: add trace dir " jerinj
2020-04-03 15:37       ` [dpdk-dev] [PATCH v4 25/33] eal/trace: add trace bufsize " jerinj
2020-04-03 15:37       ` [dpdk-dev] [PATCH v4 26/33] eal/trace: add trace mode " jerinj
2020-04-03 15:37       ` [dpdk-dev] [PATCH v4 27/33] eal/trace: add unit test cases jerinj
2020-04-03 15:37       ` [dpdk-dev] [PATCH v4 28/33] eal/trace: add trace performance " jerinj
2020-04-03 15:37       ` [dpdk-dev] [PATCH v4 29/33] ethdev: add tracepoints jerinj
2020-04-03 15:37       ` [dpdk-dev] [PATCH v4 30/33] eventdev: " jerinj
2020-04-03 15:37       ` [dpdk-dev] [PATCH v4 31/33] cryptodev: " jerinj
2020-04-03 15:37       ` [dpdk-dev] [PATCH v4 32/33] mempool: " jerinj
2020-04-03 15:37       ` [dpdk-dev] [PATCH v4 33/33] doc: add trace library guide jerinj
2020-04-09 14:00       ` [dpdk-dev] [PATCH v4 00/33] DPDK Trace support Thomas Monjalon
2020-04-09 15:36         ` Jerin Jacob
2020-04-09 16:00           ` Thomas Monjalon
2020-04-09 16:34             ` Jerin Jacob
2020-04-09 17:11               ` Thomas Monjalon
2020-04-09 18:27                 ` Jerin Jacob
2020-04-09 18:52                   ` Jerin Jacob
2020-04-10 13:15                   ` David Marchand
2020-04-10 13:29                     ` Jerin Jacob
2020-04-10 13:45                       ` David Marchand
2020-04-10 14:37                         ` Jerin Jacob
2020-04-10 15:00                           ` David Marchand
2020-04-10 15:11                             ` Thomas Monjalon
2020-04-10 15:12                       ` Thomas Monjalon
2020-04-10 17:56                         ` Jerin Jacob
2020-04-13 15:00       ` [dpdk-dev] [PATCH v5 " jerinj
2020-04-13 15:00         ` [dpdk-dev] [PATCH v5 01/33] meson: add libatomic as a global dependency for i686 clang jerinj
2020-04-13 15:00         ` [dpdk-dev] [PATCH v5 02/33] eal: introduce API for getting thread name jerinj
2020-04-13 15:00         ` [dpdk-dev] [PATCH v5 03/33] eal/trace: define the public API for trace support jerinj
2020-04-13 15:00         ` [dpdk-dev] [PATCH v5 04/33] eal/trace: implement trace register API jerinj
2020-04-16 13:39           ` David Marchand
2020-04-13 15:00         ` [dpdk-dev] [PATCH v5 05/33] eal/trace: implement trace operation APIs jerinj
2020-04-16 13:40           ` David Marchand
2020-04-13 15:00         ` [dpdk-dev] [PATCH v5 06/33] eal/trace: add internal trace init and fini interface jerinj
2020-04-13 15:00         ` [dpdk-dev] [PATCH v5 07/33] eal/trace: get bootup timestamp for trace jerinj
2020-04-13 15:00         ` [dpdk-dev] [PATCH v5 08/33] eal/trace: create CTF TDSL metadata in memory jerinj
2020-04-13 15:00         ` [dpdk-dev] [PATCH v5 09/33] eal/trace: handle CTF keyword collision jerinj
2020-04-13 15:00         ` [dpdk-dev] [PATCH v5 10/33] eal/trace: implement trace memory allocation jerinj
2020-04-13 15:00         ` [dpdk-dev] [PATCH v5 11/33] eal/trace: implement debug dump function jerinj
2020-04-13 15:00         ` [dpdk-dev] [PATCH v5 12/33] eal/trace: implement trace save jerinj
2020-04-13 15:00         ` [dpdk-dev] [PATCH v5 13/33] eal/trace: implement registration payload jerinj
2020-04-16 13:40           ` David Marchand
2020-04-13 15:00         ` [dpdk-dev] [PATCH v5 14/33] eal/trace: implement provider payload jerinj
2020-04-13 15:00         ` [dpdk-dev] [PATCH v5 15/33] eal/trace: hook internal trace APIs to Linux jerinj
2020-04-13 15:00         ` [dpdk-dev] [PATCH v5 16/33] eal/trace: hook internal trace APIs to FreeBSD jerinj
2020-04-13 15:01         ` [dpdk-dev] [PATCH v5 17/33] eal/trace: add generic tracepoints jerinj
2020-04-13 15:01         ` [dpdk-dev] [PATCH v5 18/33] eal/trace: add alarm tracepoints jerinj
2020-04-13 15:01         ` [dpdk-dev] [PATCH v5 19/33] eal/trace: add memory tracepoints jerinj
2020-04-13 15:01         ` [dpdk-dev] [PATCH v5 20/33] eal/trace: add memzone tracepoints jerinj
2020-04-13 15:01         ` [dpdk-dev] [PATCH v5 21/33] eal/trace: add thread tracepoints jerinj
2020-04-13 15:01         ` [dpdk-dev] [PATCH v5 22/33] eal/trace: add interrupt tracepoints jerinj
2020-04-13 15:01         ` [dpdk-dev] [PATCH v5 23/33] eal/trace: add trace configuration parameter jerinj
2020-04-13 15:01         ` [dpdk-dev] [PATCH v5 24/33] eal/trace: add trace dir " jerinj
2020-04-13 15:01         ` [dpdk-dev] [PATCH v5 25/33] eal/trace: add trace bufsize " jerinj
2020-04-13 15:01         ` [dpdk-dev] [PATCH v5 26/33] eal/trace: add trace mode " jerinj
2020-04-13 15:01         ` [dpdk-dev] [PATCH v5 27/33] eal/trace: add unit test cases jerinj
2020-04-13 15:01         ` [dpdk-dev] [PATCH v5 28/33] eal/trace: add trace performance " jerinj
2020-04-13 15:01         ` [dpdk-dev] [PATCH v5 29/33] ethdev: add tracepoints jerinj
2020-04-13 15:01         ` [dpdk-dev] [PATCH v5 30/33] eventdev: " jerinj
2020-04-13 15:01         ` [dpdk-dev] [PATCH v5 31/33] cryptodev: " jerinj
2020-04-13 15:01         ` [dpdk-dev] [PATCH v5 32/33] mempool: " jerinj
2020-04-13 15:01         ` [dpdk-dev] [PATCH v5 33/33] doc: add trace library guide jerinj
2020-04-17  8:36           ` David Marchand
2020-04-15 13:26         ` [dpdk-dev] [PATCH v5 00/33] DPDK Trace support David Marchand
2020-04-15 13:43           ` Thomas Monjalon
2020-04-15 14:39           ` Jerin Jacob
2020-04-16 13:39             ` David Marchand
2020-04-16 16:08               ` Jerin Jacob
2020-04-16 16:23                 ` Thomas Monjalon
2020-04-16 16:26                   ` Jerin Jacob
2020-04-17  8:27                 ` David Marchand
2020-04-17  8:57                   ` Jerin Jacob
2020-04-19 10:01         ` [dpdk-dev] [PATCH v6 " jerinj
2020-04-19 10:01           ` [dpdk-dev] [PATCH v6 01/33] meson: add libatomic as a global dependency for i686 clang jerinj
2020-04-19 10:01           ` [dpdk-dev] [PATCH v6 02/33] eal: introduce API for getting thread name jerinj
2020-04-19 10:01           ` [dpdk-dev] [PATCH v6 03/33] eal/trace: define the public API for trace support jerinj
2020-04-19 10:01           ` [dpdk-dev] [PATCH v6 04/33] eal/trace: implement trace register API jerinj
2020-04-19 10:01           ` [dpdk-dev] [PATCH v6 05/33] eal/trace: implement trace operation APIs jerinj
2020-04-21 12:49             ` David Marchand
2020-04-21 13:40               ` Jerin Jacob
2020-04-21 14:09                 ` David Marchand
2020-04-19 10:01           ` [dpdk-dev] [PATCH v6 06/33] eal/trace: add internal trace init and fini interface jerinj
2020-04-19 10:01           ` [dpdk-dev] [PATCH v6 07/33] eal/trace: get bootup timestamp for trace jerinj
2020-04-19 10:01           ` [dpdk-dev] [PATCH v6 08/33] eal/trace: create CTF TDSL metadata in memory jerinj
2020-04-19 10:01           ` [dpdk-dev] [PATCH v6 09/33] eal/trace: handle CTF keyword collision jerinj
2020-04-19 10:01           ` [dpdk-dev] [PATCH v6 10/33] eal/trace: implement trace memory allocation jerinj
2020-04-19 10:01           ` [dpdk-dev] [PATCH v6 11/33] eal/trace: implement debug dump function jerinj
2020-04-19 10:01           ` [dpdk-dev] [PATCH v6 12/33] eal/trace: implement trace save jerinj
2020-04-19 10:01           ` [dpdk-dev] [PATCH v6 13/33] eal/trace: implement registration payload jerinj
2020-04-19 10:01           ` [dpdk-dev] [PATCH v6 14/33] eal/trace: implement provider payload jerinj
2020-04-19 10:01           ` [dpdk-dev] [PATCH v6 15/33] eal/trace: hook internal trace APIs to Linux jerinj
2020-04-19 10:01           ` [dpdk-dev] [PATCH v6 16/33] eal/trace: hook internal trace APIs to FreeBSD jerinj
2020-04-19 10:01           ` [dpdk-dev] [PATCH v6 17/33] eal/trace: add generic tracepoints jerinj
2020-04-19 10:01           ` [dpdk-dev] [PATCH v6 18/33] eal/trace: add alarm tracepoints jerinj
2020-04-19 10:01           ` [dpdk-dev] [PATCH v6 19/33] eal/trace: add memory tracepoints jerinj
2020-04-19 10:01           ` [dpdk-dev] [PATCH v6 20/33] eal/trace: add memzone tracepoints jerinj
2020-04-19 10:01           ` [dpdk-dev] [PATCH v6 21/33] eal/trace: add thread tracepoints jerinj
2020-04-19 10:01           ` [dpdk-dev] [PATCH v6 22/33] eal/trace: add interrupt tracepoints jerinj
2020-04-19 10:01           ` [dpdk-dev] [PATCH v6 23/33] eal/trace: add trace configuration parameter jerinj
2020-04-19 10:01           ` [dpdk-dev] [PATCH v6 24/33] eal/trace: add trace dir " jerinj
2020-04-19 10:01           ` [dpdk-dev] [PATCH v6 25/33] eal/trace: add trace bufsize " jerinj
2020-04-19 10:01           ` [dpdk-dev] [PATCH v6 26/33] eal/trace: add trace mode " jerinj
2020-04-19 10:01           ` [dpdk-dev] [PATCH v6 27/33] eal/trace: add unit test cases jerinj
2020-04-21 12:52             ` David Marchand
2020-04-21 13:54               ` Jerin Jacob
2020-04-21 14:24                 ` David Marchand
2020-04-21 14:58                   ` Jerin Jacob
2020-04-19 10:01           ` [dpdk-dev] [PATCH v6 28/33] eal/trace: add trace performance " jerinj
2020-04-19 10:01           ` [dpdk-dev] [PATCH v6 29/33] ethdev: add tracepoints jerinj
2020-04-19 10:01           ` [dpdk-dev] [PATCH v6 30/33] eventdev: " jerinj
2020-04-19 10:01           ` [dpdk-dev] [PATCH v6 31/33] cryptodev: " jerinj
2020-04-19 10:01           ` [dpdk-dev] [PATCH v6 32/33] mempool: " jerinj
2020-04-19 10:01           ` [dpdk-dev] [PATCH v6 33/33] doc: add trace library guide jerinj
2020-04-21  0:19             ` Thomas Monjalon
2020-04-21  5:47               ` Jerin Jacob
2020-04-21  9:11                 ` Thomas Monjalon
2020-04-21  9:17                   ` Jerin Jacob
2020-04-22 19:03           ` [dpdk-dev] [PATCH v7 00/32] DPDK Trace support jerinj
2020-04-22 19:03             ` [dpdk-dev] [PATCH v7 01/32] eal: introduce API for getting thread name jerinj
2020-04-22 19:03             ` [dpdk-dev] [PATCH v7 02/32] eal/trace: define the public API for trace support jerinj
2020-04-22 19:03             ` [dpdk-dev] [PATCH v7 03/32] eal/trace: implement trace register API jerinj
2020-04-22 19:03             ` [dpdk-dev] [PATCH v7 04/32] eal/trace: implement trace operation APIs jerinj
2020-04-22 19:03             ` [dpdk-dev] [PATCH v7 05/32] eal/trace: add internal trace init and fini interface jerinj
2020-04-22 19:03             ` [dpdk-dev] [PATCH v7 06/32] eal/trace: get bootup timestamp for trace jerinj
2020-04-22 19:03             ` [dpdk-dev] [PATCH v7 07/32] eal/trace: create CTF TDSL metadata in memory jerinj
2020-04-22 19:03             ` [dpdk-dev] [PATCH v7 08/32] eal/trace: handle CTF keyword collision jerinj
2020-04-22 19:03             ` [dpdk-dev] [PATCH v7 09/32] eal/trace: implement trace memory allocation jerinj
2020-04-22 19:03             ` [dpdk-dev] [PATCH v7 10/32] eal/trace: implement debug dump function jerinj
2020-04-22 19:03             ` [dpdk-dev] [PATCH v7 11/32] eal/trace: implement trace save jerinj
2020-04-22 19:03             ` [dpdk-dev] [PATCH v7 12/32] eal/trace: implement registration payload jerinj
2020-04-22 19:03             ` [dpdk-dev] [PATCH v7 13/32] eal/trace: implement provider payload jerinj
2020-04-22 19:03             ` [dpdk-dev] [PATCH v7 14/32] eal/trace: hook internal trace APIs to Linux jerinj
2020-04-22 19:03             ` [dpdk-dev] [PATCH v7 15/32] eal/trace: hook internal trace APIs to FreeBSD jerinj
2020-04-22 19:03             ` [dpdk-dev] [PATCH v7 16/32] eal/trace: add generic tracepoints jerinj
2020-04-22 19:03             ` [dpdk-dev] [PATCH v7 17/32] eal/trace: add alarm tracepoints jerinj
2020-04-22 19:03             ` [dpdk-dev] [PATCH v7 18/32] eal/trace: add memory tracepoints jerinj
2020-04-22 19:03             ` [dpdk-dev] [PATCH v7 19/32] eal/trace: add memzone tracepoints jerinj
2020-04-22 19:03             ` [dpdk-dev] [PATCH v7 20/32] eal/trace: add thread tracepoints jerinj
2020-04-22 19:03             ` [dpdk-dev] [PATCH v7 21/32] eal/trace: add interrupt tracepoints jerinj
2020-04-22 19:03             ` [dpdk-dev] [PATCH v7 22/32] eal/trace: add trace configuration parameter jerinj
2020-04-22 19:03             ` [dpdk-dev] [PATCH v7 23/32] eal/trace: add trace dir " jerinj
2020-04-22 19:03             ` [dpdk-dev] [PATCH v7 24/32] eal/trace: add trace bufsize " jerinj
2020-04-22 19:03             ` [dpdk-dev] [PATCH v7 25/32] eal/trace: add trace mode " jerinj
2020-04-22 19:03             ` [dpdk-dev] [PATCH v7 26/32] eal/trace: add unit test cases jerinj
2020-04-22 19:03             ` [dpdk-dev] [PATCH v7 27/32] eal/trace: add trace performance " jerinj
2020-04-22 19:03             ` [dpdk-dev] [PATCH v7 28/32] ethdev: add tracepoints jerinj
2020-04-22 19:37               ` Akhil Goyal
2020-04-22 19:43                 ` Akhil Goyal
2020-04-22 19:03             ` [dpdk-dev] [PATCH v7 29/32] eventdev: " jerinj
2020-04-22 19:03             ` [dpdk-dev] [PATCH v7 30/32] cryptodev: " jerinj
2020-04-22 19:03             ` [dpdk-dev] [PATCH v7 31/32] mempool: " jerinj
2020-05-18  9:44               ` Fady Bader
2020-05-18 11:10                 ` Jerin Jacob
2020-04-22 19:03             ` [dpdk-dev] [PATCH v7 32/32] doc: add trace library guide jerinj
2020-04-23 14:23             ` [dpdk-dev] [PATCH v7 00/32] DPDK Trace support David Marchand

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200329144342.1543749-1-jerinj@marvell.com \
    --to=jerinj@marvell.com \
    --cc=bruce.richardson@intel.com \
    --cc=david.marchand@redhat.com \
    --cc=dev@dpdk.org \
    --cc=mattias.ronnblom@ericsson.com \
    --cc=skori@marvell.com \
    --cc=thomas@monjalon.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).