All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ankur Dwivedi <adwivedi@marvell.com>
To: <dev@dpdk.org>
Cc: <thomas@monjalon.net>, <mdr@ashroe.eu>, <orika@nvidia.com>,
	<ferruh.yigit@xilinx.com>, <chas3@att.com>, <humin29@huawei.com>,
	<linville@tuxdriver.com>, <ciara.loftus@intel.com>,
	<qi.z.zhang@intel.com>, <mw@semihalf.com>, <mk@semihalf.com>,
	<shaibran@amazon.com>, <evgenys@amazon.com>, <igorch@amazon.com>,
	<chandu@amd.com>, <irusskikh@marvell.com>,
	<shepard.siegel@atomicrules.com>, <ed.czeck@atomicrules.com>,
	<john.miller@atomicrules.com>, <ajit.khaparde@broadcom.com>,
	<somnath.kotur@broadcom.com>, <jerinj@marvell.com>,
	<mczekaj@marvell.com>, <sthotton@marvell.com>,
	<srinivasan@marvell.com>, <hkalra@marvell.com>,
	<rahul.lakkireddy@chelsio.com>, <johndale@cisco.com>,
	<hyonkim@cisco.com>, <liudongdong3@huawei.com>,
	<yisen.zhuang@huawei.com>, <xuanziyang2@huawei.com>,
	<cloud.wangxiaoyun@huawei.com>, <zhouguoyang@huawei.com>,
	<simei.su@intel.com>, <wenjun1.wu@intel.com>,
	<qiming.yang@intel.com>, <Yuying.Zhang@intel.com>,
	<beilei.xing@intel.com>, <xiao.w.wang@intel.com>,
	<jingjing.wu@intel.com>, <junfeng.guo@intel.com>,
	<rosen.xu@intel.com>, <ndabilpuram@marvell.com>,
	<kirankumark@marvell.com>, <skori@marvell.com>,
	<skoteshwar@marvell.com>, <lironh@marvell.com>, <zr@semihalf.com>,
	<radhac@marvell.com>, <vburru@marvell.com>, <sedara@marvell.com>,
	<matan@nvidia.com>, <viacheslavo@nvidia.com>,
	<sthemmin@microsoft.com>, <longli@microsoft.com>,
	<spinler@cesnet.cz>, <chaoyong.he@corigine.com>,
	<niklas.soderlund@corigine.com>, <hemant.agrawal@nxp.com>,
	<sachin.saxena@oss.nxp.com>, <g.singh@nxp.com>,
	<apeksha.gupta@nxp.com>, <sachin.saxena@nxp.com>,
	<aboyer@pensando.io>, <rmody@marvell.com>, <shshaikh@marvell.com>,
	<dsinghrawat@marvell.com>, <andrew.rybchenko@oktetlabs.ru>,
	<jiawenwu@trustnetic.com>, <jianwang@trustnetic.com>,
	<jbehrens@vmware.com>, <maxime.coquelin@redhat.com>,
	<chenbo.xia@intel.com>, <steven.webster@windriver.com>,
	<matt.peters@windriver.com>, <bruce.richardson@intel.com>,
	<mtetsuyah@gmail.com>, <grive@u256.net>,
	<jasvinder.singh@intel.com>, <cristian.dumitrescu@intel.com>,
	<jgrajcia@cisco.com>, Ankur Dwivedi <adwivedi@marvell.com>
Subject: [PATCH 5/6] ethdev: add trace points for driver
Date: Thu, 4 Aug 2022 19:14:29 +0530	[thread overview]
Message-ID: <20220804134430.6192-6-adwivedi@marvell.com> (raw)
In-Reply-To: <20220804134430.6192-1-adwivedi@marvell.com>

Adds trace points for ethdev driver specific functions in
ethdev lib.

Signed-off-by: Ankur Dwivedi <adwivedi@marvell.com>
---
 lib/ethdev/ethdev_driver.c       |  29 +++++
 lib/ethdev/ethdev_trace_points.c |  66 ++++++++++
 lib/ethdev/rte_ethdev_trace.h    | 200 +++++++++++++++++++++++++++++++
 lib/ethdev/version.map           |  22 ++++
 4 files changed, 317 insertions(+)

diff --git a/lib/ethdev/ethdev_driver.c b/lib/ethdev/ethdev_driver.c
index a285f213f0..74ec57f5fe 100644
--- a/lib/ethdev/ethdev_driver.c
+++ b/lib/ethdev/ethdev_driver.c
@@ -5,6 +5,7 @@
 #include <rte_kvargs.h>
 #include <rte_malloc.h>
 
+#include "rte_ethdev_trace.h"
 #include "ethdev_driver.h"
 #include "ethdev_private.h"
 
@@ -113,6 +114,7 @@ rte_eth_dev_allocate(const char *name)
 unlock:
 	rte_spinlock_unlock(&eth_dev_shared_data->ownership_lock);
 
+	rte_ethdev_trace_allocate(name, eth_dev);
 	return eth_dev;
 }
 
@@ -121,6 +123,7 @@ rte_eth_dev_allocated(const char *name)
 {
 	struct rte_eth_dev *ethdev;
 
+	rte_ethdev_trace_allocated(name);
 	eth_dev_shared_data_prepare();
 
 	rte_spinlock_lock(&eth_dev_shared_data->ownership_lock);
@@ -162,6 +165,7 @@ rte_eth_dev_attach_secondary(const char *name)
 	}
 
 	rte_spinlock_unlock(&eth_dev_shared_data->ownership_lock);
+	rte_ethdev_trace_attach_secondary(name, eth_dev);
 	return eth_dev;
 }
 
@@ -173,6 +177,7 @@ rte_eth_dev_callback_process(struct rte_eth_dev *dev,
 	struct rte_eth_dev_callback dev_cb;
 	int rc = 0;
 
+	rte_ethdev_trace_callback_process(dev, event, ret_param);
 	rte_spinlock_lock(&eth_dev_cb_lock);
 	TAILQ_FOREACH(cb_lst, &(dev->link_intr_cbs), next) {
 		if (cb_lst->cb_fn == NULL || cb_lst->event != event)
@@ -195,6 +200,7 @@ rte_eth_dev_callback_process(struct rte_eth_dev *dev,
 void
 rte_eth_dev_probing_finish(struct rte_eth_dev *dev)
 {
+	rte_ethdev_trace_probing_finish(dev);
 	if (dev == NULL)
 		return;
 
@@ -214,6 +220,7 @@ rte_eth_dev_probing_finish(struct rte_eth_dev *dev)
 int
 rte_eth_dev_release_port(struct rte_eth_dev *eth_dev)
 {
+	rte_ethdev_trace_release_port(eth_dev);
 	if (eth_dev == NULL)
 		return -EINVAL;
 
@@ -264,6 +271,9 @@ rte_eth_dev_create(struct rte_device *device, const char *name,
 	struct rte_eth_dev *ethdev;
 	int retval;
 
+	rte_ethdev_trace_create(device, name, priv_data_size,
+				ethdev_bus_specific_init, bus_init_params,
+				ethdev_init, init_params);
 	RTE_FUNC_PTR_OR_ERR_RET(*ethdev_init, -EINVAL);
 
 	if (rte_eal_process_type() == RTE_PROC_PRIMARY) {
@@ -324,6 +334,7 @@ rte_eth_dev_destroy(struct rte_eth_dev *ethdev,
 {
 	int ret;
 
+	rte_ethdev_trace_destroy(ethdev, ethdev_uninit);
 	ethdev = rte_eth_dev_allocated(ethdev->data->name);
 	if (!ethdev)
 		return -ENODEV;
@@ -342,6 +353,7 @@ rte_eth_dev_get_by_name(const char *name)
 {
 	uint16_t pid;
 
+	rte_ethdev_trace_get_by_name(name);
 	if (rte_eth_dev_get_port_by_name(name, &pid))
 		return NULL;
 
@@ -351,6 +363,7 @@ rte_eth_dev_get_by_name(const char *name)
 int
 rte_eth_dev_is_rx_hairpin_queue(struct rte_eth_dev *dev, uint16_t queue_id)
 {
+	rte_ethdev_trace_is_rx_hairpin_queue(dev, queue_id);
 	if (dev->data->rx_queue_state[queue_id] == RTE_ETH_QUEUE_STATE_HAIRPIN)
 		return 1;
 	return 0;
@@ -359,6 +372,7 @@ rte_eth_dev_is_rx_hairpin_queue(struct rte_eth_dev *dev, uint16_t queue_id)
 int
 rte_eth_dev_is_tx_hairpin_queue(struct rte_eth_dev *dev, uint16_t queue_id)
 {
+	rte_ethdev_trace_is_tx_hairpin_queue(dev, queue_id);
 	if (dev->data->tx_queue_state[queue_id] == RTE_ETH_QUEUE_STATE_HAIRPIN)
 		return 1;
 	return 0;
@@ -367,6 +381,7 @@ rte_eth_dev_is_tx_hairpin_queue(struct rte_eth_dev *dev, uint16_t queue_id)
 void
 rte_eth_dev_internal_reset(struct rte_eth_dev *dev)
 {
+	rte_ethdev_trace_internal_reset(dev, dev->data->dev_started);
 	if (dev->data->dev_started) {
 		RTE_ETHDEV_LOG(ERR, "Port %u must be stopped to allow reset\n",
 			dev->data->port_id);
@@ -451,6 +466,7 @@ rte_eth_devargs_parse(const char *dargs, struct rte_eth_devargs *eth_da)
 	unsigned int i;
 	int result = 0;
 
+	rte_eth_trace_devargs_parse(dargs, eth_da);
 	memset(eth_da, 0, sizeof(*eth_da));
 
 	result = eth_dev_devargs_tokenise(&args, dargs);
@@ -495,6 +511,7 @@ rte_eth_dma_zone_free(const struct rte_eth_dev *dev, const char *ring_name,
 	const struct rte_memzone *mz;
 	int rc = 0;
 
+	rte_eth_trace_dma_zone_free(dev, ring_name, queue_id);
 	rc = eth_dev_dma_mzone_name(z_name, sizeof(z_name), dev->data->port_id,
 			queue_id, ring_name);
 	if (rc >= RTE_MEMZONE_NAMESIZE) {
@@ -520,6 +537,7 @@ rte_eth_dma_zone_reserve(const struct rte_eth_dev *dev, const char *ring_name,
 	const struct rte_memzone *mz;
 	int rc;
 
+	rte_eth_trace_dma_zone_reserve(dev, ring_name, queue_id, size, align, socket_id);
 	rc = eth_dev_dma_mzone_name(z_name, sizeof(z_name), dev->data->port_id,
 			queue_id, ring_name);
 	if (rc >= RTE_MEMZONE_NAMESIZE) {
@@ -553,6 +571,8 @@ rte_eth_hairpin_queue_peer_bind(uint16_t cur_port, uint16_t cur_queue,
 {
 	struct rte_eth_dev *dev;
 
+	rte_eth_trace_hairpin_queue_peer_bind(cur_port, cur_queue, peer_info,
+					      direction);
 	if (peer_info == NULL)
 		return -EINVAL;
 
@@ -571,6 +591,7 @@ rte_eth_hairpin_queue_peer_unbind(uint16_t cur_port, uint16_t cur_queue,
 {
 	struct rte_eth_dev *dev;
 
+	rte_eth_trace_hairpin_queue_peer_unbind(cur_port, cur_queue, direction);
 	/* No need to check the validity again. */
 	dev = &rte_eth_devices[cur_port];
 	RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->hairpin_queue_peer_unbind,
@@ -588,6 +609,8 @@ rte_eth_hairpin_queue_peer_update(uint16_t peer_port, uint16_t peer_queue,
 {
 	struct rte_eth_dev *dev;
 
+	rte_eth_trace_hairpin_queue_peer_update(peer_port, peer_queue, cur_info,
+						peer_info, direction);
 	/* Current queue information is not mandatory. */
 	if (peer_info == NULL)
 		return -EINVAL;
@@ -626,6 +649,8 @@ rte_eth_ip_reassembly_dynfield_register(int *field_offset, int *flag_offset)
 	if (flag_offset != NULL)
 		*flag_offset = offset;
 
+	rte_eth_trace_ip_reassembly_dynfield_register(*field_offset,
+						      *flag_offset);
 	return 0;
 }
 
@@ -729,6 +754,8 @@ rte_eth_representor_id_get(uint16_t port_id,
 	}
 out:
 	free(info);
+	rte_eth_trace_representor_id_get(port_id, type, controller, pf,
+					 representor_port, *repr_id);
 	return ret;
 }
 
@@ -745,6 +772,7 @@ rte_eth_switch_domain_alloc(uint16_t *domain_id)
 			eth_dev_switch_domains[i].state =
 				RTE_ETH_SWITCH_DOMAIN_ALLOCATED;
 			*domain_id = i;
+			rte_eth_trace_switch_domain_alloc(*domain_id);
 			return 0;
 		}
 	}
@@ -755,6 +783,7 @@ rte_eth_switch_domain_alloc(uint16_t *domain_id)
 int
 rte_eth_switch_domain_free(uint16_t domain_id)
 {
+	rte_eth_trace_switch_domain_free(domain_id);
 	if (domain_id == RTE_ETH_DEV_SWITCH_DOMAIN_ID_INVALID ||
 		domain_id >= RTE_MAX_ETHPORTS)
 		return -EINVAL;
diff --git a/lib/ethdev/ethdev_trace_points.c b/lib/ethdev/ethdev_trace_points.c
index 341901d031..61539f379c 100644
--- a/lib/ethdev/ethdev_trace_points.c
+++ b/lib/ethdev/ethdev_trace_points.c
@@ -731,3 +731,69 @@ RTE_TRACE_POINT_REGISTER(rte_tm_trace_wred_profile_add,
 
 RTE_TRACE_POINT_REGISTER(rte_tm_trace_wred_profile_delete,
 	lib.ethdev.tm.wred_profile_delete)
+
+RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_allocate,
+	lib.ethdev.allocate)
+
+RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_allocated,
+	lib.ethdev.allocated)
+
+RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_attach_secondary,
+	lib.ethdev.attach_secondary)
+
+RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_callback_process,
+	lib.ethdev.callback_process)
+
+RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_create,
+	lib.ethdev_create)
+
+RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_destroy,
+	lib.ethdev.destroy)
+
+RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_get_by_name,
+	lib.ethdev.get_by_name)
+
+RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_is_rx_hairpin_queue,
+	lib.ethdev.is_rx_hairpin_queue)
+
+RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_is_tx_hairpin_queue,
+	lib.ethdev.is_tx_hairpin_queue)
+
+RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_probing_finish,
+	lib.ethdev.probing_finish)
+
+RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_release_port,
+	lib.ethdev.release_port)
+
+RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_internal_reset,
+	lib.ethdev.internal_reset)
+
+RTE_TRACE_POINT_REGISTER(rte_eth_trace_devargs_parse,
+	lib.ethdev.devargs_parse)
+
+RTE_TRACE_POINT_REGISTER(rte_eth_trace_dma_zone_free,
+	lib.ethdev.dma_zone_free)
+
+RTE_TRACE_POINT_REGISTER(rte_eth_trace_dma_zone_reserve,
+	lib.ethdev.dma_zone_reserve)
+
+RTE_TRACE_POINT_REGISTER(rte_eth_trace_hairpin_queue_peer_bind,
+	lib.ethdev.hairpin_queue_peer_bind)
+
+RTE_TRACE_POINT_REGISTER(rte_eth_trace_hairpin_queue_peer_unbind,
+	lib.ethdev.hairpin_queue_peer_unbind)
+
+RTE_TRACE_POINT_REGISTER(rte_eth_trace_hairpin_queue_peer_update,
+	lib.ethdev.hairpin_queue_peer_update)
+
+RTE_TRACE_POINT_REGISTER(rte_eth_trace_ip_reassembly_dynfield_register,
+	lib.ethdev.ip_reassembly_dynfield_register)
+
+RTE_TRACE_POINT_REGISTER(rte_eth_trace_representor_id_get,
+	lib.ethdev.representor_id_get)
+
+RTE_TRACE_POINT_REGISTER(rte_eth_trace_switch_domain_alloc,
+	lib.ethdev.switch_domain_alloc)
+
+RTE_TRACE_POINT_REGISTER(rte_eth_trace_switch_domain_free,
+	lib.ethdev.switch_domain_free)
diff --git a/lib/ethdev/rte_ethdev_trace.h b/lib/ethdev/rte_ethdev_trace.h
index aa34a6a5e9..a3c0b6fa76 100644
--- a/lib/ethdev/rte_ethdev_trace.h
+++ b/lib/ethdev/rte_ethdev_trace.h
@@ -17,6 +17,7 @@ extern "C" {
 
 #include <rte_trace_point.h>
 
+#include "ethdev_driver.h"
 #include "rte_ethdev.h"
 #include "rte_mtr.h"
 #include "rte_tm.h"
@@ -2134,6 +2135,205 @@ RTE_TRACE_POINT(
 	rte_trace_point_emit_u32(wred_profile_id);
 )
 
+RTE_TRACE_POINT(
+	rte_ethdev_trace_allocate,
+	RTE_TRACE_POINT_ARGS(const char *name, struct rte_eth_dev *eth_dev),
+	rte_trace_point_emit_string(name);
+	rte_trace_point_emit_u16(eth_dev->data->nb_rx_queues);
+	rte_trace_point_emit_u16(eth_dev->data->nb_tx_queues);
+	rte_trace_point_emit_u16(eth_dev->data->mtu);
+	rte_trace_point_emit_u16(eth_dev->data->port_id);
+	rte_trace_point_emit_int(eth_dev->state);
+)
+
+RTE_TRACE_POINT(
+	rte_ethdev_trace_allocated,
+	RTE_TRACE_POINT_ARGS(const char *name),
+	rte_trace_point_emit_string(name);
+)
+
+RTE_TRACE_POINT(
+	rte_ethdev_trace_attach_secondary,
+	RTE_TRACE_POINT_ARGS(const char *name, struct rte_eth_dev *eth_dev),
+	rte_trace_point_emit_string(name);
+	rte_trace_point_emit_u16(eth_dev->data->nb_rx_queues);
+	rte_trace_point_emit_u16(eth_dev->data->nb_tx_queues);
+	rte_trace_point_emit_u16(eth_dev->data->mtu);
+	rte_trace_point_emit_u16(eth_dev->data->port_id);
+	rte_trace_point_emit_int(eth_dev->state);
+)
+
+RTE_TRACE_POINT(
+	rte_ethdev_trace_callback_process,
+	RTE_TRACE_POINT_ARGS(struct rte_eth_dev *dev,
+		enum rte_eth_event_type event,
+		void *ret_param),
+	rte_trace_point_emit_ptr(dev);
+	rte_trace_point_emit_int(event);
+	rte_trace_point_emit_ptr(ret_param);
+)
+
+RTE_TRACE_POINT(
+	rte_ethdev_trace_create,
+	RTE_TRACE_POINT_ARGS(struct rte_device *device, const char *name,
+		size_t priv_data_size,
+		ethdev_bus_specific_init bus_specific_init,
+		void *bus_init_params, ethdev_init_t ethdev_init,
+		void *init_params),
+	rte_trace_point_emit_ptr(device);
+	rte_trace_point_emit_string(name);
+	rte_trace_point_emit_size_t(priv_data_size);
+	rte_trace_point_emit_ptr(bus_specific_init);
+	rte_trace_point_emit_ptr(bus_init_params);
+	rte_trace_point_emit_ptr(ethdev_init);
+	rte_trace_point_emit_ptr(init_params);
+)
+
+RTE_TRACE_POINT(
+	rte_ethdev_trace_destroy,
+	RTE_TRACE_POINT_ARGS(struct rte_eth_dev *ethdev, ethdev_uninit_t ethdev_uninit),
+	rte_trace_point_emit_ptr(ethdev);
+	rte_trace_point_emit_ptr(ethdev_uninit);
+)
+
+RTE_TRACE_POINT(
+	rte_ethdev_trace_get_by_name,
+	RTE_TRACE_POINT_ARGS(const char *name),
+	rte_trace_point_emit_string(name);
+)
+
+RTE_TRACE_POINT(
+	rte_ethdev_trace_is_rx_hairpin_queue,
+	RTE_TRACE_POINT_ARGS(struct rte_eth_dev *dev, uint16_t queue_id),
+	rte_trace_point_emit_ptr(dev);
+	rte_trace_point_emit_u16(queue_id);
+)
+
+RTE_TRACE_POINT(
+	rte_ethdev_trace_is_tx_hairpin_queue,
+	RTE_TRACE_POINT_ARGS(struct rte_eth_dev *dev, uint16_t queue_id),
+	rte_trace_point_emit_ptr(dev);
+	rte_trace_point_emit_u16(queue_id);
+)
+
+RTE_TRACE_POINT(
+	rte_ethdev_trace_probing_finish,
+	RTE_TRACE_POINT_ARGS(struct rte_eth_dev *dev),
+	rte_trace_point_emit_ptr(dev);
+)
+
+RTE_TRACE_POINT(
+	rte_ethdev_trace_release_port,
+	RTE_TRACE_POINT_ARGS(struct rte_eth_dev *eth_dev),
+	rte_trace_point_emit_ptr(eth_dev);
+)
+
+RTE_TRACE_POINT(
+	rte_ethdev_trace_internal_reset,
+	RTE_TRACE_POINT_ARGS(struct rte_eth_dev *dev,
+		uint8_t dev_started),
+	rte_trace_point_emit_ptr(dev);
+	rte_trace_point_emit_u8(dev_started);
+)
+
+RTE_TRACE_POINT(
+	rte_eth_trace_devargs_parse,
+	RTE_TRACE_POINT_ARGS(const char *devargs, struct rte_eth_devargs *eth_devargs),
+	rte_trace_point_emit_string(devargs);
+	rte_trace_point_emit_ptr(eth_devargs);
+	rte_trace_point_emit_u16(eth_devargs->nb_mh_controllers);
+	rte_trace_point_emit_u16(eth_devargs->nb_ports);
+	rte_trace_point_emit_u16(eth_devargs->nb_representor_ports);
+)
+
+RTE_TRACE_POINT(
+	rte_eth_trace_dma_zone_free,
+	RTE_TRACE_POINT_ARGS(const struct rte_eth_dev *eth_dev, const char *name,
+		uint16_t queue_id),
+	rte_trace_point_emit_ptr(eth_dev);
+	rte_trace_point_emit_string(name);
+	rte_trace_point_emit_u16(queue_id);
+)
+
+RTE_TRACE_POINT(
+	rte_eth_trace_dma_zone_reserve,
+	RTE_TRACE_POINT_ARGS(const struct rte_eth_dev *eth_dev, const char *name,
+		uint16_t queue_id, size_t size, unsigned int align,
+		int socket_id),
+	rte_trace_point_emit_ptr(eth_dev);
+	rte_trace_point_emit_string(name);
+	rte_trace_point_emit_u16(queue_id);
+	rte_trace_point_emit_size_t(size);
+	rte_trace_point_emit_u32(align);
+	rte_trace_point_emit_int(socket_id);
+)
+
+RTE_TRACE_POINT(
+	rte_eth_trace_hairpin_queue_peer_bind,
+	RTE_TRACE_POINT_ARGS(uint16_t cur_port, uint16_t cur_queue,
+		struct rte_hairpin_peer_info *peer_info,
+		uint32_t direction),
+	rte_trace_point_emit_u16(cur_port);
+	rte_trace_point_emit_u16(cur_queue);
+	rte_trace_point_emit_ptr(peer_info);
+	rte_trace_point_emit_u32(direction);
+)
+
+RTE_TRACE_POINT(
+	rte_eth_trace_hairpin_queue_peer_unbind,
+	RTE_TRACE_POINT_ARGS(uint16_t cur_port, uint16_t cur_queue,
+		uint32_t direction),
+	rte_trace_point_emit_u16(cur_port);
+	rte_trace_point_emit_u16(cur_queue);
+	rte_trace_point_emit_u32(direction);
+)
+
+RTE_TRACE_POINT(
+	rte_eth_trace_hairpin_queue_peer_update,
+	RTE_TRACE_POINT_ARGS(uint16_t peer_port, uint16_t peer_queue,
+		struct rte_hairpin_peer_info *cur_info,
+		struct rte_hairpin_peer_info *peer_info,
+		uint32_t direction),
+	rte_trace_point_emit_u16(peer_port);
+	rte_trace_point_emit_u16(peer_queue);
+	rte_trace_point_emit_ptr(cur_info);
+	rte_trace_point_emit_ptr(peer_info);
+	rte_trace_point_emit_u32(direction);
+)
+
+RTE_TRACE_POINT(
+	rte_eth_trace_ip_reassembly_dynfield_register,
+	RTE_TRACE_POINT_ARGS(int field_offset, int flag_offset),
+	rte_trace_point_emit_int(field_offset);
+	rte_trace_point_emit_int(flag_offset);
+)
+
+RTE_TRACE_POINT(
+	rte_eth_trace_representor_id_get,
+	RTE_TRACE_POINT_ARGS(uint16_t port_id,
+		enum rte_eth_representor_type type,
+		int controller, int pf, int representor_port,
+		uint16_t repr_id),
+	rte_trace_point_emit_u16(port_id);
+	rte_trace_point_emit_int(type);
+	rte_trace_point_emit_int(controller);
+	rte_trace_point_emit_int(pf);
+	rte_trace_point_emit_int(representor_port);
+	rte_trace_point_emit_u16(repr_id);
+)
+
+RTE_TRACE_POINT(
+	rte_eth_trace_switch_domain_alloc,
+	RTE_TRACE_POINT_ARGS(uint16_t domain_id),
+	rte_trace_point_emit_u16(domain_id);
+)
+
+RTE_TRACE_POINT(
+	rte_eth_trace_switch_domain_free,
+	RTE_TRACE_POINT_ARGS(uint16_t domain_id),
+	rte_trace_point_emit_u16(domain_id);
+)
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/lib/ethdev/version.map b/lib/ethdev/version.map
index ee4012789f..ee3ff4793d 100644
--- a/lib/ethdev/version.map
+++ b/lib/ethdev/version.map
@@ -520,6 +520,28 @@ EXPERIMENTAL {
 	__rte_tm_trace_shared_wred_context_delete;
 	__rte_tm_trace_wred_profile_add;
 	__rte_tm_trace_wred_profile_delete;
+	__rte_ethdev_trace_allocate;
+	__rte_ethdev_trace_allocated;
+	__rte_ethdev_trace_attach_secondary;
+	__rte_ethdev_trace_callback_process;
+	__rte_ethdev_trace_create;
+	__rte_ethdev_trace_destroy;
+	__rte_ethdev_trace_get_by_name;
+	__rte_ethdev_trace_is_rx_hairpin_queue;
+	__rte_ethdev_trace_is_tx_hairpin_queue;
+	__rte_ethdev_trace_probing_finish;
+	__rte_ethdev_trace_release_port;
+	__rte_ethdev_trace_internal_reset;
+	__rte_eth_trace_devargs_parse;
+	__rte_eth_trace_dma_zone_free;
+	__rte_eth_trace_dma_zone_reserve;
+	__rte_eth_trace_hairpin_queue_peer_bind;
+	__rte_eth_trace_hairpin_queue_peer_unbind;
+	__rte_eth_trace_hairpin_queue_peer_update;
+	__rte_eth_trace_ip_reassembly_dynfield_register;
+	__rte_eth_trace_representor_id_get;
+	__rte_eth_trace_switch_domain_alloc;
+	__rte_eth_trace_switch_domain_free;
 };
 
 INTERNAL {
-- 
2.28.0


  parent reply	other threads:[~2022-08-04 13:50 UTC|newest]

Thread overview: 172+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-04 13:44 [PATCH 0/6] add trace points in ethdev library Ankur Dwivedi
2022-08-04 13:44 ` [PATCH 1/6] ethdev: add trace points Ankur Dwivedi
2022-09-12 11:00   ` Andrew Rybchenko
2022-09-13  6:48     ` [EXT] " Ankur Dwivedi
2022-09-13  7:18       ` Andrew Rybchenko
2022-09-26 15:03         ` Andrew Rybchenko
2022-09-28  4:02           ` Jerin Jacob
2022-08-04 13:44 ` [PATCH 2/6] ethdev: add trace points for flow Ankur Dwivedi
2022-08-04 13:44 ` [PATCH 3/6] ethdev: add trace points for mtr Ankur Dwivedi
2022-08-04 13:44 ` [PATCH 4/6] ethdev: add trace points for tm Ankur Dwivedi
2022-08-04 13:44 ` Ankur Dwivedi [this message]
2022-08-04 13:44 ` [PATCH 6/6] devtools: add trace function check in checkpatch Ankur Dwivedi
2022-09-29 10:29 ` [PATCH v2 0/4] add trace points in ethdev library Ankur Dwivedi
2022-09-29 10:29   ` [PATCH v2 1/4] ethdev: add trace points Ankur Dwivedi
2022-10-06  7:09     ` Andrew Rybchenko
2022-10-06  7:24       ` [EXT] " Ankur Dwivedi
2022-10-06  7:27         ` Andrew Rybchenko
2022-10-06  7:43           ` Ankur Dwivedi
2022-10-06  7:50             ` Andrew Rybchenko
2022-10-06  7:57               ` David Marchand
2022-10-12  9:49                 ` Jerin Jacob
2022-10-12  9:56                   ` David Marchand
2022-09-29 10:29   ` [PATCH v2 2/4] ethdev: add trace points for flow Ankur Dwivedi
2022-09-29 10:29   ` [PATCH v2 3/4] ethdev: add trace points for mtr Ankur Dwivedi
2022-09-29 10:29   ` [PATCH v2 4/4] ethdev: add trace points for tm Ankur Dwivedi
2022-10-06  7:10   ` [PATCH v2 0/4] add trace points in ethdev library Andrew Rybchenko
2022-10-06  7:26     ` [EXT] " Ankur Dwivedi
2022-10-06  7:28       ` Andrew Rybchenko
2022-10-06  7:47         ` Ankur Dwivedi
2022-10-06 12:55           ` Ankur Dwivedi
2022-10-06 15:18   ` [PATCH v3 " Ankur Dwivedi
2022-10-06 15:18     ` [PATCH v3 1/4] ethdev: add trace points Ankur Dwivedi
2022-10-06 16:03       ` Morten Brørup
2022-10-07 16:23       ` Ankur Dwivedi
2022-10-10  6:39         ` Ankur Dwivedi
2022-12-12 18:34           ` Ferruh Yigit
2022-12-12 18:38       ` Ferruh Yigit
2022-12-14 10:34         ` David Marchand
2022-12-14 11:04           ` Ferruh Yigit
2022-12-13 20:06       ` Ferruh Yigit
2022-12-14 10:40         ` Jerin Jacob
2022-12-14 12:10           ` Ferruh Yigit
2022-12-15  6:49             ` Jerin Jacob
2023-01-12  9:10               ` Thomas Monjalon
2023-01-12  9:43                 ` trace point symbols Morten Brørup
2023-01-13 11:22                   ` Jerin Jacob
2022-12-14 13:52         ` [EXT] Re: [PATCH v3 1/4] ethdev: add trace points Ankur Dwivedi
2022-10-06 15:18     ` [PATCH v3 2/4] ethdev: add trace points for flow Ankur Dwivedi
2022-10-06 15:18     ` [PATCH v3 3/4] ethdev: add trace points for mtr Ankur Dwivedi
2022-10-06 15:18     ` [PATCH v3 4/4] ethdev: add trace points for tm Ankur Dwivedi
2022-12-22  6:32     ` [PATCH v4 0/6] add trace points in ethdev library Ankur Dwivedi
2022-12-22  6:33       ` [PATCH v4 1/6] eal: trace: add trace point emit for array Ankur Dwivedi
2022-12-22  9:06         ` Sunil Kumar Kori
2022-12-22 10:32         ` Morten Brørup
2022-12-22 15:18           ` Ankur Dwivedi
2022-12-22  6:33       ` [PATCH v4 2/6] ethdev: add trace points for ethdev Ankur Dwivedi
2022-12-22 10:50         ` Morten Brørup
2022-12-22  6:33       ` [PATCH v4 3/6] ethdev: add trace points for remaining functions Ankur Dwivedi
2022-12-22  6:33       ` [PATCH v4 4/6] ethdev: add trace points for flow Ankur Dwivedi
2022-12-22  6:33       ` [PATCH v4 5/6] ethdev: add trace points for mtr Ankur Dwivedi
2022-12-22  6:33       ` [PATCH v4 6/6] ethdev: add trace points for tm Ankur Dwivedi
2023-01-12 11:21       ` [PATCH v5 0/6] add trace points in ethdev library Ankur Dwivedi
2023-01-12 11:21         ` [PATCH v5 1/6] eal: trace: add trace point emit for blob Ankur Dwivedi
2023-01-12 12:38           ` Morten Brørup
2023-01-12 13:22             ` Ankur Dwivedi
2023-01-12 16:29           ` Sunil Kumar Kori
2023-01-12 16:43             ` Sunil Kumar Kori
2023-01-12 11:21         ` [PATCH v5 2/6] ethdev: add trace points for ethdev Ankur Dwivedi
2023-01-12 16:34           ` Sunil Kumar Kori
2023-01-12 11:21         ` [PATCH v5 3/6] ethdev: add trace points for remaining functions Ankur Dwivedi
2023-01-12 16:38           ` Sunil Kumar Kori
2023-01-13  6:31             ` Ankur Dwivedi
2023-01-13  8:11               ` Sunil Kumar Kori
2023-01-12 11:21         ` [PATCH v5 4/6] ethdev: add trace points for flow Ankur Dwivedi
2023-01-12 11:21         ` [PATCH v5 5/6] ethdev: add trace points for mtr Ankur Dwivedi
2023-01-12 11:21         ` [PATCH v5 6/6] ethdev: add trace points for tm Ankur Dwivedi
2023-01-12 17:03         ` [PATCH v5 0/6] add trace points in ethdev library Ferruh Yigit
2023-01-13  6:32           ` [EXT] " Ankur Dwivedi
2023-01-20  8:40         ` [PATCH v6 " Ankur Dwivedi
2023-01-20  8:40           ` [PATCH v6 1/6] eal: trace: add trace point emit for blob Ankur Dwivedi
2023-01-20 10:11             ` Morten Brørup
2023-01-23 17:27             ` Ferruh Yigit
2023-01-25 15:02               ` [EXT] " Ankur Dwivedi
2023-01-25 16:09                 ` Ferruh Yigit
2023-01-30 13:35                   ` Ankur Dwivedi
2023-01-20  8:40           ` [PATCH v6 2/6] ethdev: add trace points for ethdev (part one) Ankur Dwivedi
2023-01-23 17:28             ` Ferruh Yigit
2023-01-30 16:01               ` [EXT] " Ankur Dwivedi
2023-01-31 18:38                 ` Ferruh Yigit
2023-01-31 18:46                   ` Jerin Jacob
2023-01-31 22:20                     ` Ferruh Yigit
2023-02-01  8:31                       ` Jerin Jacob
2023-02-01 10:50                         ` Ferruh Yigit
2023-02-01 15:42                   ` Ankur Dwivedi
2023-02-02  8:56                     ` Ferruh Yigit
2023-02-02 10:20                       ` Ankur Dwivedi
2023-02-02 12:52                         ` Ferruh Yigit
2023-02-02 13:40                           ` Ankur Dwivedi
2023-02-02 13:44                             ` Ferruh Yigit
2023-02-02 13:53                               ` Ankur Dwivedi
2023-01-20  8:40           ` [PATCH v6 3/6] ethdev: add trace points for ethdev (part two) Ankur Dwivedi
2023-01-20  8:40           ` [PATCH v6 4/6] ethdev: add trace points for flow Ankur Dwivedi
2023-01-20  8:40           ` [PATCH v6 5/6] ethdev: add trace points for mtr Ankur Dwivedi
2023-01-20  8:40           ` [PATCH v6 6/6] ethdev: add trace points for tm Ankur Dwivedi
2023-01-23  9:02           ` [PATCH v7 0/6] add trace points in ethdev library Ankur Dwivedi
2023-01-23  9:02             ` [PATCH v7 1/6] eal: trace: add trace point emit for blob Ankur Dwivedi
2023-01-23 13:01               ` Jerin Jacob
2023-01-23 13:08                 ` Morten Brørup
2023-01-23 13:39                   ` Ankur Dwivedi
2023-01-30  7:30               ` Sunil Kumar Kori
2023-01-30  8:15                 ` Morten Brørup
2023-01-30  8:40                   ` Sunil Kumar Kori
2023-01-23  9:02             ` [PATCH v7 2/6] ethdev: add trace points for ethdev (part one) Ankur Dwivedi
2023-01-30  8:45               ` Sunil Kumar Kori
2023-01-23  9:02             ` [PATCH v7 3/6] ethdev: add trace points for ethdev (part two) Ankur Dwivedi
2023-01-30  8:47               ` Sunil Kumar Kori
2023-01-23  9:02             ` [PATCH v7 4/6] ethdev: add trace points for flow Ankur Dwivedi
2023-02-02 13:52               ` Ori Kam
2023-02-02 13:56                 ` Ori Kam
2023-02-02 15:45                   ` Ankur Dwivedi
2023-01-23  9:02             ` [PATCH v7 5/6] ethdev: add trace points for mtr Ankur Dwivedi
2023-01-30  8:50               ` Sunil Kumar Kori
2023-01-23  9:02             ` [PATCH v7 6/6] ethdev: add trace points for tm Ankur Dwivedi
2023-02-06 11:58             ` [PATCH v8 0/6] add trace points in ethdev library Ankur Dwivedi
2023-02-06 11:58               ` [PATCH v8 1/6] eal: trace: add trace point emit for blob Ankur Dwivedi
2023-02-06 14:48                 ` David Marchand
2023-02-07  5:08                   ` [EXT] " Ankur Dwivedi
2023-02-06 11:58               ` [PATCH v8 2/6] ethdev: add trace points for ethdev (part one) Ankur Dwivedi
2023-02-06 11:58               ` [PATCH v8 3/6] ethdev: add trace points for ethdev (part two) Ankur Dwivedi
2023-02-06 11:58               ` [PATCH v8 4/6] ethdev: add trace points for flow Ankur Dwivedi
2023-02-06 11:58               ` [PATCH v8 5/6] ethdev: add trace points for mtr Ankur Dwivedi
2023-02-06 11:58               ` [PATCH v8 6/6] ethdev: add trace points for tm Ankur Dwivedi
2023-02-07  6:32               ` [PATCH v9 0/6] add trace points in ethdev library Ankur Dwivedi
2023-02-07  6:32                 ` [PATCH v9 1/6] eal: trace: add trace point emit for blob Ankur Dwivedi
2023-02-08  1:16                   ` Ferruh Yigit
2023-02-07  6:32                 ` [PATCH v9 2/6] ethdev: add trace points for ethdev (part one) Ankur Dwivedi
2023-02-08  1:16                   ` Ferruh Yigit
2023-02-08 10:30                     ` [EXT] " Ankur Dwivedi
2023-02-07  6:32                 ` [PATCH v9 3/6] ethdev: add trace points for ethdev (part two) Ankur Dwivedi
2023-02-08  1:20                   ` Ferruh Yigit
2023-02-08 10:42                     ` [EXT] " Ankur Dwivedi
2023-02-08 11:00                       ` Ferruh Yigit
2023-02-08 11:04                         ` Ferruh Yigit
2023-02-08 14:15                           ` Ankur Dwivedi
2023-02-08 15:05                             ` Ferruh Yigit
2023-02-08 15:11                               ` Ankur Dwivedi
2023-02-07  6:32                 ` [PATCH v9 4/6] ethdev: add trace points for flow Ankur Dwivedi
2023-02-07  6:32                 ` [PATCH v9 5/6] ethdev: add trace points for mtr Ankur Dwivedi
2023-02-07  6:32                 ` [PATCH v9 6/6] ethdev: add trace points for tm Ankur Dwivedi
2023-02-08 13:28                 ` [PATCH v10 0/6] add trace points in ethdev library Ankur Dwivedi
2023-02-08 13:28                   ` [PATCH v10 1/6] eal: trace: add trace point emit for blob Ankur Dwivedi
2023-02-08 13:28                   ` [PATCH v10 2/6] ethdev: add trace points for ethdev (part one) Ankur Dwivedi
2023-02-08 13:28                   ` [PATCH v10 3/6] ethdev: add trace points for ethdev (part two) Ankur Dwivedi
2023-02-08 13:28                   ` [PATCH v10 4/6] ethdev: add trace points for flow Ankur Dwivedi
2023-02-08 16:15                     ` Ori Kam
2023-02-08 13:28                   ` [PATCH v10 5/6] ethdev: add trace points for mtr Ankur Dwivedi
2023-02-08 13:28                   ` [PATCH v10 6/6] ethdev: add trace points for tm Ankur Dwivedi
2023-03-15  7:14                     ` Yuan, DukaiX
2023-03-16  9:58                       ` Ankur Dwivedi
2023-02-08 17:12                   ` [PATCH v11 0/6] add trace points in ethdev library Ankur Dwivedi
2023-02-08 17:12                     ` [PATCH v11 1/6] eal: trace: add trace point emit for blob Ankur Dwivedi
2023-02-08 17:12                     ` [PATCH v11 2/6] ethdev: add trace points for ethdev (part one) Ankur Dwivedi
2023-02-17  7:32                       ` Li, WeiyuanX
2023-02-08 17:12                     ` [PATCH v11 3/6] ethdev: add trace points for ethdev (part two) Ankur Dwivedi
2023-02-08 20:09                       ` Ferruh Yigit
2023-02-08 17:12                     ` [PATCH v11 4/6] ethdev: add trace points for flow Ankur Dwivedi
2023-02-08 17:12                     ` [PATCH v11 5/6] ethdev: add trace points for mtr Ankur Dwivedi
2023-02-08 17:12                     ` [PATCH v11 6/6] ethdev: add trace points for tm Ankur Dwivedi
2023-02-08 20:09                     ` [PATCH v11 0/6] add trace points in ethdev library Ferruh Yigit
2023-02-26 18:34                     ` Ali Alnubani
2023-02-27  9:38                       ` Ankur Dwivedi
2023-01-23 17:30           ` [PATCH v6 " Ferruh Yigit

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=20220804134430.6192-6-adwivedi@marvell.com \
    --to=adwivedi@marvell.com \
    --cc=Yuying.Zhang@intel.com \
    --cc=aboyer@pensando.io \
    --cc=ajit.khaparde@broadcom.com \
    --cc=andrew.rybchenko@oktetlabs.ru \
    --cc=apeksha.gupta@nxp.com \
    --cc=beilei.xing@intel.com \
    --cc=bruce.richardson@intel.com \
    --cc=chandu@amd.com \
    --cc=chaoyong.he@corigine.com \
    --cc=chas3@att.com \
    --cc=chenbo.xia@intel.com \
    --cc=ciara.loftus@intel.com \
    --cc=cloud.wangxiaoyun@huawei.com \
    --cc=cristian.dumitrescu@intel.com \
    --cc=dev@dpdk.org \
    --cc=dsinghrawat@marvell.com \
    --cc=ed.czeck@atomicrules.com \
    --cc=evgenys@amazon.com \
    --cc=ferruh.yigit@xilinx.com \
    --cc=g.singh@nxp.com \
    --cc=grive@u256.net \
    --cc=hemant.agrawal@nxp.com \
    --cc=hkalra@marvell.com \
    --cc=humin29@huawei.com \
    --cc=hyonkim@cisco.com \
    --cc=igorch@amazon.com \
    --cc=irusskikh@marvell.com \
    --cc=jasvinder.singh@intel.com \
    --cc=jbehrens@vmware.com \
    --cc=jerinj@marvell.com \
    --cc=jgrajcia@cisco.com \
    --cc=jianwang@trustnetic.com \
    --cc=jiawenwu@trustnetic.com \
    --cc=jingjing.wu@intel.com \
    --cc=john.miller@atomicrules.com \
    --cc=johndale@cisco.com \
    --cc=junfeng.guo@intel.com \
    --cc=kirankumark@marvell.com \
    --cc=linville@tuxdriver.com \
    --cc=lironh@marvell.com \
    --cc=liudongdong3@huawei.com \
    --cc=longli@microsoft.com \
    --cc=matan@nvidia.com \
    --cc=matt.peters@windriver.com \
    --cc=maxime.coquelin@redhat.com \
    --cc=mczekaj@marvell.com \
    --cc=mdr@ashroe.eu \
    --cc=mk@semihalf.com \
    --cc=mtetsuyah@gmail.com \
    --cc=mw@semihalf.com \
    --cc=ndabilpuram@marvell.com \
    --cc=niklas.soderlund@corigine.com \
    --cc=orika@nvidia.com \
    --cc=qi.z.zhang@intel.com \
    --cc=qiming.yang@intel.com \
    --cc=radhac@marvell.com \
    --cc=rahul.lakkireddy@chelsio.com \
    --cc=rmody@marvell.com \
    --cc=rosen.xu@intel.com \
    --cc=sachin.saxena@nxp.com \
    --cc=sachin.saxena@oss.nxp.com \
    --cc=sedara@marvell.com \
    --cc=shaibran@amazon.com \
    --cc=shepard.siegel@atomicrules.com \
    --cc=shshaikh@marvell.com \
    --cc=simei.su@intel.com \
    --cc=skori@marvell.com \
    --cc=skoteshwar@marvell.com \
    --cc=somnath.kotur@broadcom.com \
    --cc=spinler@cesnet.cz \
    --cc=srinivasan@marvell.com \
    --cc=steven.webster@windriver.com \
    --cc=sthemmin@microsoft.com \
    --cc=sthotton@marvell.com \
    --cc=thomas@monjalon.net \
    --cc=vburru@marvell.com \
    --cc=viacheslavo@nvidia.com \
    --cc=wenjun1.wu@intel.com \
    --cc=xiao.w.wang@intel.com \
    --cc=xuanziyang2@huawei.com \
    --cc=yisen.zhuang@huawei.com \
    --cc=zhouguoyang@huawei.com \
    --cc=zr@semihalf.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.