dev.dpdk.org archive mirror
 help / color / mirror / Atom feed
From: <jerinj@marvell.com>
To: Thomas Monjalon <thomas@monjalon.net>,
	Jerin Jacob <jerinj@marvell.com>,
	Sunil Kumar Kori <skori@marvell.com>,
	Abhinandan Gujjar <abhinandan.gujjar@intel.com>,
	Nikhil Rao <nikhil.rao@intel.com>,
	"Erik Gabriel Carrillo" <erik.g.carrillo@intel.com>
Cc: <dev@dpdk.org>, <bruce.richardson@intel.com>,
	<david.marchand@redhat.com>,  <mattias.ronnblom@ericsson.com>
Subject: [dpdk-dev]  [PATCH v1 29/32] eventdev: add tracepoints
Date: Thu, 19 Mar 2020 00:32:38 +0530	[thread overview]
Message-ID: <20200318190241.3150971-30-jerinj@marvell.com> (raw)
In-Reply-To: <20200318190241.3150971-1-jerinj@marvell.com>

From: Sunil Kumar Kori <skori@marvell.com>

Add tracepoints at important and mandatory APIs for tracing support.

Signed-off-by: Sunil Kumar Kori <skori@marvell.com>
---
 MAINTAINERS                                   |   2 +
 drivers/event/skeleton/Makefile               |   1 +
 drivers/event/skeleton/meson.build            |   1 +
 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 +++++
 17 files changed, 640 insertions(+), 4 deletions(-)
 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

diff --git a/MAINTAINERS b/MAINTAINERS
index a1d3e3746..7e2d42da3 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -204,6 +204,8 @@ F: lib/librte_eal/common/eal_common_trace*.c
 F: lib/librte_eal/common/eal_trace.h
 F: lib/librte_ethdev/ethdev_trace_points.c
 F: lib/librte_ethdev/rte_trace_ethdev*.h
+F: lib/librte_eventdev/eventdev_trace_points.c
+F: lib/librte_eventdev/rte_trace_eventdev*.h
 
 Memory Allocation
 M: Anatoly Burakov <anatoly.burakov@intel.com>
diff --git a/drivers/event/skeleton/Makefile b/drivers/event/skeleton/Makefile
index dc85ad3c4..8c561fff0 100644
--- a/drivers/event/skeleton/Makefile
+++ b/drivers/event/skeleton/Makefile
@@ -10,6 +10,7 @@ include $(RTE_SDK)/mk/rte.vars.mk
 LIB = librte_pmd_skeleton_event.a
 
 CFLAGS += $(WERROR_FLAGS)
+CFLAGS += -DALLOW_EXPERIMENTAL_API
 LDLIBS += -lrte_eal -lrte_eventdev
 LDLIBS += -lrte_pci -lrte_bus_pci
 LDLIBS += -lrte_bus_vdev
diff --git a/drivers/event/skeleton/meson.build b/drivers/event/skeleton/meson.build
index acfe15653..ebe3259f9 100644
--- a/drivers/event/skeleton/meson.build
+++ b/drivers/event/skeleton/meson.build
@@ -1,5 +1,6 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
+allow_experimental_apis = true
 sources = files('skeleton_eventdev.c')
 deps += ['bus_pci', 'bus_vdev']
diff --git a/lib/librte_eventdev/Makefile b/lib/librte_eventdev/Makefile
index 1052ccdbb..97193a1d5 100644
--- a/lib/librte_eventdev/Makefile
+++ b/lib/librte_eventdev/Makefile
@@ -22,6 +22,7 @@ LDLIBS += -lrte_mbuf -lrte_cryptodev -lpthread
 # library source files
 SRCS-y += rte_eventdev.c
 SRCS-y += rte_event_ring.c
+SRCS-y += eventdev_trace_points.c
 SRCS-y += rte_event_eth_rx_adapter.c
 SRCS-y += rte_event_timer_adapter.c
 SRCS-y += rte_event_crypto_adapter.c
@@ -30,6 +31,8 @@ SRCS-y += rte_event_eth_tx_adapter.c
 # export include files
 SYMLINK-y-include += rte_eventdev.h
 SYMLINK-y-include += rte_eventdev_pmd.h
+SYMLINK-y-include += rte_trace_eventdev.h
+SYMLINK-y-include += rte_trace_eventdev_fp.h
 SYMLINK-y-include += rte_eventdev_pmd_pci.h
 SYMLINK-y-include += rte_eventdev_pmd_vdev.h
 SYMLINK-y-include += rte_event_ring.h
diff --git a/lib/librte_eventdev/eventdev_trace_points.c b/lib/librte_eventdev/eventdev_trace_points.c
new file mode 100644
index 000000000..be9ce5ffe
--- /dev/null
+++ b/lib/librte_eventdev/eventdev_trace_points.c
@@ -0,0 +1,173 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2020 Marvell International Ltd.
+ */
+
+#define RTE_TRACE_POINT_REGISTER_SELECT /* Select trace point register macros */
+
+#include "rte_trace_eventdev.h"
+
+/* Eventdev trace points */
+RTE_TRACE_POINT_DEFINE(rte_trace_lib_eventdev_configure);
+RTE_TRACE_POINT_DEFINE(rte_trace_lib_event_queue_setup);
+RTE_TRACE_POINT_DEFINE(rte_trace_lib_event_port_setup);
+RTE_TRACE_POINT_DEFINE(rte_trace_lib_event_port_link);
+RTE_TRACE_POINT_DEFINE(rte_trace_lib_event_port_unlink);
+RTE_TRACE_POINT_DEFINE(rte_trace_lib_eventdev_start);
+RTE_TRACE_POINT_DEFINE(rte_trace_lib_eventdev_stop);
+RTE_TRACE_POINT_DEFINE(rte_trace_lib_eventdev_close);
+RTE_TRACE_POINT_DEFINE(rte_trace_lib_event_enq_burst);
+RTE_TRACE_POINT_DEFINE(rte_trace_lib_event_deq_burst);
+
+/* Eventdev Rx adapter trace points */
+RTE_TRACE_POINT_DEFINE(rte_trace_lib_event_eth_rx_adapter_create);
+RTE_TRACE_POINT_DEFINE(rte_trace_lib_event_eth_rx_adapter_free);
+RTE_TRACE_POINT_DEFINE(rte_trace_lib_event_eth_rx_adapter_queue_add);
+RTE_TRACE_POINT_DEFINE(rte_trace_lib_event_eth_rx_adapter_queue_del);
+RTE_TRACE_POINT_DEFINE(rte_trace_lib_event_eth_rx_adapter_start);
+RTE_TRACE_POINT_DEFINE(rte_trace_lib_event_eth_rx_adapter_stop);
+
+/* Eventdev Tx adapter trace points */
+RTE_TRACE_POINT_DEFINE(rte_trace_lib_event_eth_tx_adapter_create);
+RTE_TRACE_POINT_DEFINE(rte_trace_lib_event_eth_tx_adapter_free);
+RTE_TRACE_POINT_DEFINE(rte_trace_lib_event_eth_tx_adapter_queue_add);
+RTE_TRACE_POINT_DEFINE(rte_trace_lib_event_eth_tx_adapter_queue_del);
+RTE_TRACE_POINT_DEFINE(rte_trace_lib_event_eth_tx_adapter_start);
+RTE_TRACE_POINT_DEFINE(rte_trace_lib_event_eth_tx_adapter_stop);
+RTE_TRACE_POINT_DEFINE(rte_trace_lib_event_eth_tx_adapter_enqueue);
+
+/* Eventdev Timer adapter trace points */
+RTE_TRACE_POINT_DEFINE(rte_trace_lib_event_timer_adapter_create);
+RTE_TRACE_POINT_DEFINE(rte_trace_lib_event_timer_adapter_start);
+RTE_TRACE_POINT_DEFINE(rte_trace_lib_event_timer_adapter_stop);
+RTE_TRACE_POINT_DEFINE(rte_trace_lib_event_timer_adapter_free);
+RTE_TRACE_POINT_DEFINE(rte_trace_lib_event_timer_arm_burst);
+RTE_TRACE_POINT_DEFINE(rte_trace_lib_event_timer_arm_tmo_tick_burst);
+RTE_TRACE_POINT_DEFINE(rte_trace_lib_event_timer_cancel_burst);
+
+/* Eventdev Crypto adapter trace points */
+RTE_TRACE_POINT_DEFINE(rte_trace_lib_event_crypto_adapter_create);
+RTE_TRACE_POINT_DEFINE(rte_trace_lib_event_crypto_adapter_free);
+RTE_TRACE_POINT_DEFINE(rte_trace_lib_event_crypto_adapter_queue_pair_add);
+RTE_TRACE_POINT_DEFINE(rte_trace_lib_event_crypto_adapter_queue_pair_del);
+RTE_TRACE_POINT_DEFINE(rte_trace_lib_event_crypto_adapter_start);
+RTE_TRACE_POINT_DEFINE(rte_trace_lib_event_crypto_adapter_stop);
+
+RTE_INIT(eventdev_trace_init)
+{
+	/* Eventdev trace points */
+	RTE_TRACE_POINT_REGISTER(rte_trace_lib_eventdev_configure,
+				 lib.eventdev.configure, INFO);
+
+	RTE_TRACE_POINT_REGISTER(rte_trace_lib_event_queue_setup,
+				 lib.eventdev.queue.setup, INFO);
+
+	RTE_TRACE_POINT_REGISTER(rte_trace_lib_event_port_setup,
+				 lib.eventdev.port.setup, INFO);
+
+	RTE_TRACE_POINT_REGISTER(rte_trace_lib_event_port_link,
+				 lib.eventdev.port.link, INFO);
+
+	RTE_TRACE_POINT_REGISTER(rte_trace_lib_event_port_unlink,
+				 lib.eventdev.port.unlink, INFO);
+
+	RTE_TRACE_POINT_REGISTER(rte_trace_lib_eventdev_start,
+				 lib.eventdev.start, INFO);
+
+	RTE_TRACE_POINT_REGISTER(rte_trace_lib_eventdev_stop,
+				 lib.eventdev.stop, INFO);
+
+	RTE_TRACE_POINT_REGISTER(rte_trace_lib_eventdev_close,
+				 lib.eventdev.close, INFO);
+
+	RTE_TRACE_POINT_REGISTER(rte_trace_lib_event_enq_burst,
+				 lib.eventdev.enq.burst, INFO);
+
+	RTE_TRACE_POINT_REGISTER(rte_trace_lib_event_deq_burst,
+				 lib.eventdev.deq.burst, INFO);
+
+
+	/* Eventdev Rx adapter trace points */
+	RTE_TRACE_POINT_REGISTER(rte_trace_lib_event_eth_rx_adapter_create,
+				 lib.eventdev.rx.adapter.create, INFO);
+
+	RTE_TRACE_POINT_REGISTER(rte_trace_lib_event_eth_rx_adapter_free,
+				 lib.eventdev.rx.adapter.free, INFO);
+
+	RTE_TRACE_POINT_REGISTER(rte_trace_lib_event_eth_rx_adapter_queue_add,
+				 lib.eventdev.rx.adapter.queue.add, INFO);
+
+	RTE_TRACE_POINT_REGISTER(rte_trace_lib_event_eth_rx_adapter_queue_del,
+				 lib.eventdev.rx.adapter.queue.del, INFO);
+
+	RTE_TRACE_POINT_REGISTER(rte_trace_lib_event_eth_rx_adapter_start,
+				 lib.eventdev.rx.adapter.start, INFO);
+
+	RTE_TRACE_POINT_REGISTER(rte_trace_lib_event_eth_rx_adapter_stop,
+				 lib.eventdev.rx.adapter.stop, INFO);
+
+	/* Eventdev Tx adapter trace points */
+	RTE_TRACE_POINT_REGISTER(rte_trace_lib_event_eth_tx_adapter_create,
+				 lib.eventdev.tx.adapter.create, INFO);
+
+	RTE_TRACE_POINT_REGISTER(rte_trace_lib_event_eth_tx_adapter_free,
+				 lib.eventdev.tx.adapter.free, INFO);
+
+	RTE_TRACE_POINT_REGISTER(rte_trace_lib_event_eth_tx_adapter_queue_add,
+				 lib.eventdev.tx.adapter.queue.add, INFO);
+
+	RTE_TRACE_POINT_REGISTER(rte_trace_lib_event_eth_tx_adapter_queue_del,
+				 lib.eventdev.tx.adapter.queue.del, INFO);
+
+	RTE_TRACE_POINT_REGISTER(rte_trace_lib_event_eth_tx_adapter_start,
+				 lib.eventdev.tx.adapter.start, INFO);
+
+	RTE_TRACE_POINT_REGISTER(rte_trace_lib_event_eth_tx_adapter_stop,
+				 lib.eventdev.tx.adapter.stop, INFO);
+
+	RTE_TRACE_POINT_REGISTER(rte_trace_lib_event_eth_tx_adapter_enqueue,
+				 lib.eventdev.tx.adapter.enq, INFO);
+
+
+	/* Eventdev Timer adapter trace points */
+	RTE_TRACE_POINT_REGISTER(rte_trace_lib_event_timer_adapter_create,
+				 lib.eventdev.timer.create, INFO);
+
+	RTE_TRACE_POINT_REGISTER(rte_trace_lib_event_timer_adapter_start,
+				 lib.eventdev.timer.start, INFO);
+
+	RTE_TRACE_POINT_REGISTER(rte_trace_lib_event_timer_adapter_stop,
+				 lib.eventdev.timer.stop, INFO);
+
+	RTE_TRACE_POINT_REGISTER(rte_trace_lib_event_timer_adapter_free,
+				 lib.eventdev.timer.free, INFO);
+
+	RTE_TRACE_POINT_REGISTER(rte_trace_lib_event_timer_arm_burst,
+				 lib.eventdev.timer.burst, INFO);
+
+	RTE_TRACE_POINT_REGISTER(rte_trace_lib_event_timer_arm_tmo_tick_burst,
+				 lib.eventdev.timer.tick.burst, INFO);
+
+	RTE_TRACE_POINT_REGISTER(rte_trace_lib_event_timer_cancel_burst,
+				 lib.eventdev.timer.cancel, INFO);
+
+	/* Eventdev Crypto adapter trace points */
+	RTE_TRACE_POINT_REGISTER(rte_trace_lib_event_crypto_adapter_create,
+				 lib.eventdev.crypto.create, INFO);
+
+	RTE_TRACE_POINT_REGISTER(rte_trace_lib_event_crypto_adapter_free,
+				 lib.eventdev.crypto.free, INFO);
+
+	RTE_TRACE_POINT_REGISTER(
+			rte_trace_lib_event_crypto_adapter_queue_pair_add,
+			lib.eventdev.crypto.queue.add, INFO);
+
+	RTE_TRACE_POINT_REGISTER(
+			rte_trace_lib_event_crypto_adapter_queue_pair_del,
+			lib.eventdev.crypto.queue.del, INFO);
+
+	RTE_TRACE_POINT_REGISTER(rte_trace_lib_event_crypto_adapter_start,
+				 lib.eventdev.crypto.start, INFO);
+
+	RTE_TRACE_POINT_REGISTER(rte_trace_lib_event_crypto_adapter_stop,
+				 lib.eventdev.crypto.stop, INFO);
+}
diff --git a/lib/librte_eventdev/meson.build b/lib/librte_eventdev/meson.build
index 02ac61ad2..7aeb0a097 100644
--- a/lib/librte_eventdev/meson.build
+++ b/lib/librte_eventdev/meson.build
@@ -11,12 +11,15 @@ endif
 
 sources = files('rte_eventdev.c',
 		'rte_event_ring.c',
+		'eventdev_trace_points.c',
 		'rte_event_eth_rx_adapter.c',
 		'rte_event_timer_adapter.c',
 		'rte_event_crypto_adapter.c',
 		'rte_event_eth_tx_adapter.c')
 headers = files('rte_eventdev.h',
 		'rte_eventdev_pmd.h',
+		'rte_trace_eventdev.h',
+		'rte_trace_eventdev_fp.h',
 		'rte_eventdev_pmd_pci.h',
 		'rte_eventdev_pmd_vdev.h',
 		'rte_event_ring.h',
diff --git a/lib/librte_eventdev/rte_event_crypto_adapter.c b/lib/librte_eventdev/rte_event_crypto_adapter.c
index 22d910816..5fbc75093 100644
--- a/lib/librte_eventdev/rte_event_crypto_adapter.c
+++ b/lib/librte_eventdev/rte_event_crypto_adapter.c
@@ -16,6 +16,7 @@
 
 #include "rte_eventdev.h"
 #include "rte_eventdev_pmd.h"
+#include "rte_trace_eventdev.h"
 #include "rte_event_crypto_adapter.h"
 
 #define BATCH_SIZE 32
@@ -267,6 +268,8 @@ rte_event_crypto_adapter_create_ext(uint8_t id, uint8_t dev_id,
 
 	event_crypto_adapter[id] = adapter;
 
+	rte_trace_lib_event_crypto_adapter_create(id, dev_id, adapter, conf_arg,
+						  mode);
 	return 0;
 }
 
@@ -314,6 +317,7 @@ rte_event_crypto_adapter_free(uint8_t id)
 		return -EBUSY;
 	}
 
+	rte_trace_lib_event_crypto_adapter_free(id, adapter);
 	if (adapter->default_cb_arg)
 		rte_free(adapter->conf_arg);
 	rte_free(adapter->cdevs);
@@ -874,6 +878,8 @@ rte_event_crypto_adapter_queue_pair_add(uint8_t id,
 		rte_service_component_runstate_set(adapter->service_id, 1);
 	}
 
+	rte_trace_lib_event_crypto_adapter_queue_pair_add(id, cdev_id, event,
+							  queue_pair_id);
 	return 0;
 }
 
@@ -959,6 +965,8 @@ rte_event_crypto_adapter_queue_pair_del(uint8_t id, uint8_t cdev_id,
 				adapter->nb_qps);
 	}
 
+	rte_trace_lib_event_crypto_adapter_queue_pair_del(id, cdev_id,
+							  queue_pair_id, ret);
 	return ret;
 }
 
@@ -1014,12 +1022,14 @@ rte_event_crypto_adapter_start(uint8_t id)
 	if (adapter == NULL)
 		return -EINVAL;
 
+	rte_trace_lib_event_crypto_adapter_start(id, adapter);
 	return eca_adapter_ctrl(id, 1);
 }
 
 int
 rte_event_crypto_adapter_stop(uint8_t id)
 {
+	rte_trace_lib_event_crypto_adapter_stop(id);
 	return eca_adapter_ctrl(id, 0);
 }
 
diff --git a/lib/librte_eventdev/rte_event_eth_rx_adapter.c b/lib/librte_eventdev/rte_event_eth_rx_adapter.c
index 95dd47820..aca4f9d8a 100644
--- a/lib/librte_eventdev/rte_event_eth_rx_adapter.c
+++ b/lib/librte_eventdev/rte_event_eth_rx_adapter.c
@@ -20,6 +20,7 @@
 
 #include "rte_eventdev.h"
 #include "rte_eventdev_pmd.h"
+#include "rte_trace_eventdev.h"
 #include "rte_event_eth_rx_adapter.h"
 
 #define BATCH_SIZE		32
@@ -1998,6 +1999,8 @@ rte_event_eth_rx_adapter_create_ext(uint8_t id, uint8_t dev_id,
 	event_eth_rx_adapter[id] = rx_adapter;
 	if (conf_cb == rxa_default_conf_cb)
 		rx_adapter->default_cb_arg = 1;
+	rte_trace_lib_event_eth_rx_adapter_create(id, dev_id, conf_cb,
+						  conf_arg);
 	return 0;
 }
 
@@ -2047,6 +2050,7 @@ rte_event_eth_rx_adapter_free(uint8_t id)
 	rte_free(rx_adapter);
 	event_eth_rx_adapter[id] = NULL;
 
+	rte_trace_lib_event_eth_rx_adapter_free(id);
 	return 0;
 }
 
@@ -2142,6 +2146,9 @@ rte_event_eth_rx_adapter_queue_add(uint8_t id,
 		rte_spinlock_unlock(&rx_adapter->rx_lock);
 	}
 
+	rte_trace_lib_event_eth_rx_adapter_queue_add(id, eth_dev_id,
+						     rx_queue_id, queue_conf,
+						     ret);
 	if (ret)
 		return ret;
 
@@ -2263,18 +2270,22 @@ rte_event_eth_rx_adapter_queue_del(uint8_t id, uint16_t eth_dev_id,
 				rxa_sw_adapter_queue_count(rx_adapter));
 	}
 
+	rte_trace_lib_event_eth_rx_adapter_queue_del(id, eth_dev_id,
+						     rx_queue_id, ret);
 	return ret;
 }
 
 int
 rte_event_eth_rx_adapter_start(uint8_t id)
 {
+	rte_trace_lib_event_eth_rx_adapter_start(id);
 	return rxa_ctrl(id, 1);
 }
 
 int
 rte_event_eth_rx_adapter_stop(uint8_t id)
 {
+	rte_trace_lib_event_eth_rx_adapter_stop(id);
 	return rxa_ctrl(id, 0);
 }
 
diff --git a/lib/librte_eventdev/rte_event_eth_tx_adapter.c b/lib/librte_eventdev/rte_event_eth_tx_adapter.c
index d02ef57f4..a6dbc655e 100644
--- a/lib/librte_eventdev/rte_event_eth_tx_adapter.c
+++ b/lib/librte_eventdev/rte_event_eth_tx_adapter.c
@@ -6,6 +6,7 @@
 #include <rte_ethdev.h>
 
 #include "rte_eventdev_pmd.h"
+#include "rte_trace_eventdev.h"
 #include "rte_event_eth_tx_adapter.h"
 
 #define TXA_BATCH_SIZE		32
@@ -942,7 +943,8 @@ rte_event_eth_tx_adapter_create(uint8_t id, uint8_t dev_id,
 		txa_dev_id_array[id] = TXA_INVALID_DEV_ID;
 		return ret;
 	}
-
+	rte_trace_lib_event_eth_tx_adapter_create(id, dev_id, NULL, port_conf,
+						  ret);
 	txa_dev_id_array[id] = dev_id;
 	return 0;
 }
@@ -984,6 +986,8 @@ rte_event_eth_tx_adapter_create_ext(uint8_t id, uint8_t dev_id,
 		return ret;
 	}
 
+	rte_trace_lib_event_eth_tx_adapter_create(id, dev_id, conf_cb, conf_arg,
+						  ret);
 	txa_dev_id_array[id] = dev_id;
 	return 0;
 }
@@ -1012,6 +1016,7 @@ rte_event_eth_tx_adapter_free(uint8_t id)
 		ret = txa_service_adapter_free(id);
 	txa_dev_id_array[id] = TXA_INVALID_DEV_ID;
 
+	rte_trace_lib_event_eth_tx_adapter_free(id, ret);
 	return ret;
 }
 
@@ -1043,6 +1048,8 @@ rte_event_eth_tx_adapter_queue_add(uint8_t id,
 	else
 		ret = txa_service_queue_add(id, txa_evdev(id), eth_dev, queue);
 
+	rte_trace_lib_event_eth_tx_adapter_queue_add(id, eth_dev_id, queue,
+						     ret);
 	return ret;
 }
 
@@ -1073,6 +1080,8 @@ rte_event_eth_tx_adapter_queue_del(uint8_t id,
 	else
 		ret = txa_service_queue_del(id, eth_dev, queue);
 
+	rte_trace_lib_event_eth_tx_adapter_queue_del(id, eth_dev_id, queue,
+						     ret);
 	return ret;
 }
 
@@ -1094,6 +1103,7 @@ rte_event_eth_tx_adapter_start(uint8_t id)
 	ret = txa_dev_start(id) ? txa_dev_start(id)(id, txa_evdev(id)) : 0;
 	if (ret == 0)
 		ret = txa_service_start(id);
+	rte_trace_lib_event_eth_tx_adapter_start(id, ret);
 	return ret;
 }
 
@@ -1154,5 +1164,6 @@ rte_event_eth_tx_adapter_stop(uint8_t id)
 	ret = txa_dev_stop(id) ? txa_dev_stop(id)(id,  txa_evdev(id)) : 0;
 	if (ret == 0)
 		ret = txa_service_stop(id);
+	rte_trace_lib_event_eth_tx_adapter_stop(id, ret);
 	return ret;
 }
diff --git a/lib/librte_eventdev/rte_event_eth_tx_adapter.h b/lib/librte_eventdev/rte_event_eth_tx_adapter.h
index 93b717af9..f2154c01a 100644
--- a/lib/librte_eventdev/rte_event_eth_tx_adapter.h
+++ b/lib/librte_eventdev/rte_event_eth_tx_adapter.h
@@ -369,6 +369,8 @@ rte_event_eth_tx_adapter_enqueue(uint8_t dev_id,
 		return 0;
 	}
 #endif
+	rte_trace_lib_event_eth_tx_adapter_enqueue(dev_id, port_id, ev,
+						   nb_events, flags);
 	if (flags)
 		return dev->txa_enqueue_same_dest(dev->data->ports[port_id],
 						  ev, nb_events);
diff --git a/lib/librte_eventdev/rte_event_timer_adapter.c b/lib/librte_eventdev/rte_event_timer_adapter.c
index 161e21a68..700e10afd 100644
--- a/lib/librte_eventdev/rte_event_timer_adapter.c
+++ b/lib/librte_eventdev/rte_event_timer_adapter.c
@@ -22,6 +22,7 @@
 
 #include "rte_eventdev.h"
 #include "rte_eventdev_pmd.h"
+#include "rte_trace_eventdev.h"
 #include "rte_event_timer_adapter.h"
 #include "rte_event_timer_adapter_pmd.h"
 
@@ -228,6 +229,8 @@ rte_event_timer_adapter_create_ext(
 
 	adapter->allocated = 1;
 
+	rte_trace_lib_event_timer_adapter_create(adapter_id, adapter, conf,
+						 conf_cb);
 	return adapter;
 
 free_memzone:
@@ -272,7 +275,7 @@ rte_event_timer_adapter_start(const struct rte_event_timer_adapter *adapter)
 		return ret;
 
 	adapter->data->started = 1;
-
+	rte_trace_lib_event_timer_adapter_start(adapter);
 	return 0;
 }
 
@@ -295,7 +298,7 @@ rte_event_timer_adapter_stop(const struct rte_event_timer_adapter *adapter)
 		return ret;
 
 	adapter->data->started = 0;
-
+	rte_trace_lib_event_timer_adapter_stop(adapter);
 	return 0;
 }
 
@@ -379,6 +382,7 @@ rte_event_timer_adapter_free(struct rte_event_timer_adapter *adapter)
 	adapter->data = NULL;
 	adapter->allocated = 0;
 
+	rte_trace_lib_event_timer_adapter_free(adapter);
 	return 0;
 }
 
diff --git a/lib/librte_eventdev/rte_event_timer_adapter.h b/lib/librte_eventdev/rte_event_timer_adapter.h
index 7f6dc5c29..d338b7738 100644
--- a/lib/librte_eventdev/rte_event_timer_adapter.h
+++ b/lib/librte_eventdev/rte_event_timer_adapter.h
@@ -115,6 +115,7 @@ extern "C" {
 #include <rte_memory.h>
 
 #include "rte_eventdev.h"
+#include "rte_trace_eventdev_fp.h"
 
 /**
  * Timer adapter clock source
@@ -579,6 +580,8 @@ rte_event_timer_arm_burst(const struct rte_event_timer_adapter *adapter,
 	ADAPTER_VALID_OR_ERR_RET(adapter, -EINVAL);
 	FUNC_PTR_OR_ERR_RET(adapter->arm_burst, -EINVAL);
 #endif
+	rte_trace_lib_event_timer_arm_burst(adapter, (void **)evtims,
+					    nb_evtims);
 	return adapter->arm_burst(adapter, evtims, nb_evtims);
 }
 
@@ -622,6 +625,9 @@ rte_event_timer_arm_tmo_tick_burst(
 	ADAPTER_VALID_OR_ERR_RET(adapter, -EINVAL);
 	FUNC_PTR_OR_ERR_RET(adapter->arm_tmo_tick_burst, -EINVAL);
 #endif
+	rte_trace_lib_event_timer_arm_tmo_tick_burst(adapter, timeout_ticks,
+						     (void **)evtims,
+						     nb_evtims);
 	return adapter->arm_tmo_tick_burst(adapter, evtims, timeout_ticks,
 					   nb_evtims);
 }
@@ -655,6 +661,8 @@ rte_event_timer_cancel_burst(const struct rte_event_timer_adapter *adapter,
 	ADAPTER_VALID_OR_ERR_RET(adapter, -EINVAL);
 	FUNC_PTR_OR_ERR_RET(adapter->cancel_burst, -EINVAL);
 #endif
+	rte_trace_lib_event_timer_cancel_burst(adapter, (void **)evtims,
+					       nb_evtims);
 	return adapter->cancel_burst(adapter, evtims, nb_evtims);
 }
 
diff --git a/lib/librte_eventdev/rte_eventdev.c b/lib/librte_eventdev/rte_eventdev.c
index b987e0745..d0a3bdd7f 100644
--- a/lib/librte_eventdev/rte_eventdev.c
+++ b/lib/librte_eventdev/rte_eventdev.c
@@ -35,6 +35,7 @@
 
 #include "rte_eventdev.h"
 #include "rte_eventdev_pmd.h"
+#include "rte_trace_eventdev.h"
 
 static struct rte_eventdev rte_event_devices[RTE_EVENT_MAX_DEVS];
 
@@ -524,6 +525,7 @@ rte_event_dev_configure(uint8_t dev_id,
 	}
 
 	dev->data->event_dev_cap = info.event_dev_cap;
+	rte_trace_lib_eventdev_configure(dev_id, dev_conf, diag);
 	return diag;
 }
 
@@ -650,6 +652,7 @@ rte_event_queue_setup(uint8_t dev_id, uint8_t queue_id,
 	}
 
 	dev->data->queues_cfg[queue_id] = *queue_conf;
+	rte_trace_lib_event_queue_setup(dev_id, queue_id, queue_conf);
 	return (*dev->dev_ops->queue_setup)(dev, queue_id, queue_conf);
 }
 
@@ -766,6 +769,7 @@ rte_event_port_setup(uint8_t dev_id, uint8_t port_id,
 	if (!diag)
 		diag = rte_event_port_unlink(dev_id, port_id, NULL, 0);
 
+	rte_trace_lib_event_port_setup(dev_id, port_id, port_conf, diag);
 	if (diag < 0)
 		return diag;
 
@@ -936,6 +940,7 @@ rte_event_port_link(uint8_t dev_id, uint8_t port_id,
 	for (i = 0; i < diag; i++)
 		links_map[queues[i]] = (uint8_t)priorities[i];
 
+	rte_trace_lib_event_port_link(dev_id, port_id, nb_links, diag);
 	return diag;
 }
 
@@ -1001,6 +1006,7 @@ rte_event_port_unlink(uint8_t dev_id, uint8_t port_id,
 	for (i = 0; i < diag; i++)
 		links_map[queues[i]] = EVENT_QUEUE_SERVICE_PRIORITY_INVALID;
 
+	rte_trace_lib_event_port_unlink(dev_id, port_id, nb_unlinks, diag);
 	return diag;
 }
 
@@ -1213,6 +1219,7 @@ rte_event_dev_start(uint8_t dev_id)
 	}
 
 	diag = (*dev->dev_ops->dev_start)(dev);
+	rte_trace_lib_eventdev_start(dev_id, diag);
 	if (diag == 0)
 		dev->data->dev_started = 1;
 	else
@@ -1257,6 +1264,7 @@ rte_event_dev_stop(uint8_t dev_id)
 
 	dev->data->dev_started = 0;
 	(*dev->dev_ops->dev_stop)(dev);
+	rte_trace_lib_eventdev_stop(dev_id);
 }
 
 int
@@ -1275,6 +1283,7 @@ rte_event_dev_close(uint8_t dev_id)
 		return -EBUSY;
 	}
 
+	rte_trace_lib_eventdev_close(dev_id);
 	return (*dev->dev_ops->dev_close)(dev);
 }
 
diff --git a/lib/librte_eventdev/rte_eventdev.h b/lib/librte_eventdev/rte_eventdev.h
index 226f352ad..71d4fa6f1 100644
--- a/lib/librte_eventdev/rte_eventdev.h
+++ b/lib/librte_eventdev/rte_eventdev.h
@@ -215,6 +215,8 @@ extern "C" {
 #include <rte_memory.h>
 #include <rte_errno.h>
 
+#include "rte_trace_eventdev_fp.h"
+
 struct rte_mbuf; /* we just use mbuf pointers; no need to include rte_mbuf.h */
 struct rte_event;
 
@@ -1343,6 +1345,7 @@ __rte_event_enqueue_burst(uint8_t dev_id, uint8_t port_id,
 		return 0;
 	}
 #endif
+	rte_trace_lib_event_enq_burst(dev_id, port_id, ev, nb_events, fn);
 	/*
 	 * Allow zero cost non burst mode routine invocation if application
 	 * requests nb_events as const one
@@ -1620,7 +1623,7 @@ rte_event_dequeue_burst(uint8_t dev_id, uint8_t port_id, struct rte_event ev[],
 		return 0;
 	}
 #endif
-
+	rte_trace_lib_event_deq_burst(dev_id, port_id, ev, nb_events);
 	/*
 	 * Allow zero cost non burst mode routine invocation if application
 	 * requests nb_events as const one
diff --git a/lib/librte_eventdev/rte_eventdev_version.map b/lib/librte_eventdev/rte_eventdev_version.map
index edfc15282..25023d9c2 100644
--- a/lib/librte_eventdev/rte_eventdev_version.map
+++ b/lib/librte_eventdev/rte_eventdev_version.map
@@ -93,3 +93,45 @@ DPDK_20.0 {
 
 	local: *;
 };
+
+EXPERIMENTAL {
+	global:
+
+	# added in 20.05
+	__rte_trace_lib_eventdev_configure;
+	__rte_trace_lib_event_queue_setup;
+	__rte_trace_lib_event_port_setup;
+	__rte_trace_lib_event_port_link;
+	__rte_trace_lib_event_port_unlink;
+	__rte_trace_lib_eventdev_start;
+	__rte_trace_lib_eventdev_stop;
+	__rte_trace_lib_eventdev_close;
+	__rte_trace_lib_event_deq_burst;
+	__rte_trace_lib_event_enq_burst;
+	__rte_trace_lib_event_eth_rx_adapter_create;
+	__rte_trace_lib_event_eth_rx_adapter_free;
+	__rte_trace_lib_event_eth_rx_adapter_queue_add;
+	__rte_trace_lib_event_eth_rx_adapter_queue_del;
+	__rte_trace_lib_event_eth_rx_adapter_start;
+	__rte_trace_lib_event_eth_rx_adapter_stop;
+	__rte_trace_lib_event_eth_tx_adapter_create;
+	__rte_trace_lib_event_eth_tx_adapter_free;
+	__rte_trace_lib_event_eth_tx_adapter_queue_add;
+	__rte_trace_lib_event_eth_tx_adapter_queue_del;
+	__rte_trace_lib_event_eth_tx_adapter_start;
+	__rte_trace_lib_event_eth_tx_adapter_stop;
+	__rte_trace_lib_event_eth_tx_adapter_enqueue;
+	__rte_trace_lib_event_timer_adapter_create;
+	__rte_trace_lib_event_timer_adapter_start;
+	__rte_trace_lib_event_timer_adapter_stop;
+	__rte_trace_lib_event_timer_adapter_free;
+	__rte_trace_lib_event_timer_arm_burst;
+	__rte_trace_lib_event_timer_arm_tmo_tick_burst;
+	__rte_trace_lib_event_timer_cancel_burst;
+	__rte_trace_lib_event_crypto_adapter_create;
+	__rte_trace_lib_event_crypto_adapter_free;
+	__rte_trace_lib_event_crypto_adapter_queue_pair_add;
+	__rte_trace_lib_event_crypto_adapter_queue_pair_del;
+	__rte_trace_lib_event_crypto_adapter_start;
+	__rte_trace_lib_event_crypto_adapter_stop;
+};
diff --git a/lib/librte_eventdev/rte_trace_eventdev.h b/lib/librte_eventdev/rte_trace_eventdev.h
new file mode 100644
index 000000000..f5b0fb158
--- /dev/null
+++ b/lib/librte_eventdev/rte_trace_eventdev.h
@@ -0,0 +1,278 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2020 Marvell International Ltd.
+ */
+
+#ifndef _RTE_TRACE_EVENTDEV_H_
+#define _RTE_TRACE_EVENTDEV_H_
+
+/**
+ * @file
+ *
+ * API for ethdev trace support
+ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "rte_eventdev.h"
+#include "rte_event_eth_rx_adapter.h"
+#include "rte_event_timer_adapter.h"
+
+#include <rte_trace.h>
+
+RTE_TRACE_POINT(
+	rte_trace_lib_eventdev_configure,
+	RTE_TRACE_POINT_ARGS(uint8_t dev_id,
+			     const struct rte_event_dev_config *dev_conf,
+			     int rc),
+	rte_trace_ctf_u8(dev_id);
+	rte_trace_ctf_u32(dev_conf->dequeue_timeout_ns);
+	rte_trace_ctf_i32(dev_conf->nb_events_limit);
+	rte_trace_ctf_u8(dev_conf->nb_event_queues);
+	rte_trace_ctf_u8(dev_conf->nb_event_ports);
+	rte_trace_ctf_u32(dev_conf->nb_event_queue_flows);
+	rte_trace_ctf_u32(dev_conf->nb_event_port_dequeue_depth);
+	rte_trace_ctf_u32(dev_conf->nb_event_port_enqueue_depth);
+	rte_trace_ctf_u32(dev_conf->event_dev_cfg);
+	rte_trace_ctf_int(rc);
+)
+
+RTE_TRACE_POINT(
+	rte_trace_lib_event_queue_setup,
+	RTE_TRACE_POINT_ARGS(uint8_t dev_id, uint8_t queue_id,
+			     const struct rte_event_queue_conf *queue_conf),
+	rte_trace_ctf_u8(dev_id); rte_trace_ctf_u8(queue_id);
+	rte_trace_ctf_u32(queue_conf->nb_atomic_flows);
+	rte_trace_ctf_u32(queue_conf->nb_atomic_order_sequences);
+	rte_trace_ctf_u32(queue_conf->event_queue_cfg);
+	rte_trace_ctf_u8(queue_conf->schedule_type);
+	rte_trace_ctf_u8(queue_conf->priority);
+)
+
+RTE_TRACE_POINT(
+	rte_trace_lib_event_port_setup,
+	RTE_TRACE_POINT_ARGS(uint8_t dev_id, uint8_t port_id,
+			     const struct rte_event_port_conf *port_conf,
+			     int rc),
+	rte_trace_ctf_u8(dev_id); rte_trace_ctf_u8(port_id);
+	rte_trace_ctf_i32(port_conf->new_event_threshold);
+	rte_trace_ctf_u16(port_conf->dequeue_depth);
+	rte_trace_ctf_u16(port_conf->enqueue_depth);
+	rte_trace_ctf_u8(port_conf->disable_implicit_release);
+	rte_trace_ctf_int(rc);
+)
+
+RTE_TRACE_POINT(
+	rte_trace_lib_event_port_link,
+	RTE_TRACE_POINT_ARGS(uint8_t dev_id, uint8_t port_id,
+			     uint16_t nb_links, int rc),
+	rte_trace_ctf_u8(dev_id); rte_trace_ctf_u8(port_id);
+	rte_trace_ctf_u16(nb_links); rte_trace_ctf_int(rc);
+)
+
+RTE_TRACE_POINT(
+	rte_trace_lib_event_port_unlink,
+	RTE_TRACE_POINT_ARGS(uint8_t dev_id, uint8_t port_id,
+			     uint16_t nb_unlinks, int rc),
+	rte_trace_ctf_u8(dev_id); rte_trace_ctf_u8(port_id);
+	rte_trace_ctf_u16(nb_unlinks); rte_trace_ctf_int(rc);
+)
+
+RTE_TRACE_POINT(
+	rte_trace_lib_eventdev_start,
+	RTE_TRACE_POINT_ARGS(uint8_t dev_id, int rc),
+	rte_trace_ctf_u8(dev_id); rte_trace_ctf_int(rc);
+)
+
+RTE_TRACE_POINT(
+	rte_trace_lib_eventdev_stop,
+	RTE_TRACE_POINT_ARGS(uint8_t dev_id),
+	rte_trace_ctf_u8(dev_id);
+)
+
+RTE_TRACE_POINT(
+	rte_trace_lib_eventdev_close,
+	RTE_TRACE_POINT_ARGS(uint8_t dev_id),
+	rte_trace_ctf_u8(dev_id);
+)
+
+RTE_TRACE_POINT(
+	rte_trace_lib_event_eth_rx_adapter_create,
+	RTE_TRACE_POINT_ARGS(uint8_t adptr_id, uint8_t dev_id,
+			     void *conf_cb, void *conf_arg),
+	rte_trace_ctf_u8(adptr_id); rte_trace_ctf_u8(dev_id);
+	rte_trace_ctf_ptr(conf_cb); rte_trace_ctf_ptr(conf_arg);
+)
+
+RTE_TRACE_POINT(
+	rte_trace_lib_event_eth_rx_adapter_free,
+	RTE_TRACE_POINT_ARGS(uint8_t adptr_id),
+	rte_trace_ctf_u8(adptr_id);
+)
+
+RTE_TRACE_POINT(
+	rte_trace_lib_event_eth_rx_adapter_queue_add,
+	RTE_TRACE_POINT_ARGS(uint8_t adptr_id, uint16_t eth_dev_id,
+			     int32_t rx_queue_id,
+			     const struct rte_event_eth_rx_adapter_queue_conf
+			     *queue_conf, int rc),
+	rte_trace_ctf_u8(adptr_id); rte_trace_ctf_u16(eth_dev_id);
+	rte_trace_ctf_i32(rx_queue_id);
+	rte_trace_ctf_u32(queue_conf->rx_queue_flags);
+	rte_trace_ctf_u16(queue_conf->servicing_weight);
+	rte_trace_ctf_u8(queue_conf->ev.queue_id);
+	rte_trace_ctf_u8(queue_conf->ev.priority);
+	rte_trace_ctf_int(rc);
+)
+
+RTE_TRACE_POINT(
+	rte_trace_lib_event_eth_rx_adapter_queue_del,
+	RTE_TRACE_POINT_ARGS(uint8_t adptr_id, uint16_t eth_dev_id,
+			     int32_t rx_queue_id, int rc),
+	rte_trace_ctf_u8(adptr_id); rte_trace_ctf_u16(eth_dev_id);
+	rte_trace_ctf_i32(rx_queue_id); rte_trace_ctf_int(rc);
+)
+
+RTE_TRACE_POINT(
+	rte_trace_lib_event_eth_rx_adapter_start,
+	RTE_TRACE_POINT_ARGS(uint8_t adptr_id),
+	rte_trace_ctf_u8(adptr_id);
+)
+
+RTE_TRACE_POINT(
+	rte_trace_lib_event_eth_rx_adapter_stop,
+	RTE_TRACE_POINT_ARGS(uint8_t adptr_id),
+	rte_trace_ctf_u8(adptr_id);
+)
+
+RTE_TRACE_POINT(
+	rte_trace_lib_event_eth_tx_adapter_create,
+	RTE_TRACE_POINT_ARGS(uint8_t adptr_id, uint8_t dev_id, void *conf_cb,
+			     struct rte_event_port_conf *port_conf,
+			     int rc),
+	rte_trace_ctf_u8(adptr_id); rte_trace_ctf_u8(dev_id);
+	rte_trace_ctf_i32(port_conf->new_event_threshold);
+	rte_trace_ctf_u16(port_conf->dequeue_depth);
+	rte_trace_ctf_u16(port_conf->enqueue_depth);
+	rte_trace_ctf_u8(port_conf->disable_implicit_release);
+	rte_trace_ctf_ptr(conf_cb); rte_trace_ctf_int(rc);
+)
+
+RTE_TRACE_POINT(
+	rte_trace_lib_event_eth_tx_adapter_free,
+	RTE_TRACE_POINT_ARGS(uint8_t adptr_id, int rc),
+	rte_trace_ctf_u8(adptr_id); rte_trace_ctf_int(rc);
+)
+
+RTE_TRACE_POINT(
+	rte_trace_lib_event_eth_tx_adapter_queue_add,
+	RTE_TRACE_POINT_ARGS(uint8_t adptr_id, uint16_t eth_dev_id,
+			     int32_t queue, int rc),
+	rte_trace_ctf_u8(adptr_id); rte_trace_ctf_u16(eth_dev_id);
+	rte_trace_ctf_i32(queue); rte_trace_ctf_int(rc);
+)
+
+RTE_TRACE_POINT(
+	rte_trace_lib_event_eth_tx_adapter_queue_del,
+	RTE_TRACE_POINT_ARGS(uint8_t adptr_id, uint16_t eth_dev_id,
+			     int32_t queue, int rc),
+	rte_trace_ctf_u8(adptr_id); rte_trace_ctf_u16(eth_dev_id);
+	rte_trace_ctf_i32(queue); rte_trace_ctf_int(rc);
+)
+
+RTE_TRACE_POINT(
+	rte_trace_lib_event_eth_tx_adapter_start,
+	RTE_TRACE_POINT_ARGS(uint8_t adptr_id, int rc),
+	rte_trace_ctf_u8(adptr_id); rte_trace_ctf_int(rc);
+)
+
+RTE_TRACE_POINT(
+	rte_trace_lib_event_eth_tx_adapter_stop,
+	RTE_TRACE_POINT_ARGS(uint8_t adptr_id, int rc),
+	rte_trace_ctf_u8(adptr_id); rte_trace_ctf_int(rc);
+)
+
+RTE_TRACE_POINT(
+	rte_trace_lib_event_timer_adapter_create,
+	RTE_TRACE_POINT_ARGS(uint16_t adapter_id, void *adapter,
+			     const struct rte_event_timer_adapter_conf *conf,
+			     void *conf_cb),
+	rte_trace_ctf_u16(adapter_id); rte_trace_ctf_ptr(adapter);
+	rte_trace_ctf_ptr(conf); rte_trace_ctf_u8(conf->event_dev_id);
+	rte_trace_ctf_u16(conf->timer_adapter_id);
+	rte_trace_ctf_u64(conf->timer_tick_ns);
+	rte_trace_ctf_u64(conf->max_tmo_ns); rte_trace_ctf_u64(conf->nb_timers);
+	rte_trace_ctf_u64(conf->flags); rte_trace_ctf_ptr(conf_cb);
+)
+
+RTE_TRACE_POINT(
+	rte_trace_lib_event_timer_adapter_start,
+	RTE_TRACE_POINT_ARGS(const void *adapter),
+	rte_trace_ctf_ptr(adapter);
+)
+
+RTE_TRACE_POINT(
+	rte_trace_lib_event_timer_adapter_stop,
+	RTE_TRACE_POINT_ARGS(const void *adapter),
+	rte_trace_ctf_ptr(adapter);
+)
+
+RTE_TRACE_POINT(
+	rte_trace_lib_event_timer_adapter_free,
+	RTE_TRACE_POINT_ARGS(void *adapter),
+	rte_trace_ctf_ptr(adapter);
+)
+
+RTE_TRACE_POINT(
+	rte_trace_lib_event_crypto_adapter_create,
+	RTE_TRACE_POINT_ARGS(uint8_t adptr_id, uint8_t dev_id, void *adapter,
+			     struct rte_event_port_conf *port_conf,
+			     uint8_t mode),
+	rte_trace_ctf_u8(adptr_id); rte_trace_ctf_u8(dev_id);
+	rte_trace_ctf_ptr(adapter); rte_trace_ctf_u8(mode);
+	rte_trace_ctf_i32(port_conf->new_event_threshold);
+	rte_trace_ctf_u16(port_conf->dequeue_depth);
+	rte_trace_ctf_u16(port_conf->enqueue_depth);
+	rte_trace_ctf_u8(port_conf->disable_implicit_release);
+)
+
+RTE_TRACE_POINT(
+	rte_trace_lib_event_crypto_adapter_free,
+	RTE_TRACE_POINT_ARGS(uint8_t adptr_id, void *adapter),
+	rte_trace_ctf_u8(adptr_id); rte_trace_ctf_ptr(adapter);
+)
+
+RTE_TRACE_POINT(
+	rte_trace_lib_event_crypto_adapter_queue_pair_add,
+	RTE_TRACE_POINT_ARGS(uint8_t adptr_id, uint8_t cdev_id,
+			     const void *event, int32_t queue_pair_id),
+	rte_trace_ctf_u8(adptr_id); rte_trace_ctf_u8(cdev_id);
+	rte_trace_ctf_i32(queue_pair_id); rte_trace_ctf_ptr(event);
+)
+
+RTE_TRACE_POINT(
+	rte_trace_lib_event_crypto_adapter_queue_pair_del,
+	RTE_TRACE_POINT_ARGS(uint8_t adptr_id, uint8_t cdev_id,
+			     int32_t queue_pair_id, int rc),
+	rte_trace_ctf_u8(adptr_id); rte_trace_ctf_u8(cdev_id);
+	rte_trace_ctf_i32(queue_pair_id); rte_trace_ctf_int(rc);
+)
+
+RTE_TRACE_POINT(
+	rte_trace_lib_event_crypto_adapter_start,
+	RTE_TRACE_POINT_ARGS(uint8_t adptr_id, void *adapter),
+	rte_trace_ctf_u8(adptr_id); rte_trace_ctf_ptr(adapter);
+)
+
+RTE_TRACE_POINT(
+	rte_trace_lib_event_crypto_adapter_stop,
+	RTE_TRACE_POINT_ARGS(uint8_t adptr_id),
+	rte_trace_ctf_u8(adptr_id);
+)
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RTE_TRACE_EVENTDEV_H_ */
diff --git a/lib/librte_eventdev/rte_trace_eventdev_fp.h b/lib/librte_eventdev/rte_trace_eventdev_fp.h
new file mode 100644
index 000000000..71da9f6ba
--- /dev/null
+++ b/lib/librte_eventdev/rte_trace_eventdev_fp.h
@@ -0,0 +1,75 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2020 Marvell International Ltd.
+ */
+
+#ifndef _RTE_TRACE_EVENTDEV_FP_H_
+#define _RTE_TRACE_EVENTDEV_FP_H_
+
+/**
+ * @file
+ *
+ * API for ethdev trace support
+ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <rte_trace.h>
+
+RTE_TRACE_POINT_DP(
+	rte_trace_lib_event_deq_burst,
+	RTE_TRACE_POINT_ARGS(uint8_t dev_id, uint8_t port_id, void *ev_table,
+			     uint16_t nb_events),
+	rte_trace_ctf_u8(dev_id); rte_trace_ctf_u8(port_id);
+	rte_trace_ctf_ptr(ev_table); rte_trace_ctf_u16(nb_events);
+)
+
+RTE_TRACE_POINT_DP(
+	rte_trace_lib_event_enq_burst,
+	RTE_TRACE_POINT_ARGS(uint8_t dev_id, uint8_t port_id,
+			     const void *ev_table, uint16_t nb_events,
+			     void *enq_mode_cb),
+	rte_trace_ctf_u8(dev_id); rte_trace_ctf_u8(port_id);
+	rte_trace_ctf_ptr(ev_table); rte_trace_ctf_u16(nb_events);
+	rte_trace_ctf_ptr(enq_mode_cb);
+)
+
+RTE_TRACE_POINT_DP(
+	rte_trace_lib_event_eth_tx_adapter_enqueue,
+	RTE_TRACE_POINT_ARGS(uint8_t dev_id, uint8_t port_id, void *ev_table,
+			     uint16_t nb_events, const uint8_t flags),
+	rte_trace_ctf_u8(dev_id); rte_trace_ctf_u8(port_id);
+	rte_trace_ctf_ptr(ev_table); rte_trace_ctf_u16(nb_events);
+	rte_trace_ctf_u8(flags);
+)
+
+RTE_TRACE_POINT_DP(
+	rte_trace_lib_event_timer_arm_burst,
+	RTE_TRACE_POINT_ARGS(const void *adapter, void **evtims_table,
+			     uint16_t nb_evtims),
+	rte_trace_ctf_ptr(adapter); rte_trace_ctf_ptr(evtims_table);
+	rte_trace_ctf_u16(nb_evtims);
+)
+
+RTE_TRACE_POINT_DP(
+	rte_trace_lib_event_timer_arm_tmo_tick_burst,
+	RTE_TRACE_POINT_ARGS(const void *adapter, const uint64_t timeout_ticks,
+			     void **evtims_table, const uint16_t nb_evtims),
+	rte_trace_ctf_ptr(adapter); rte_trace_ctf_u64(timeout_ticks);
+	rte_trace_ctf_ptr(evtims_table); rte_trace_ctf_u16(nb_evtims);
+)
+
+RTE_TRACE_POINT_DP(
+	rte_trace_lib_event_timer_cancel_burst,
+	RTE_TRACE_POINT_ARGS(const void *adapter, void **evtims_table,
+			     uint16_t nb_evtims),
+	rte_trace_ctf_ptr(adapter); rte_trace_ctf_ptr(evtims_table);
+	rte_trace_ctf_u16(nb_evtims);
+)
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RTE_TRACE_EVENTDEV_FP_H_ */
-- 
2.25.1


  parent reply	other threads:[~2020-03-18 19:07 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] DPDK Trace support 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 ` jerinj [this message]
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   ` [dpdk-dev] [PATCH v3 00/33] DPDK Trace support jerinj
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=20200318190241.3150971-30-jerinj@marvell.com \
    --to=jerinj@marvell.com \
    --cc=abhinandan.gujjar@intel.com \
    --cc=bruce.richardson@intel.com \
    --cc=david.marchand@redhat.com \
    --cc=dev@dpdk.org \
    --cc=erik.g.carrillo@intel.com \
    --cc=mattias.ronnblom@ericsson.com \
    --cc=nikhil.rao@intel.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).