All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ankur Dwivedi <adwivedi@marvell.com>
To: <dev@dpdk.org>
Cc: <thomas@monjalon.net>, <david.marchand@redhat.com>,
	<mdr@ashroe.eu>, <orika@nvidia.com>, <ferruh.yigit@amd.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>, <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>, <mb@smartsharesystems.com>,
	Ankur Dwivedi <adwivedi@marvell.com>
Subject: [PATCH v6 6/6] ethdev: add trace points for tm
Date: Fri, 20 Jan 2023 14:10:59 +0530	[thread overview]
Message-ID: <20230120084059.2926575-7-adwivedi@marvell.com> (raw)
In-Reply-To: <20230120084059.2926575-1-adwivedi@marvell.com>

Adds trace points for rte_tm specific functions in ethdev lib.

Signed-off-by: Ankur Dwivedi <adwivedi@marvell.com>
---
 lib/ethdev/ethdev_trace_points.c |  90 +++++++++++
 lib/ethdev/rte_ethdev_trace.h    | 141 ++++++++++++++++++
 lib/ethdev/rte_ethdev_trace_fp.h | 171 +++++++++++++++++++++
 lib/ethdev/rte_tm.c              | 247 +++++++++++++++++++++++++++----
 lib/ethdev/version.map           |  30 ++++
 5 files changed, 650 insertions(+), 29 deletions(-)

diff --git a/lib/ethdev/ethdev_trace_points.c b/lib/ethdev/ethdev_trace_points.c
index 067e5fdab4..af66a139df 100644
--- a/lib/ethdev/ethdev_trace_points.c
+++ b/lib/ethdev/ethdev_trace_points.c
@@ -654,3 +654,93 @@ RTE_TRACE_POINT_REGISTER(rte_mtr_trace_color_in_protocol_priority_get,
 
 RTE_TRACE_POINT_REGISTER(rte_mtr_trace_color_in_protocol_set,
 	lib.ethdev.mtr.color_in_protocol_set)
+
+RTE_TRACE_POINT_REGISTER(rte_tm_trace_capabilities_get,
+	lib.ethdev.tm.capabilities_get)
+
+RTE_TRACE_POINT_REGISTER(rte_tm_trace_get_number_of_leaf_nodes,
+	lib.ethdev.tm.get_number_of_leaf_nodes)
+
+RTE_TRACE_POINT_REGISTER(rte_tm_trace_hierarchy_commit,
+	lib.ethdev.tm.hierarchy_commit)
+
+RTE_TRACE_POINT_REGISTER(rte_tm_trace_level_capabilities_get,
+	lib.ethdev.tm.level_capabilities_get)
+
+RTE_TRACE_POINT_REGISTER(rte_tm_trace_mark_ip_dscp,
+	lib.ethdev.tm.mark_ip_dscp)
+
+RTE_TRACE_POINT_REGISTER(rte_tm_trace_mark_ip_ecn,
+	lib.ethdev.tm.mark_ip_ecn)
+
+RTE_TRACE_POINT_REGISTER(rte_tm_trace_mark_vlan_dei,
+	lib.ethdev.tm.mark_vlan_dei)
+
+RTE_TRACE_POINT_REGISTER(rte_tm_trace_node_add,
+	lib.ethdev.tm.node_add)
+
+RTE_TRACE_POINT_REGISTER(rte_tm_trace_node_capabilities_get,
+	lib.ethdev.tm.node_capabilities_get)
+
+RTE_TRACE_POINT_REGISTER(rte_tm_trace_node_cman_update,
+	lib.ethdev.tm.node_cman_update)
+
+RTE_TRACE_POINT_REGISTER(rte_tm_trace_node_delete,
+	lib.ethdev.tm.node_delete)
+
+RTE_TRACE_POINT_REGISTER(rte_tm_trace_node_parent_update,
+	lib.ethdev.tm.node_parent_update)
+
+RTE_TRACE_POINT_REGISTER(rte_tm_trace_node_resume,
+	lib.ethdev.tm.node_resume)
+
+RTE_TRACE_POINT_REGISTER(rte_tm_trace_node_shaper_update,
+	lib.ethdev.tm.node_shaper_update)
+
+RTE_TRACE_POINT_REGISTER(rte_tm_trace_node_shared_shaper_update,
+	lib.ethdev.tm.node_shared_shaper_update)
+
+RTE_TRACE_POINT_REGISTER(rte_tm_trace_node_shared_wred_context_update,
+	lib.ethdev.tm.node_shared_wred_context_update)
+
+RTE_TRACE_POINT_REGISTER(rte_tm_trace_node_stats_read,
+	lib.ethdev.tm.node_stats_read)
+
+RTE_TRACE_POINT_REGISTER(rte_tm_trace_node_stats_update,
+	lib.ethdev.tm.node_stats_update)
+
+RTE_TRACE_POINT_REGISTER(rte_tm_trace_node_suspend,
+	lib.ethdev.tm.node_suspend)
+
+RTE_TRACE_POINT_REGISTER(rte_tm_trace_node_type_get,
+	lib.ethdev.tm.node_type_get)
+
+RTE_TRACE_POINT_REGISTER(rte_tm_trace_node_wfq_weight_mode_update,
+	lib.ethdev.tm.node_wfq_weight_mode_update)
+
+RTE_TRACE_POINT_REGISTER(rte_tm_trace_node_wred_context_update,
+	lib.ethdev.tm.node_wred_context_update)
+
+RTE_TRACE_POINT_REGISTER(rte_tm_trace_shaper_profile_add,
+	lib.ethdev.tm.shaper_profile_add)
+
+RTE_TRACE_POINT_REGISTER(rte_tm_trace_shaper_profile_delete,
+	lib.ethdev.tm.shaper_profile_delete)
+
+RTE_TRACE_POINT_REGISTER(rte_tm_trace_shared_shaper_add_update,
+	lib.ethdev.tm.shared_shaper_add_update)
+
+RTE_TRACE_POINT_REGISTER(rte_tm_trace_shared_shaper_delete,
+	lib.ethdev.tm.shared_shaper_delete)
+
+RTE_TRACE_POINT_REGISTER(rte_tm_trace_shared_wred_context_add_update,
+	lib.ethdev.tm.shared_wred_context_add_update)
+
+RTE_TRACE_POINT_REGISTER(rte_tm_trace_shared_wred_context_delete,
+	lib.ethdev.tm.shared_wred_context_delete)
+
+RTE_TRACE_POINT_REGISTER(rte_tm_trace_wred_profile_add,
+	lib.ethdev.tm.wred_profile_add)
+
+RTE_TRACE_POINT_REGISTER(rte_tm_trace_wred_profile_delete,
+	lib.ethdev.tm.wred_profile_delete)
diff --git a/lib/ethdev/rte_ethdev_trace.h b/lib/ethdev/rte_ethdev_trace.h
index 2a0516e10d..694ab0c731 100644
--- a/lib/ethdev/rte_ethdev_trace.h
+++ b/lib/ethdev/rte_ethdev_trace.h
@@ -19,6 +19,7 @@ extern "C" {
 
 #include "rte_ethdev.h"
 #include "rte_mtr.h"
+#include "rte_tm.h"
 
 RTE_TRACE_POINT(
 	rte_ethdev_trace_configure,
@@ -1397,6 +1398,146 @@ RTE_TRACE_POINT(
 	rte_trace_point_emit_int(ret);
 )
 
+RTE_TRACE_POINT(
+	rte_tm_trace_capabilities_get,
+	RTE_TRACE_POINT_ARGS(uint16_t port_id,
+		struct rte_tm_capabilities *cap, int ret),
+	rte_trace_point_emit_u16(port_id);
+	rte_trace_point_emit_ptr(cap);
+	rte_trace_point_emit_int(ret);
+)
+
+RTE_TRACE_POINT(
+	rte_tm_trace_hierarchy_commit,
+	RTE_TRACE_POINT_ARGS(uint16_t port_id, int clear_on_fail, int ret),
+	rte_trace_point_emit_u16(port_id);
+	rte_trace_point_emit_int(clear_on_fail);
+	rte_trace_point_emit_int(ret);
+)
+
+RTE_TRACE_POINT(
+	rte_tm_trace_level_capabilities_get,
+	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t level_id,
+		struct rte_tm_level_capabilities *cap, int ret),
+	rte_trace_point_emit_u16(port_id);
+	rte_trace_point_emit_u32(level_id);
+	rte_trace_point_emit_ptr(cap);
+	rte_trace_point_emit_int(ret);
+)
+
+RTE_TRACE_POINT(
+	rte_tm_trace_node_add,
+	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t node_id,
+		uint32_t parent_node_id, uint32_t priority,
+		uint32_t weight, uint32_t level_id,
+		struct rte_tm_node_params *params, int ret),
+	rte_trace_point_emit_u16(port_id);
+	rte_trace_point_emit_u32(node_id);
+	rte_trace_point_emit_u32(parent_node_id);
+	rte_trace_point_emit_u32(priority);
+	rte_trace_point_emit_u32(weight);
+	rte_trace_point_emit_u32(level_id);
+	rte_trace_point_emit_ptr(params);
+	rte_trace_point_emit_u32(params->shaper_profile_id);
+	rte_trace_point_emit_u32(params->n_shared_shapers);
+	rte_trace_point_emit_u64(params->stats_mask);
+	rte_trace_point_emit_int(ret);
+)
+
+RTE_TRACE_POINT(
+	rte_tm_trace_node_capabilities_get,
+	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t node_id,
+		struct rte_tm_node_capabilities *cap, int ret),
+	rte_trace_point_emit_u16(port_id);
+	rte_trace_point_emit_u32(node_id);
+	rte_trace_point_emit_ptr(cap);
+	rte_trace_point_emit_int(ret);
+)
+
+RTE_TRACE_POINT(
+	rte_tm_trace_node_delete,
+	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t node_id, int ret),
+	rte_trace_point_emit_u16(port_id);
+	rte_trace_point_emit_u32(node_id);
+	rte_trace_point_emit_int(ret);
+)
+
+RTE_TRACE_POINT(
+	rte_tm_trace_node_resume,
+	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t node_id, int ret),
+	rte_trace_point_emit_u16(port_id);
+	rte_trace_point_emit_u32(node_id);
+	rte_trace_point_emit_int(ret);
+)
+
+RTE_TRACE_POINT(
+	rte_tm_trace_node_suspend,
+	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t node_id, int ret),
+	rte_trace_point_emit_u16(port_id);
+	rte_trace_point_emit_u32(node_id);
+	rte_trace_point_emit_int(ret);
+)
+
+RTE_TRACE_POINT(
+	rte_tm_trace_shaper_profile_add,
+	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t shaper_profile_id,
+		struct rte_tm_shaper_params *profile, int ret),
+	rte_trace_point_emit_u16(port_id);
+	rte_trace_point_emit_u32(shaper_profile_id);
+	rte_trace_point_emit_ptr(profile);
+	rte_trace_point_emit_u64(profile->committed.rate);
+	rte_trace_point_emit_u64(profile->committed.size);
+	rte_trace_point_emit_u64(profile->peak.rate);
+	rte_trace_point_emit_u64(profile->peak.size);
+	rte_trace_point_emit_i32(profile->pkt_length_adjust);
+	rte_trace_point_emit_int(profile->packet_mode);
+	rte_trace_point_emit_int(ret);
+)
+
+RTE_TRACE_POINT(
+	rte_tm_trace_shaper_profile_delete,
+	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t shaper_profile_id, int ret),
+	rte_trace_point_emit_u16(port_id);
+	rte_trace_point_emit_u32(shaper_profile_id);
+	rte_trace_point_emit_int(ret);
+)
+
+RTE_TRACE_POINT(
+	rte_tm_trace_shared_shaper_delete,
+	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t shared_shaper_id, int ret),
+	rte_trace_point_emit_u16(port_id);
+	rte_trace_point_emit_u32(shared_shaper_id);
+	rte_trace_point_emit_int(ret);
+)
+
+RTE_TRACE_POINT(
+	rte_tm_trace_shared_wred_context_delete,
+	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t shared_wred_context_id,
+		int ret),
+	rte_trace_point_emit_u16(port_id);
+	rte_trace_point_emit_u32(shared_wred_context_id);
+	rte_trace_point_emit_int(ret);
+)
+
+RTE_TRACE_POINT(
+	rte_tm_trace_wred_profile_add,
+	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t wred_profile_id,
+		struct rte_tm_wred_params *profile, int ret),
+	rte_trace_point_emit_u16(port_id);
+	rte_trace_point_emit_u32(wred_profile_id);
+	rte_trace_point_emit_ptr(profile);
+	rte_trace_point_emit_int(profile->packet_mode);
+	rte_trace_point_emit_int(ret);
+)
+
+RTE_TRACE_POINT(
+	rte_tm_trace_wred_profile_delete,
+	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t wred_profile_id, int ret),
+	rte_trace_point_emit_u16(port_id);
+	rte_trace_point_emit_u32(wred_profile_id);
+	rte_trace_point_emit_int(ret);
+)
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/lib/ethdev/rte_ethdev_trace_fp.h b/lib/ethdev/rte_ethdev_trace_fp.h
index 173e9c9e48..73ebad7152 100644
--- a/lib/ethdev/rte_ethdev_trace_fp.h
+++ b/lib/ethdev/rte_ethdev_trace_fp.h
@@ -19,6 +19,7 @@ extern "C" {
 
 #include "rte_ethdev.h"
 #include "rte_mtr.h"
+#include "rte_tm.h"
 
 RTE_TRACE_POINT_FP(
 	rte_eth_trace_call_rx_callbacks,
@@ -859,6 +860,176 @@ RTE_TRACE_POINT_FP(
 	rte_trace_point_emit_int(ret);
 )
 
+RTE_TRACE_POINT_FP(
+	rte_tm_trace_get_number_of_leaf_nodes,
+	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t n_leaf_nodes),
+	rte_trace_point_emit_u16(port_id);
+	rte_trace_point_emit_u32(n_leaf_nodes);
+)
+
+RTE_TRACE_POINT_FP(
+	rte_tm_trace_node_type_get,
+	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t node_id,
+		int *is_leaf, int ret),
+	rte_trace_point_emit_u16(port_id);
+	rte_trace_point_emit_u32(node_id);
+	rte_trace_point_emit_ptr(is_leaf);
+	rte_trace_point_emit_int(ret);
+)
+
+RTE_TRACE_POINT_FP(
+	rte_tm_trace_shared_wred_context_add_update,
+	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t shared_wred_context_id,
+		uint32_t wred_profile_id, int ret),
+	rte_trace_point_emit_u16(port_id);
+	rte_trace_point_emit_u32(shared_wred_context_id);
+	rte_trace_point_emit_u32(wred_profile_id);
+	rte_trace_point_emit_int(ret);
+)
+
+RTE_TRACE_POINT_FP(
+	rte_tm_trace_shared_shaper_add_update,
+	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t shared_shaper_id,
+		uint32_t shaper_profile_id, int ret),
+	rte_trace_point_emit_u16(port_id);
+	rte_trace_point_emit_u32(shared_shaper_id);
+	rte_trace_point_emit_u32(shaper_profile_id);
+	rte_trace_point_emit_int(ret);
+)
+
+RTE_TRACE_POINT_FP(
+	rte_tm_trace_node_parent_update,
+	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t node_id,
+		uint32_t parent_node_id, uint32_t priority,
+		uint32_t weight, int ret),
+	rte_trace_point_emit_u16(port_id);
+	rte_trace_point_emit_u32(node_id);
+	rte_trace_point_emit_u32(parent_node_id);
+	rte_trace_point_emit_u32(priority);
+	rte_trace_point_emit_u32(weight);
+	rte_trace_point_emit_int(ret);
+)
+
+RTE_TRACE_POINT_FP(
+	rte_tm_trace_node_shaper_update,
+	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t node_id,
+		uint32_t shaper_profile_id, int ret),
+	rte_trace_point_emit_u16(port_id);
+	rte_trace_point_emit_u32(node_id);
+	rte_trace_point_emit_u32(shaper_profile_id);
+	rte_trace_point_emit_int(ret);
+)
+
+RTE_TRACE_POINT_FP(
+	rte_tm_trace_node_shared_shaper_update,
+	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t node_id,
+		uint32_t shared_shaper_id, int add, int ret),
+	rte_trace_point_emit_u16(port_id);
+	rte_trace_point_emit_u32(node_id);
+	rte_trace_point_emit_u32(shared_shaper_id);
+	rte_trace_point_emit_int(add);
+	rte_trace_point_emit_int(ret);
+)
+
+RTE_TRACE_POINT_FP(
+	rte_tm_trace_node_shared_wred_context_update,
+	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t node_id,
+		uint32_t shared_wred_context_id, int add, int ret),
+	rte_trace_point_emit_u16(port_id);
+	rte_trace_point_emit_u32(node_id);
+	rte_trace_point_emit_u32(shared_wred_context_id);
+	rte_trace_point_emit_int(add);
+	rte_trace_point_emit_int(ret);
+)
+
+RTE_TRACE_POINT_FP(
+	rte_tm_trace_node_stats_update,
+	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t node_id,
+		uint64_t stats_mask, int ret),
+	rte_trace_point_emit_u16(port_id);
+	rte_trace_point_emit_u32(node_id);
+	rte_trace_point_emit_u64(stats_mask);
+	rte_trace_point_emit_int(ret);
+)
+
+RTE_TRACE_POINT_FP(
+	rte_tm_trace_node_wfq_weight_mode_update,
+	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t node_id,
+		int *wfq_weight_mode, uint32_t n_sp_priorities,
+		int ret),
+	rte_trace_point_emit_u16(port_id);
+	rte_trace_point_emit_u32(node_id);
+	rte_trace_point_emit_ptr(wfq_weight_mode);
+	rte_trace_point_emit_u32(n_sp_priorities);
+	rte_trace_point_emit_int(ret);
+)
+
+RTE_TRACE_POINT_FP(
+	rte_tm_trace_node_wred_context_update,
+	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t node_id,
+		uint32_t wred_profile_id, int ret),
+	rte_trace_point_emit_u16(port_id);
+	rte_trace_point_emit_u32(node_id);
+	rte_trace_point_emit_u32(wred_profile_id);
+	rte_trace_point_emit_int(ret);
+)
+
+RTE_TRACE_POINT_FP(
+	rte_tm_trace_node_cman_update,
+	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t node_id,
+		enum rte_tm_cman_mode cman, int ret),
+	rte_trace_point_emit_u16(port_id);
+	rte_trace_point_emit_u32(node_id);
+	rte_trace_point_emit_int(cman);
+	rte_trace_point_emit_int(ret);
+)
+
+RTE_TRACE_POINT_FP(
+	rte_tm_trace_node_stats_read,
+	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t node_id,
+		struct rte_tm_node_stats *stats,
+		uint64_t *stats_mask, int clear, int ret),
+	rte_trace_point_emit_u16(port_id);
+	rte_trace_point_emit_u32(node_id);
+	rte_trace_point_emit_ptr(stats);
+	rte_trace_point_emit_ptr(stats_mask);
+	rte_trace_point_emit_int(clear);
+	rte_trace_point_emit_int(ret);
+)
+
+RTE_TRACE_POINT_FP(
+	rte_tm_trace_mark_vlan_dei,
+	RTE_TRACE_POINT_ARGS(uint16_t port_id, int mark_green,
+		int mark_yellow, int mark_red, int ret),
+	rte_trace_point_emit_u16(port_id);
+	rte_trace_point_emit_int(mark_green);
+	rte_trace_point_emit_int(mark_yellow);
+	rte_trace_point_emit_int(mark_red);
+	rte_trace_point_emit_int(ret);
+)
+
+RTE_TRACE_POINT_FP(
+	rte_tm_trace_mark_ip_ecn,
+	RTE_TRACE_POINT_ARGS(uint16_t port_id, int mark_green,
+		int mark_yellow, int mark_red, int ret),
+	rte_trace_point_emit_u16(port_id);
+	rte_trace_point_emit_int(mark_green);
+	rte_trace_point_emit_int(mark_yellow);
+	rte_trace_point_emit_int(mark_red);
+	rte_trace_point_emit_int(ret);
+)
+
+RTE_TRACE_POINT_FP(
+	rte_tm_trace_mark_ip_dscp,
+	RTE_TRACE_POINT_ARGS(uint16_t port_id, int mark_green,
+		int mark_yellow, int mark_red, int ret),
+	rte_trace_point_emit_u16(port_id);
+	rte_trace_point_emit_int(mark_green);
+	rte_trace_point_emit_int(mark_yellow);
+	rte_trace_point_emit_int(mark_red);
+	rte_trace_point_emit_int(ret);
+)
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/lib/ethdev/rte_tm.c b/lib/ethdev/rte_tm.c
index 9709454f35..eb4c8f103f 100644
--- a/lib/ethdev/rte_tm.c
+++ b/lib/ethdev/rte_tm.c
@@ -6,6 +6,8 @@
 
 #include <rte_errno.h>
 #include "rte_ethdev.h"
+#include "rte_ethdev_trace.h"
+#include "rte_ethdev_trace_fp.h"
 #include "rte_tm_driver.h"
 #include "rte_tm.h"
 
@@ -79,6 +81,9 @@ rte_tm_get_number_of_leaf_nodes(uint16_t port_id,
 	}
 
 	*n_leaf_nodes = dev->data->nb_tx_queues;
+
+	rte_tm_trace_get_number_of_leaf_nodes(port_id, *n_leaf_nodes);
+
 	return 0;
 }
 
@@ -90,8 +95,14 @@ rte_tm_node_type_get(uint16_t port_id,
 	struct rte_tm_error *error)
 {
 	struct rte_eth_dev *dev = &rte_eth_devices[port_id];
-	return RTE_TM_FUNC(port_id, node_type_get)(dev,
+	int ret;
+
+	ret = RTE_TM_FUNC(port_id, node_type_get)(dev,
 		node_id, is_leaf, error);
+
+	rte_tm_trace_node_type_get(port_id, node_id, is_leaf, ret);
+
+	return ret;
 }
 
 /* Get capabilities */
@@ -100,8 +111,14 @@ int rte_tm_capabilities_get(uint16_t port_id,
 	struct rte_tm_error *error)
 {
 	struct rte_eth_dev *dev = &rte_eth_devices[port_id];
-	return RTE_TM_FUNC(port_id, capabilities_get)(dev,
+	int ret;
+
+	ret = RTE_TM_FUNC(port_id, capabilities_get)(dev,
 		cap, error);
+
+	rte_tm_trace_capabilities_get(port_id, cap, ret);
+
+	return ret;
 }
 
 /* Get level capabilities */
@@ -111,8 +128,14 @@ int rte_tm_level_capabilities_get(uint16_t port_id,
 	struct rte_tm_error *error)
 {
 	struct rte_eth_dev *dev = &rte_eth_devices[port_id];
-	return RTE_TM_FUNC(port_id, level_capabilities_get)(dev,
+	int ret;
+
+	ret = RTE_TM_FUNC(port_id, level_capabilities_get)(dev,
 		level_id, cap, error);
+
+	rte_tm_trace_level_capabilities_get(port_id, level_id, cap, ret);
+
+	return ret;
 }
 
 /* Get node capabilities */
@@ -122,8 +145,14 @@ int rte_tm_node_capabilities_get(uint16_t port_id,
 	struct rte_tm_error *error)
 {
 	struct rte_eth_dev *dev = &rte_eth_devices[port_id];
-	return RTE_TM_FUNC(port_id, node_capabilities_get)(dev,
+	int ret;
+
+	ret = RTE_TM_FUNC(port_id, node_capabilities_get)(dev,
 		node_id, cap, error);
+
+	rte_tm_trace_node_capabilities_get(port_id, node_id, cap, ret);
+
+	return ret;
 }
 
 /* Add WRED profile */
@@ -133,8 +162,14 @@ int rte_tm_wred_profile_add(uint16_t port_id,
 	struct rte_tm_error *error)
 {
 	struct rte_eth_dev *dev = &rte_eth_devices[port_id];
-	return RTE_TM_FUNC(port_id, wred_profile_add)(dev,
+	int ret;
+
+	ret = RTE_TM_FUNC(port_id, wred_profile_add)(dev,
 		wred_profile_id, profile, error);
+
+	rte_tm_trace_wred_profile_add(port_id, wred_profile_id, profile, ret);
+
+	return ret;
 }
 
 /* Delete WRED profile */
@@ -143,8 +178,14 @@ int rte_tm_wred_profile_delete(uint16_t port_id,
 	struct rte_tm_error *error)
 {
 	struct rte_eth_dev *dev = &rte_eth_devices[port_id];
-	return RTE_TM_FUNC(port_id, wred_profile_delete)(dev,
+	int ret;
+
+	ret = RTE_TM_FUNC(port_id, wred_profile_delete)(dev,
 		wred_profile_id, error);
+
+	rte_tm_trace_wred_profile_delete(port_id, wred_profile_id, ret);
+
+	return ret;
 }
 
 /* Add/update shared WRED context */
@@ -154,8 +195,15 @@ int rte_tm_shared_wred_context_add_update(uint16_t port_id,
 	struct rte_tm_error *error)
 {
 	struct rte_eth_dev *dev = &rte_eth_devices[port_id];
-	return RTE_TM_FUNC(port_id, shared_wred_context_add_update)(dev,
+	int ret;
+
+	ret = RTE_TM_FUNC(port_id, shared_wred_context_add_update)(dev,
 		shared_wred_context_id, wred_profile_id, error);
+
+	rte_tm_trace_shared_wred_context_add_update(port_id, shared_wred_context_id,
+						    wred_profile_id, ret);
+
+	return ret;
 }
 
 /* Delete shared WRED context */
@@ -164,8 +212,14 @@ int rte_tm_shared_wred_context_delete(uint16_t port_id,
 	struct rte_tm_error *error)
 {
 	struct rte_eth_dev *dev = &rte_eth_devices[port_id];
-	return RTE_TM_FUNC(port_id, shared_wred_context_delete)(dev,
+	int ret;
+
+	ret = RTE_TM_FUNC(port_id, shared_wred_context_delete)(dev,
 		shared_wred_context_id, error);
+
+	rte_tm_trace_shared_wred_context_delete(port_id, shared_wred_context_id, ret);
+
+	return ret;
 }
 
 /* Add shaper profile */
@@ -175,8 +229,14 @@ int rte_tm_shaper_profile_add(uint16_t port_id,
 	struct rte_tm_error *error)
 {
 	struct rte_eth_dev *dev = &rte_eth_devices[port_id];
-	return RTE_TM_FUNC(port_id, shaper_profile_add)(dev,
+	int ret;
+
+	ret = RTE_TM_FUNC(port_id, shaper_profile_add)(dev,
 		shaper_profile_id, profile, error);
+
+	rte_tm_trace_shaper_profile_add(port_id, shaper_profile_id, profile, ret);
+
+	return ret;
 }
 
 /* Delete WRED profile */
@@ -185,8 +245,14 @@ int rte_tm_shaper_profile_delete(uint16_t port_id,
 	struct rte_tm_error *error)
 {
 	struct rte_eth_dev *dev = &rte_eth_devices[port_id];
-	return RTE_TM_FUNC(port_id, shaper_profile_delete)(dev,
+	int ret;
+
+	ret = RTE_TM_FUNC(port_id, shaper_profile_delete)(dev,
 		shaper_profile_id, error);
+
+	rte_tm_trace_shaper_profile_delete(port_id, shaper_profile_id, ret);
+
+	return ret;
 }
 
 /* Add shared shaper */
@@ -196,8 +262,15 @@ int rte_tm_shared_shaper_add_update(uint16_t port_id,
 	struct rte_tm_error *error)
 {
 	struct rte_eth_dev *dev = &rte_eth_devices[port_id];
-	return RTE_TM_FUNC(port_id, shared_shaper_add_update)(dev,
+	int ret;
+
+	ret = RTE_TM_FUNC(port_id, shared_shaper_add_update)(dev,
 		shared_shaper_id, shaper_profile_id, error);
+
+	rte_tm_trace_shared_shaper_add_update(port_id, shared_shaper_id,
+					      shaper_profile_id, ret);
+
+	return ret;
 }
 
 /* Delete shared shaper */
@@ -206,8 +279,14 @@ int rte_tm_shared_shaper_delete(uint16_t port_id,
 	struct rte_tm_error *error)
 {
 	struct rte_eth_dev *dev = &rte_eth_devices[port_id];
-	return RTE_TM_FUNC(port_id, shared_shaper_delete)(dev,
+	int ret;
+
+	ret = RTE_TM_FUNC(port_id, shared_shaper_delete)(dev,
 		shared_shaper_id, error);
+
+	rte_tm_trace_shared_shaper_delete(port_id, shared_shaper_id, ret);
+
+	return ret;
 }
 
 /* Add node to port traffic manager hierarchy */
@@ -221,9 +300,16 @@ int rte_tm_node_add(uint16_t port_id,
 	struct rte_tm_error *error)
 {
 	struct rte_eth_dev *dev = &rte_eth_devices[port_id];
-	return RTE_TM_FUNC(port_id, node_add)(dev,
+	int ret;
+
+	ret = RTE_TM_FUNC(port_id, node_add)(dev,
 		node_id, parent_node_id, priority, weight, level_id,
 		params, error);
+
+	rte_tm_trace_node_add(port_id, node_id, parent_node_id, priority,
+			      weight, level_id, params, ret);
+
+	return ret;
 }
 
 /* Delete node from traffic manager hierarchy */
@@ -232,8 +318,14 @@ int rte_tm_node_delete(uint16_t port_id,
 	struct rte_tm_error *error)
 {
 	struct rte_eth_dev *dev = &rte_eth_devices[port_id];
-	return RTE_TM_FUNC(port_id, node_delete)(dev,
+	int ret;
+
+	ret = RTE_TM_FUNC(port_id, node_delete)(dev,
 		node_id, error);
+
+	rte_tm_trace_node_delete(port_id, node_id, ret);
+
+	return ret;
 }
 
 /* Suspend node */
@@ -242,8 +334,14 @@ int rte_tm_node_suspend(uint16_t port_id,
 	struct rte_tm_error *error)
 {
 	struct rte_eth_dev *dev = &rte_eth_devices[port_id];
-	return RTE_TM_FUNC(port_id, node_suspend)(dev,
+	int ret;
+
+	ret = RTE_TM_FUNC(port_id, node_suspend)(dev,
 		node_id, error);
+
+	rte_tm_trace_node_suspend(port_id, node_id, ret);
+
+	return ret;
 }
 
 /* Resume node */
@@ -252,8 +350,14 @@ int rte_tm_node_resume(uint16_t port_id,
 	struct rte_tm_error *error)
 {
 	struct rte_eth_dev *dev = &rte_eth_devices[port_id];
-	return RTE_TM_FUNC(port_id, node_resume)(dev,
+	int ret;
+
+	ret = RTE_TM_FUNC(port_id, node_resume)(dev,
 		node_id, error);
+
+	rte_tm_trace_node_resume(port_id, node_id, ret);
+
+	return ret;
 }
 
 /* Commit the initial port traffic manager hierarchy */
@@ -262,8 +366,14 @@ int rte_tm_hierarchy_commit(uint16_t port_id,
 	struct rte_tm_error *error)
 {
 	struct rte_eth_dev *dev = &rte_eth_devices[port_id];
-	return RTE_TM_FUNC(port_id, hierarchy_commit)(dev,
+	int ret;
+
+	ret = RTE_TM_FUNC(port_id, hierarchy_commit)(dev,
 		clear_on_fail, error);
+
+	rte_tm_trace_hierarchy_commit(port_id, clear_on_fail, ret);
+
+	return ret;
 }
 
 /* Update node parent  */
@@ -275,8 +385,15 @@ int rte_tm_node_parent_update(uint16_t port_id,
 	struct rte_tm_error *error)
 {
 	struct rte_eth_dev *dev = &rte_eth_devices[port_id];
-	return RTE_TM_FUNC(port_id, node_parent_update)(dev,
+	int ret;
+
+	ret = RTE_TM_FUNC(port_id, node_parent_update)(dev,
 		node_id, parent_node_id, priority, weight, error);
+
+	rte_tm_trace_node_parent_update(port_id, node_id, parent_node_id,
+					priority, weight, ret);
+
+	return ret;
 }
 
 /* Update node private shaper */
@@ -286,8 +403,14 @@ int rte_tm_node_shaper_update(uint16_t port_id,
 	struct rte_tm_error *error)
 {
 	struct rte_eth_dev *dev = &rte_eth_devices[port_id];
-	return RTE_TM_FUNC(port_id, node_shaper_update)(dev,
+	int ret;
+
+	ret = RTE_TM_FUNC(port_id, node_shaper_update)(dev,
 		node_id, shaper_profile_id, error);
+
+	rte_tm_trace_node_shaper_update(port_id, node_id, shaper_profile_id, ret);
+
+	return ret;
 }
 
 /* Update node shared shapers */
@@ -298,8 +421,15 @@ int rte_tm_node_shared_shaper_update(uint16_t port_id,
 	struct rte_tm_error *error)
 {
 	struct rte_eth_dev *dev = &rte_eth_devices[port_id];
-	return RTE_TM_FUNC(port_id, node_shared_shaper_update)(dev,
+	int ret;
+
+	ret = RTE_TM_FUNC(port_id, node_shared_shaper_update)(dev,
 		node_id, shared_shaper_id, add, error);
+
+	rte_tm_trace_node_shared_shaper_update(port_id, node_id, shared_shaper_id,
+					       add, ret);
+
+	return ret;
 }
 
 /* Update node stats */
@@ -309,8 +439,14 @@ int rte_tm_node_stats_update(uint16_t port_id,
 	struct rte_tm_error *error)
 {
 	struct rte_eth_dev *dev = &rte_eth_devices[port_id];
-	return RTE_TM_FUNC(port_id, node_stats_update)(dev,
+	int ret;
+
+	ret = RTE_TM_FUNC(port_id, node_stats_update)(dev,
 		node_id, stats_mask, error);
+
+	rte_tm_trace_node_stats_update(port_id, node_id, stats_mask, ret);
+
+	return ret;
 }
 
 /* Update WFQ weight mode */
@@ -321,8 +457,15 @@ int rte_tm_node_wfq_weight_mode_update(uint16_t port_id,
 	struct rte_tm_error *error)
 {
 	struct rte_eth_dev *dev = &rte_eth_devices[port_id];
-	return RTE_TM_FUNC(port_id, node_wfq_weight_mode_update)(dev,
+	int ret;
+
+	ret = RTE_TM_FUNC(port_id, node_wfq_weight_mode_update)(dev,
 		node_id, wfq_weight_mode, n_sp_priorities, error);
+
+	rte_tm_trace_node_wfq_weight_mode_update(port_id, node_id, wfq_weight_mode,
+						 n_sp_priorities, ret);
+
+	return ret;
 }
 
 /* Update node congestion management mode */
@@ -332,8 +475,14 @@ int rte_tm_node_cman_update(uint16_t port_id,
 	struct rte_tm_error *error)
 {
 	struct rte_eth_dev *dev = &rte_eth_devices[port_id];
-	return RTE_TM_FUNC(port_id, node_cman_update)(dev,
+	int ret;
+
+	ret = RTE_TM_FUNC(port_id, node_cman_update)(dev,
 		node_id, cman, error);
+
+	rte_tm_trace_node_cman_update(port_id, node_id, cman, ret);
+
+	return ret;
 }
 
 /* Update node private WRED context */
@@ -343,8 +492,15 @@ int rte_tm_node_wred_context_update(uint16_t port_id,
 	struct rte_tm_error *error)
 {
 	struct rte_eth_dev *dev = &rte_eth_devices[port_id];
-	return RTE_TM_FUNC(port_id, node_wred_context_update)(dev,
+	int ret;
+
+	ret = RTE_TM_FUNC(port_id, node_wred_context_update)(dev,
 		node_id, wred_profile_id, error);
+
+	rte_tm_trace_node_wred_context_update(port_id, node_id, wred_profile_id,
+					      ret);
+
+	return ret;
 }
 
 /* Update node shared WRED context */
@@ -355,8 +511,16 @@ int rte_tm_node_shared_wred_context_update(uint16_t port_id,
 	struct rte_tm_error *error)
 {
 	struct rte_eth_dev *dev = &rte_eth_devices[port_id];
-	return RTE_TM_FUNC(port_id, node_shared_wred_context_update)(dev,
+	int ret;
+
+	ret = RTE_TM_FUNC(port_id, node_shared_wred_context_update)(dev,
 		node_id, shared_wred_context_id, add, error);
+
+	rte_tm_trace_node_shared_wred_context_update(port_id, node_id,
+						     shared_wred_context_id,
+						     add, ret);
+
+	return ret;
 }
 
 /* Read and/or clear stats counters for specific node */
@@ -368,8 +532,15 @@ int rte_tm_node_stats_read(uint16_t port_id,
 	struct rte_tm_error *error)
 {
 	struct rte_eth_dev *dev = &rte_eth_devices[port_id];
-	return RTE_TM_FUNC(port_id, node_stats_read)(dev,
+	int ret;
+
+	ret = RTE_TM_FUNC(port_id, node_stats_read)(dev,
 		node_id, stats, stats_mask, clear, error);
+
+	rte_tm_trace_node_stats_read(port_id, node_id, stats, stats_mask,
+				     clear, ret);
+
+	return ret;
 }
 
 /* Packet marking - VLAN DEI */
@@ -380,8 +551,14 @@ int rte_tm_mark_vlan_dei(uint16_t port_id,
 	struct rte_tm_error *error)
 {
 	struct rte_eth_dev *dev = &rte_eth_devices[port_id];
-	return RTE_TM_FUNC(port_id, mark_vlan_dei)(dev,
+	int ret;
+
+	ret = RTE_TM_FUNC(port_id, mark_vlan_dei)(dev,
 		mark_green, mark_yellow, mark_red, error);
+
+	rte_tm_trace_mark_vlan_dei(port_id, mark_green, mark_yellow, mark_red, ret);
+
+	return ret;
 }
 
 /* Packet marking - IPv4/IPv6 ECN */
@@ -392,8 +569,14 @@ int rte_tm_mark_ip_ecn(uint16_t port_id,
 	struct rte_tm_error *error)
 {
 	struct rte_eth_dev *dev = &rte_eth_devices[port_id];
-	return RTE_TM_FUNC(port_id, mark_ip_ecn)(dev,
+	int ret;
+
+	ret = RTE_TM_FUNC(port_id, mark_ip_ecn)(dev,
 		mark_green, mark_yellow, mark_red, error);
+
+	rte_tm_trace_mark_ip_ecn(port_id, mark_green, mark_yellow, mark_red, ret);
+
+	return ret;
 }
 
 /* Packet marking - IPv4/IPv6 DSCP */
@@ -404,6 +587,12 @@ int rte_tm_mark_ip_dscp(uint16_t port_id,
 	struct rte_tm_error *error)
 {
 	struct rte_eth_dev *dev = &rte_eth_devices[port_id];
-	return RTE_TM_FUNC(port_id, mark_ip_dscp)(dev,
+	int ret;
+
+	ret = RTE_TM_FUNC(port_id, mark_ip_dscp)(dev,
 		mark_green, mark_yellow, mark_red, error);
+
+	rte_tm_trace_mark_ip_dscp(port_id, mark_green, mark_yellow, mark_red, ret);
+
+	return ret;
 }
diff --git a/lib/ethdev/version.map b/lib/ethdev/version.map
index c1a6e4d30a..112b2b1039 100644
--- a/lib/ethdev/version.map
+++ b/lib/ethdev/version.map
@@ -503,6 +503,36 @@ EXPERIMENTAL {
 	__rte_mtr_trace_meter_vlan_table_update;
 	__rte_mtr_trace_stats_read;
 	__rte_mtr_trace_stats_update;
+	__rte_tm_trace_capabilities_get;
+	__rte_tm_trace_get_number_of_leaf_nodes;
+	__rte_tm_trace_hierarchy_commit;
+	__rte_tm_trace_level_capabilities_get;
+	__rte_tm_trace_mark_ip_dscp;
+	__rte_tm_trace_mark_ip_ecn;
+	__rte_tm_trace_mark_vlan_dei;
+	__rte_tm_trace_node_add;
+	__rte_tm_trace_node_capabilities_get;
+	__rte_tm_trace_node_cman_update;
+	__rte_tm_trace_node_delete;
+	__rte_tm_trace_node_parent_update;
+	__rte_tm_trace_node_resume;
+	__rte_tm_trace_node_shaper_update;
+	__rte_tm_trace_node_shared_shaper_update;
+	__rte_tm_trace_node_shared_wred_context_update;
+	__rte_tm_trace_node_stats_read;
+	__rte_tm_trace_node_stats_update;
+	__rte_tm_trace_node_suspend;
+	__rte_tm_trace_node_type_get;
+	__rte_tm_trace_node_wfq_weight_mode_update;
+	__rte_tm_trace_node_wred_context_update;
+	__rte_tm_trace_shaper_profile_add;
+	__rte_tm_trace_shaper_profile_delete;
+	__rte_tm_trace_shared_shaper_add_update;
+	__rte_tm_trace_shared_shaper_delete;
+	__rte_tm_trace_shared_wred_context_add_update;
+	__rte_tm_trace_shared_wred_context_delete;
+	__rte_tm_trace_wred_profile_add;
+	__rte_tm_trace_wred_profile_delete;
 };
 
 INTERNAL {
-- 
2.25.1


  parent reply	other threads:[~2023-01-20  8:46 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 ` [PATCH 5/6] ethdev: add trace points for driver Ankur Dwivedi
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           ` Ankur Dwivedi [this message]
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=20230120084059.2926575-7-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=david.marchand@redhat.com \
    --cc=dev@dpdk.org \
    --cc=dsinghrawat@marvell.com \
    --cc=ed.czeck@atomicrules.com \
    --cc=evgenys@amazon.com \
    --cc=ferruh.yigit@amd.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=mb@smartsharesystems.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=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.