All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ankur Dwivedi <adwivedi@marvell.com>
To: Ori Kam <orika@nvidia.com>, "dev@dpdk.org" <dev@dpdk.org>
Cc: "NBU-Contact-Thomas Monjalon (EXTERNAL)" <thomas@monjalon.net>,
	"david.marchand@redhat.com" <david.marchand@redhat.com>,
	"mdr@ashroe.eu" <mdr@ashroe.eu>,
	"ferruh.yigit@amd.com" <ferruh.yigit@amd.com>,
	"chas3@att.com" <chas3@att.com>,
	"humin29@huawei.com" <humin29@huawei.com>,
	"linville@tuxdriver.com" <linville@tuxdriver.com>,
	"ciara.loftus@intel.com" <ciara.loftus@intel.com>,
	"qi.z.zhang@intel.com" <qi.z.zhang@intel.com>,
	"mw@semihalf.com" <mw@semihalf.com>,
	"mk@semihalf.com" <mk@semihalf.com>,
	"shaibran@amazon.com" <shaibran@amazon.com>,
	"evgenys@amazon.com" <evgenys@amazon.com>,
	"igorch@amazon.com" <igorch@amazon.com>,
	"chandu@amd.com" <chandu@amd.com>,
	Igor Russkikh <irusskikh@marvell.com>,
	"shepard.siegel@atomicrules.com" <shepard.siegel@atomicrules.com>,
	"ed.czeck@atomicrules.com" <ed.czeck@atomicrules.com>,
	"john.miller@atomicrules.com" <john.miller@atomicrules.com>,
	"ajit.khaparde@broadcom.com" <ajit.khaparde@broadcom.com>,
	"somnath.kotur@broadcom.com" <somnath.kotur@broadcom.com>,
	Jerin Jacob Kollanukkaran <jerinj@marvell.com>,
	"Maciej Czekaj [C]" <mczekaj@marvell.com>,
	Shijith Thotton <sthotton@marvell.com>,
	Srisivasubramanian Srinivasan <srinivasan@marvell.com>,
	Harman Kalra <hkalra@marvell.com>,
	"rahul.lakkireddy@chelsio.com" <rahul.lakkireddy@chelsio.com>,
	"johndale@cisco.com" <johndale@cisco.com>,
	"hyonkim@cisco.com" <hyonkim@cisco.com>,
	"liudongdong3@huawei.com" <liudongdong3@huawei.com>,
	"yisen.zhuang@huawei.com" <yisen.zhuang@huawei.com>,
	"xuanziyang2@huawei.com" <xuanziyang2@huawei.com>,
	"cloud.wangxiaoyun@huawei.com" <cloud.wangxiaoyun@huawei.com>,
	"zhouguoyang@huawei.com" <zhouguoyang@huawei.com>,
	"simei.su@intel.com" <simei.su@intel.com>,
	"wenjun1.wu@intel.com" <wenjun1.wu@intel.com>,
	"qiming.yang@intel.com" <qiming.yang@intel.com>,
	"Yuying.Zhang@intel.com" <Yuying.Zhang@intel.com>,
	"beilei.xing@intel.com" <beilei.xing@intel.com>,
	"xiao.w.wang@intel.com" <xiao.w.wang@intel.com>,
	"jingjing.wu@intel.com" <jingjing.wu@intel.com>,
	"junfeng.guo@intel.com" <junfeng.guo@intel.com>,
	"rosen.xu@intel.com" <rosen.xu@intel.com>,
	Nithin Kumar Dabilpuram <ndabilpuram@marvell.com>,
	Kiran Kumar Kokkilagadda <kirankumark@marvell.com>,
	Sunil Kumar Kori <skori@marvell.com>,
	Satha Koteswara Rao Kottidi <skoteshwar@marvell.com>,
	Liron Himi <lironh@marvell.com>,
	"zr@semihalf.com" <zr@semihalf.com>,
	Radha Chintakuntla <radhac@marvell.com>,
	Veerasenareddy Burru <vburru@marvell.com>,
	Sathesh B Edara <sedara@marvell.com>,
	Matan Azrad <matan@nvidia.com>,
	Slava Ovsiienko <viacheslavo@nvidia.com>,
	"NBU-Contact-longli (EXTERNAL)" <longli@microsoft.com>,
	"spinler@cesnet.cz" <spinler@cesnet.cz>,
	"chaoyong.he@corigine.com" <chaoyong.he@corigine.com>,
	"niklas.soderlund@corigine.com" <niklas.soderlund@corigine.com>,
	"hemant.agrawal@nxp.com" <hemant.agrawal@nxp.com>,
	"sachin.saxena@oss.nxp.com" <sachin.saxena@oss.nxp.com>,
	"g.singh@nxp.com" <g.singh@nxp.com>,
	"apeksha.gupta@nxp.com" <apeksha.gupta@nxp.com>,
	"sachin.saxena@nxp.com" <sachin.saxena@nxp.com>,
	"aboyer@pensando.io" <aboyer@pensando.io>,
	Rasesh Mody <rmody@marvell.com>,
	Shahed Shaikh <shshaikh@marvell.com>,
	Devendra Singh Rawat <dsinghrawat@marvell.com>,
	"andrew.rybchenko@oktetlabs.ru" <andrew.rybchenko@oktetlabs.ru>,
	"jiawenwu@trustnetic.com" <jiawenwu@trustnetic.com>,
	"jianwang@trustnetic.com" <jianwang@trustnetic.com>,
	"jbehrens@vmware.com" <jbehrens@vmware.com>,
	"maxime.coquelin@redhat.com" <maxime.coquelin@redhat.com>,
	"chenbo.xia@intel.com" <chenbo.xia@intel.com>,
	"steven.webster@windriver.com" <steven.webster@windriver.com>,
	"matt.peters@windriver.com" <matt.peters@windriver.com>,
	"bruce.richardson@intel.com" <bruce.richardson@intel.com>,
	"mtetsuyah@gmail.com" <mtetsuyah@gmail.com>,
	"grive@u256.net" <grive@u256.net>,
	"jasvinder.singh@intel.com" <jasvinder.singh@intel.com>,
	"cristian.dumitrescu@intel.com" <cristian.dumitrescu@intel.com>,
	"jgrajcia@cisco.com" <jgrajcia@cisco.com>,
	"mb@smartsharesystems.com" <mb@smartsharesystems.com>
Subject: RE: [PATCH v7 4/6] ethdev: add trace points for flow
Date: Thu, 2 Feb 2023 15:45:53 +0000	[thread overview]
Message-ID: <CO3PR18MB5005D6395B58E0BA712FB0AADDD69@CO3PR18MB5005.namprd18.prod.outlook.com> (raw)
In-Reply-To: <MW2PR12MB4666ECDB60988E8C8877D88ED6D69@MW2PR12MB4666.namprd12.prod.outlook.com>


>Subject: [EXT] RE: [PATCH v7 4/6] ethdev: add trace points for flow
>
>External Email
>
>----------------------------------------------------------------------
>Sorry sent before all comments,
>Adding missing comments
>
>> -----Original Message-----
>> From: Ori Kam <orika@nvidia.com>
>> Sent: Thursday, 2 February 2023 15:52
>>
>> Hi Ankur,
>>
>> > -----Original Message-----
>> > From: Ankur Dwivedi <adwivedi@marvell.com>
>> > Sent: Monday, 23 January 2023 11:02
>> >
>> > Adds trace points for rte_flow specific functions in ethdev lib.
>> >
>> > Signed-off-by: Ankur Dwivedi <adwivedi@marvell.com>
>> > ---
>> >  lib/ethdev/ethdev_trace_points.c | 117 ++++++++++
>> >  lib/ethdev/rte_ethdev_trace.h    | 383
>> > +++++++++++++++++++++++++++++++
>> >  lib/ethdev/rte_ethdev_trace_fp.h | 113 +++++++++
>> >  lib/ethdev/rte_flow.c            | 314 +++++++++++++++++++------
>> >  lib/ethdev/version.map           |  37 +++
>> >  5 files changed, 898 insertions(+), 66 deletions(-)
>> >
>> > diff --git a/lib/ethdev/ethdev_trace_points.c
>> > b/lib/ethdev/ethdev_trace_points.c
>> > index 102a18fcc1..1953d90a5a 100644
>> > --- a/lib/ethdev/ethdev_trace_points.c
>> > +++ b/lib/ethdev/ethdev_trace_points.c
>> > @@ -474,3 +474,120 @@
>> > RTE_TRACE_POINT_REGISTER(rte_eth_trace_cman_config_set,
>> >
>> >  RTE_TRACE_POINT_REGISTER(rte_eth_trace_cman_config_get,
>> >  	lib.ethdev.cman_config_get)
>> > +
>> > +RTE_TRACE_POINT_REGISTER(rte_flow_trace_copy,
>> > +	lib.ethdev.flow.copy)
>> > +
>> > +RTE_TRACE_POINT_REGISTER(rte_flow_trace_create,
>> > +	lib.ethdev.flow.create)
>> > +
>> > +RTE_TRACE_POINT_REGISTER(rte_flow_trace_destroy,
>> > +	lib.ethdev.flow.destroy)
>> > +
>> > +RTE_TRACE_POINT_REGISTER(rte_flow_trace_flush,
>> > +	lib.ethdev.flow.flush)
>> > +
>> > +RTE_TRACE_POINT_REGISTER(rte_flow_trace_isolate,
>> > +	lib.ethdev.flow.isolate)
>> > +
>> > +RTE_TRACE_POINT_REGISTER(rte_flow_trace_query,
>> > +	lib.ethdev.flow.query)
>> > +
>> > +RTE_TRACE_POINT_REGISTER(rte_flow_trace_validate,
>> > +	lib.ethdev.flow.validate)
>> > +
>> > +RTE_TRACE_POINT_REGISTER(rte_flow_trace_conv,
>> > +	lib.ethdev.flow.conv)
>> > +
>> > +RTE_TRACE_POINT_REGISTER(rte_flow_trace_dynf_metadata_register,
>> > +	lib.ethdev.dynf_metadata_register)
>> > +
>> > +RTE_TRACE_POINT_REGISTER(rte_flow_trace_get_aged_flows,
>> > +	lib.ethdev.flow.get_aged_flows)
>> > +
>> > +RTE_TRACE_POINT_REGISTER(rte_flow_trace_get_q_aged_flows,
>> > +	lib.ethdev.flow.get_q_aged_flows)
>> > +
>> > +RTE_TRACE_POINT_REGISTER(rte_flow_trace_tunnel_decap_set,
>> > +	lib.ethdev.flow.tunnel_decap_set)
>> > +
>> > +RTE_TRACE_POINT_REGISTER(rte_flow_trace_tunnel_match,
>> > +	lib.ethdev.flow.tunnel_match)
>> > +
>> > +RTE_TRACE_POINT_REGISTER(rte_flow_trace_get_restore_info,
>> > +	lib.ethdev.flow.get_restore_info)
>> > +
>> >
>> +RTE_TRACE_POINT_REGISTER(rte_flow_trace_tunnel_action_decap_releas
>> > e,
>> > +	lib.ethdev.flow.tunnel_action_decap_release)
>> > +
>> > +RTE_TRACE_POINT_REGISTER(rte_flow_trace_tunnel_item_release,
>> > +	lib.ethdev.flow.tunnel_item_release)
>> > +
>> > +RTE_TRACE_POINT_REGISTER(rte_flow_trace_action_handle_create,
>> > +	lib.ethdev.flow.action_handle_create)
>> > +
>> > +RTE_TRACE_POINT_REGISTER(rte_flow_trace_action_handle_destroy,
>> > +	lib.ethdev.flow.action_handle_destroy)
>> > +
>> > +RTE_TRACE_POINT_REGISTER(rte_flow_trace_action_handle_update,
>> > +	lib.ethdev.flow.action_handle_update)
>> > +
>> > +RTE_TRACE_POINT_REGISTER(rte_flow_trace_action_handle_query,
>> > +	lib.ethdev.flow.action_handle_query)
>> > +
>> > +RTE_TRACE_POINT_REGISTER(rte_flow_trace_flex_item_create,
>> > +	lib.ethdev.flow.flex_item_create)
>> > +
>> > +RTE_TRACE_POINT_REGISTER(rte_flow_trace_flex_item_release,
>> > +	lib.ethdev.flow.flex_item_release)
>> > +
>> > +RTE_TRACE_POINT_REGISTER(rte_flow_trace_pick_transfer_proxy,
>> > +	lib.ethdev.flow.pick_transfer_proxy)
>> > +
>> > +RTE_TRACE_POINT_REGISTER(rte_flow_trace_info_get,
>> > +	lib.ethdev.flow.info_get)
>> > +
>> > +RTE_TRACE_POINT_REGISTER(rte_flow_trace_configure,
>> > +	lib.ethdev.flow.configure)
>> > +
>> > +RTE_TRACE_POINT_REGISTER(rte_flow_trace_pattern_template_create,
>> > +	lib.ethdev.flow.pattern_template_create)
>> > +
>> >
>> +RTE_TRACE_POINT_REGISTER(rte_flow_trace_pattern_template_destroy,
>> > +	lib.ethdev.flow.pattern_template_destroy)
>> > +
>> > +RTE_TRACE_POINT_REGISTER(rte_flow_trace_actions_template_create,
>> > +	lib.ethdev.flow.actions_template_create)
>> > +
>> >
>> +RTE_TRACE_POINT_REGISTER(rte_flow_trace_actions_template_destroy,
>> > +	lib.ethdev.flow.actions_template_destroy)
>> > +
>> > +RTE_TRACE_POINT_REGISTER(rte_flow_trace_template_table_create,
>> > +	lib.ethdev.flow.template_table_create)
>> > +
>> > +RTE_TRACE_POINT_REGISTER(rte_flow_trace_template_table_destroy,
>> > +	lib.ethdev.flow.template_table_destroy)
>> > +
>> > +RTE_TRACE_POINT_REGISTER(rte_flow_trace_async_create,
>> > +	lib.ethdev.flow.async_create)
>> > +
>> > +RTE_TRACE_POINT_REGISTER(rte_flow_trace_async_destroy,
>> > +	lib.ethdev.flow.async_destroy)
>> > +
>> > +RTE_TRACE_POINT_REGISTER(rte_flow_trace_push,
>> > +	lib.ethdev.flow.push)
>> > +
>> > +RTE_TRACE_POINT_REGISTER(rte_flow_trace_pull,
>> > +	lib.ethdev.flow.pull)
>> > +
>> >
>> +RTE_TRACE_POINT_REGISTER(rte_flow_trace_async_action_handle_creat
>> > e,
>> > +	lib.ethdev.flow.async_action_handle_create)
>> > +
>> >
>> +RTE_TRACE_POINT_REGISTER(rte_flow_trace_async_action_handle_destr
>> > oy,
>> > +	lib.ethdev.flow.async_action_handle_destroy)
>> > +
>> >
>> +RTE_TRACE_POINT_REGISTER(rte_flow_trace_async_action_handle_updat
>> > e,
>> > +	lib.ethdev.flow.async_action_handle_update)
>> > +
>> >
>> +RTE_TRACE_POINT_REGISTER(rte_flow_trace_async_action_handle_query
>> > ,
>> > +	lib.ethdev.flow.async.action.handle.query)
>> > diff --git a/lib/ethdev/rte_ethdev_trace.h
>> b/lib/ethdev/rte_ethdev_trace.h
>> > index fa195c5cde..fd4fbaf6de 100644
>> > --- a/lib/ethdev/rte_ethdev_trace.h
>> > +++ b/lib/ethdev/rte_ethdev_trace.h
>> > @@ -902,6 +902,389 @@ RTE_TRACE_POINT(
>> >  	rte_trace_point_emit_int(ret);
>> >  )
>> >
>> > +RTE_TRACE_POINT(
>> > +	rte_flow_trace_copy,
>> > +	RTE_TRACE_POINT_ARGS(struct rte_flow_desc *fd, size_t len,
>> > +		const struct rte_flow_attr *attr,
>> > +		const struct rte_flow_item *items,
>> > +		const struct rte_flow_action *actions, int ret),
>> > +	rte_trace_point_emit_ptr(fd);
>> > +	rte_trace_point_emit_size_t(len);
>> > +	rte_trace_point_emit_u32(attr->group);
>> > +	rte_trace_point_emit_u32(attr->priority);
>> > +	rte_trace_point_emit_ptr(items);
>> > +	rte_trace_point_emit_int(items->type);
>> > +	rte_trace_point_emit_ptr(actions);
>> > +	rte_trace_point_emit_int(actions->type);
>> > +	rte_trace_point_emit_int(ret);
>> > +)
>> > +
>> > +RTE_TRACE_POINT(
>>
>> Part of the datapath should be _FP

Will make it as fastpath.
>>
>> > +	rte_flow_trace_create,
>> > +	RTE_TRACE_POINT_ARGS(uint16_t port_id, const struct
>> > rte_flow_attr *attr,
>> > +		const struct rte_flow_item *pattern,
>> > +		const struct rte_flow_action *actions, struct rte_flow *flow),
>> > +	rte_trace_point_emit_u16(port_id);
>> > +	rte_trace_point_emit_u32(attr->group);
>> > +	rte_trace_point_emit_u32(attr->priority);
>> > +	rte_trace_point_emit_ptr(pattern);
>> > +	rte_trace_point_emit_ptr(actions);
>> > +	rte_trace_point_emit_ptr(flow);
>> > +)
>> > +
>> > +RTE_TRACE_POINT(
>> > +	rte_flow_trace_destroy,
>>
>> Part of the datapath should be _FP

Will make it as fastpath.
>>
>> > +	RTE_TRACE_POINT_ARGS(uint16_t port_id, struct rte_flow *flow, int
>> > ret),
>> > +	rte_trace_point_emit_u16(port_id);
>> > +	rte_trace_point_emit_ptr(flow);
>> > +	rte_trace_point_emit_int(ret);
>> > +)
>> > +
>> > +RTE_TRACE_POINT(
>> > +	rte_flow_trace_flush,
>> > +	RTE_TRACE_POINT_ARGS(uint16_t port_id, int ret),
>> > +	rte_trace_point_emit_u16(port_id);
>> > +	rte_trace_point_emit_int(ret);
>> > +)
>> > +
>> > +RTE_TRACE_POINT(
>> > +	rte_flow_trace_validate,
>> > +	RTE_TRACE_POINT_ARGS(uint16_t port_id,
>> > +		const struct rte_flow_attr *attr,
>> > +		const struct rte_flow_item *pattern,
>> > +		const struct rte_flow_action *actions, int ret),
>> > +	rte_trace_point_emit_u16(port_id);
>> > +	rte_trace_point_emit_u32(attr->group);
>> > +	rte_trace_point_emit_u32(attr->priority);
>> > +	rte_trace_point_emit_ptr(pattern);
>> > +	rte_trace_point_emit_ptr(actions);
>> > +	rte_trace_point_emit_int(ret);
>> > +)
>> > +
>> > +RTE_TRACE_POINT(
>> > +	rte_flow_trace_conv,
>> > +	RTE_TRACE_POINT_ARGS(enum rte_flow_conv_op op, void *dst,
>> > +		size_t size, const void *src),
>> > +	rte_trace_point_emit_int(op);
>> > +	rte_trace_point_emit_ptr(dst);
>> > +	rte_trace_point_emit_size_t(size);
>> > +	rte_trace_point_emit_ptr(src);
>> > +)
>> > +
>> > +RTE_TRACE_POINT(
>> > +	rte_flow_trace_dynf_metadata_register,
>> > +	RTE_TRACE_POINT_ARGS(int offset, uint64_t flag),
>> > +	rte_trace_point_emit_int(offset);
>> > +	rte_trace_point_emit_u64(flag);
>> > +)
>> > +
>> > +RTE_TRACE_POINT(
>> > +	rte_flow_trace_tunnel_decap_set,
>> > +	RTE_TRACE_POINT_ARGS(uint16_t port_id,
>> > +		struct rte_flow_tunnel *tunnel,
>> > +		struct rte_flow_action **actions,
>> > +		uint32_t *num_of_actions, int ret),
>> > +	rte_trace_point_emit_u16(port_id);
>> > +	rte_trace_point_emit_ptr(tunnel);
>> > +	rte_trace_point_emit_ptr(actions);
>> > +	rte_trace_point_emit_ptr(num_of_actions);
>> > +	rte_trace_point_emit_int(ret);
>> > +)
>> > +
>> > +RTE_TRACE_POINT(
>> > +	rte_flow_trace_tunnel_match,
>> > +	RTE_TRACE_POINT_ARGS(uint16_t port_id,
>> > +		struct rte_flow_tunnel *tunnel,
>> > +		struct rte_flow_item **items,
>> > +		uint32_t *num_of_items, int ret),
>> > +	rte_trace_point_emit_u16(port_id);
>> > +	rte_trace_point_emit_ptr(tunnel);
>> > +	rte_trace_point_emit_ptr(items);
>> > +	rte_trace_point_emit_ptr(num_of_items);
>> > +	rte_trace_point_emit_int(ret);
>> > +)
>> > +
>> > +RTE_TRACE_POINT(
>> > +	rte_flow_trace_tunnel_action_decap_release,
>> > +	RTE_TRACE_POINT_ARGS(uint16_t port_id,
>> > +		struct rte_flow_action *actions,
>> > +		uint32_t num_of_actions, int ret),
>> > +	rte_trace_point_emit_u16(port_id);
>> > +	rte_trace_point_emit_ptr(actions);
>> > +	rte_trace_point_emit_u32(num_of_actions);
>> > +	rte_trace_point_emit_int(ret);
>> > +)
>> > +
>> > +RTE_TRACE_POINT(
>> > +	rte_flow_trace_tunnel_item_release,
>> > +	RTE_TRACE_POINT_ARGS(uint16_t port_id,
>> > +		struct rte_flow_item *items,
>> > +		uint32_t num_of_items, int ret),
>> > +	rte_trace_point_emit_u16(port_id);
>> > +	rte_trace_point_emit_ptr(items);
>> > +	rte_trace_point_emit_u32(num_of_items);
>> > +	rte_trace_point_emit_int(ret);
>> > +)
>> > +
>> > +RTE_TRACE_POINT(
>>
>> Part of the datapath should be _FP

Will make it as fastpath.
>>
>> > +	rte_flow_trace_action_handle_create,
>> > +	RTE_TRACE_POINT_ARGS(uint16_t port_id,
>> > +		const struct rte_flow_indir_action_conf *conf,
>> > +		const struct rte_flow_action *action,
>> > +		struct rte_flow_action_handle *handle),
>> > +	uint32_t ingress = conf->ingress;
>> > +	uint32_t egress = conf->egress;
>> > +	uint32_t transfer = conf->transfer;
>> > +
>> > +	rte_trace_point_emit_u16(port_id);
>> > +	rte_trace_point_emit_ptr(conf);
>> > +	rte_trace_point_emit_u32(ingress);
>> > +	rte_trace_point_emit_u32(egress);
>> > +	rte_trace_point_emit_u32(transfer);
>> > +	rte_trace_point_emit_ptr(action);
>> > +	rte_trace_point_emit_int(action->type);
>> > +	rte_trace_point_emit_ptr(handle);
>> > +)
>> > +
>> > +RTE_TRACE_POINT(
>>
>> Part of the datapath should be _FP

Will make it as fastpath.
>> > +	rte_flow_trace_action_handle_destroy,
>> > +	RTE_TRACE_POINT_ARGS(uint16_t port_id,
>> > +		struct rte_flow_action_handle *handle, int ret),
>> > +	rte_trace_point_emit_u16(port_id);
>> > +	rte_trace_point_emit_ptr(handle);
>> > +	rte_trace_point_emit_int(ret);
>> > +)
>> > +
>> > +RTE_TRACE_POINT(
>> > +	rte_flow_trace_flex_item_create,
>> > +	RTE_TRACE_POINT_ARGS(uint16_t port_id,
>> > +		const struct rte_flow_item_flex_conf *conf,
>> > +		struct rte_flow_item_flex_handle *handle),
>> > +	rte_trace_point_emit_u16(port_id);
>> > +	rte_trace_point_emit_ptr(conf);
>> > +	rte_trace_point_emit_int(conf->tunnel);
>> > +	rte_trace_point_emit_int(conf->nb_samples);
>> > +	rte_trace_point_emit_int(conf->nb_inputs);
>> > +	rte_trace_point_emit_int(conf->nb_outputs);
>> > +	rte_trace_point_emit_ptr(handle);
>> > +)
>> > +
>> > +RTE_TRACE_POINT(
>> > +	rte_flow_trace_flex_item_release,
>> > +	RTE_TRACE_POINT_ARGS(uint16_t port_id,
>> > +		const struct rte_flow_item_flex_handle *handle, int ret),
>> > +	rte_trace_point_emit_u16(port_id);
>> > +	rte_trace_point_emit_ptr(handle);
>> > +	rte_trace_point_emit_int(ret);
>> > +)
>> > +
>> > +RTE_TRACE_POINT(
>> > +	rte_flow_trace_info_get,
>> > +	RTE_TRACE_POINT_ARGS(uint16_t port_id,
>> > +		struct rte_flow_port_info *port_info,
>> > +		struct rte_flow_queue_info *queue_info, int ret),
>> > +	rte_trace_point_emit_u16(port_id);
>> > +	rte_trace_point_emit_ptr(port_info);
>> > +	rte_trace_point_emit_u32(port_info->max_nb_queues);
>> > +	rte_trace_point_emit_u32(port_info->max_nb_counters);
>> > +	rte_trace_point_emit_u32(port_info->max_nb_aging_objects);
>> > +	rte_trace_point_emit_u32(port_info->max_nb_meters);
>> > +	rte_trace_point_emit_u32(port_info->max_nb_conn_tracks);
>> > +	rte_trace_point_emit_u32(port_info->supported_flags);
>> > +	rte_trace_point_emit_ptr(queue_info);
>> > +	rte_trace_point_emit_int(ret);
>> > +)
>> > +
>> > +RTE_TRACE_POINT(
>> > +	rte_flow_trace_configure,
>> > +	RTE_TRACE_POINT_ARGS(uint16_t port_id,
>> > +		const struct rte_flow_port_attr *port_attr,
>> > +		uint16_t nb_queue,
>> > +		const struct rte_flow_queue_attr **queue_attr, int ret),
>> > +	rte_trace_point_emit_u16(port_id);
>> > +	rte_trace_point_emit_ptr(port_attr);
>> > +	rte_trace_point_emit_u32(port_attr->nb_counters);
>> > +	rte_trace_point_emit_u32(port_attr->nb_aging_objects);
>> > +	rte_trace_point_emit_u32(port_attr->nb_meters);
>> > +	rte_trace_point_emit_u32(port_attr->nb_conn_tracks);
>> > +	rte_trace_point_emit_u32(port_attr->flags);
>> > +	rte_trace_point_emit_u16(nb_queue);
>> > +	rte_trace_point_emit_ptr(queue_attr);
>> > +	rte_trace_point_emit_int(ret);
>> > +)
>> > +
>> > +RTE_TRACE_POINT(
>> > +	rte_flow_trace_pattern_template_create,
>> > +	RTE_TRACE_POINT_ARGS(uint16_t port_id,
>> > +		const struct rte_flow_pattern_template_attr
>> > *template_attr,
>> > +		const struct rte_flow_item *pattern,
>> > +		void *tmplate),
>> > +	uint32_t relaxed_matching = template_attr->relaxed_matching;
>> > +	uint32_t ingress = template_attr->ingress;
>> > +	uint32_t egress = template_attr->egress;
>> > +	uint32_t transfer = template_attr->transfer;
>> > +
>> > +	rte_trace_point_emit_u16(port_id);
>> > +	rte_trace_point_emit_ptr(template_attr);
>> > +	rte_trace_point_emit_u32(relaxed_matching);
>> > +	rte_trace_point_emit_u32(ingress);
>> > +	rte_trace_point_emit_u32(egress);
>> > +	rte_trace_point_emit_u32(transfer);
>> > +	rte_trace_point_emit_ptr(pattern);
>> > +	rte_trace_point_emit_ptr(tmplate);
>> > +)
>> > +
>> > +RTE_TRACE_POINT(
>> > +	rte_flow_trace_pattern_template_destroy,
>> > +	RTE_TRACE_POINT_ARGS(uint16_t port_id,
>> > +		struct rte_flow_pattern_template *pattern_template, int
>> > ret),
>> > +	rte_trace_point_emit_u16(port_id);
>> > +	rte_trace_point_emit_ptr(pattern_template);
>> > +	rte_trace_point_emit_int(ret);
>> > +)
>> > +
>> > +RTE_TRACE_POINT(
>> > +	rte_flow_trace_actions_template_create,
>> > +	RTE_TRACE_POINT_ARGS(uint16_t port_id,
>> > +		const struct rte_flow_actions_template_attr *template_attr,
>> > +		const struct rte_flow_action *actions,
>> > +		const struct rte_flow_action *masks,
>> > +		void *tmplate),
>> > +	uint32_t ingress = template_attr->ingress;
>> > +	uint32_t egress = template_attr->egress;
>> > +	uint32_t transfer = template_attr->transfer;
>> > +
>> > +	rte_trace_point_emit_u16(port_id);
>> > +	rte_trace_point_emit_ptr(template_attr);
>> > +	rte_trace_point_emit_u32(ingress);
>> > +	rte_trace_point_emit_u32(egress);
>> > +	rte_trace_point_emit_u32(transfer);
>> > +	rte_trace_point_emit_ptr(actions);
>> > +	rte_trace_point_emit_ptr(masks);
>> > +	rte_trace_point_emit_ptr(tmplate);
>> > +)
>> > +
>> > +RTE_TRACE_POINT(
>> > +	rte_flow_trace_actions_template_destroy,
>> > +	RTE_TRACE_POINT_ARGS(uint16_t port_id,
>> > +		struct rte_flow_actions_template *actions_template, int
>> > ret),
>> > +	rte_trace_point_emit_u16(port_id);
>> > +	rte_trace_point_emit_ptr(actions_template);
>> > +	rte_trace_point_emit_int(ret);
>> > +)
>> > +
>> > +RTE_TRACE_POINT(
>> > +	rte_flow_trace_template_table_create,
>> > +	RTE_TRACE_POINT_ARGS(uint16_t port_id,
>> > +		const struct rte_flow_template_table_attr *table_attr,
>> > +		struct rte_flow_pattern_template **pattern_templates,
>> > +		uint8_t nb_pattern_templates,
>> > +		struct rte_flow_actions_template **actions_templates,
>> > +		uint8_t nb_actions_templates,
>> > +		struct rte_flow_template_table *table),
>> > +	rte_trace_point_emit_u16(port_id);
>> > +	rte_trace_point_emit_ptr(table_attr);
>> > +	rte_trace_point_emit_u32(table_attr->nb_flows);
>> > +	rte_trace_point_emit_ptr(pattern_templates);
>> > +	rte_trace_point_emit_u8(nb_pattern_templates);
>> > +	rte_trace_point_emit_ptr(actions_templates);
>> > +	rte_trace_point_emit_u8(nb_actions_templates);
>> > +	rte_trace_point_emit_ptr(table);
>> > +)
>> > +
>> > +RTE_TRACE_POINT(
>> > +	rte_flow_trace_template_table_destroy,
>> > +	RTE_TRACE_POINT_ARGS(uint16_t port_id,
>> > +		struct rte_flow_template_table *template_table, int ret),
>> > +	rte_trace_point_emit_u16(port_id);
>> > +	rte_trace_point_emit_ptr(template_table);
>> > +	rte_trace_point_emit_int(ret);
>> > +)
>> > +
>> > +RTE_TRACE_POINT(
>
>Part of the datapath should be _FP
>

Will make it as fastpath.
>> > +	rte_flow_trace_async_create,
>> > +	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t queue_id,
>> > +		const struct rte_flow_op_attr *op_attr,
>> > +		struct rte_flow_template_table *template_table,
>> > +		const struct rte_flow_item *pattern,
>> > +		uint8_t pattern_template_index,
>> > +		const struct rte_flow_action *actions,
>> > +		uint8_t actions_template_index,
>> > +		void *user_data, struct rte_flow *flow),
>> > +	rte_trace_point_emit_u16(port_id);
>> > +	rte_trace_point_emit_u32(queue_id);
>> > +	rte_trace_point_emit_ptr(op_attr);
>> > +	rte_trace_point_emit_ptr(template_table);
>> > +	rte_trace_point_emit_ptr(pattern);
>> > +	rte_trace_point_emit_u8(pattern_template_index);
>> > +	rte_trace_point_emit_ptr(actions);
>> > +	rte_trace_point_emit_u8(actions_template_index);
>> > +	rte_trace_point_emit_ptr(user_data);
>> > +	rte_trace_point_emit_ptr(flow);
>> > +)
>> > +
>> > +RTE_TRACE_POINT(
>> > +	rte_flow_trace_async_destroy,
>> > +	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t queue_id,
>> > +		const struct rte_flow_op_attr *op_attr,
>> > +		struct rte_flow *flow, void *user_data, int ret),
>> > +	rte_trace_point_emit_u16(port_id);
>> > +	rte_trace_point_emit_u32(queue_id);
>> > +	rte_trace_point_emit_ptr(op_attr);
>> > +	rte_trace_point_emit_ptr(flow);
>> > +	rte_trace_point_emit_ptr(user_data);
>> > +	rte_trace_point_emit_int(ret);
>> > +)
>> > +
>> > +RTE_TRACE_POINT(
>> > +	rte_flow_trace_push,
>> > +	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t queue_id, int
>> > ret),
>> > +	rte_trace_point_emit_u16(port_id);
>> > +	rte_trace_point_emit_u32(queue_id);
>> > +	rte_trace_point_emit_int(ret);
>> > +)
>> > +
>> > +RTE_TRACE_POINT(
>
>Part of the datapath should be _FP
>

Will make it as fastpath.
>> > +	rte_flow_trace_pull,
>> > +	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t queue_id,
>> > +		struct rte_flow_op_result *res, uint16_t n_res, int ret),
>> > +	rte_trace_point_emit_u16(port_id);
>> > +	rte_trace_point_emit_u32(queue_id);
>> > +	rte_trace_point_emit_ptr(res);
>> > +	rte_trace_point_emit_u16(n_res);
>> > +	rte_trace_point_emit_int(ret);
>> > +)
>> > +
>> > +RTE_TRACE_POINT(
>
>Part of the datapath should be _FP
>

Will make it as fastpath.
>> > +	rte_flow_trace_async_action_handle_create,
>> > +	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t queue_id,
>> > +		const struct rte_flow_op_attr *op_attr,
>> > +		const struct rte_flow_indir_action_conf *indir_action_conf,
>> > +		const struct rte_flow_action *action,
>> > +		void *user_data, struct rte_flow_action_handle *handle),
>> > +	rte_trace_point_emit_u16(port_id);
>> > +	rte_trace_point_emit_u32(queue_id);
>> > +	rte_trace_point_emit_ptr(op_attr);
>> > +	rte_trace_point_emit_ptr(indir_action_conf);
>> > +	rte_trace_point_emit_ptr(action);
>> > +	rte_trace_point_emit_ptr(user_data);
>> > +	rte_trace_point_emit_ptr(handle);
>> > +)
>> > +
>> > +RTE_TRACE_POINT(
>
>Part of the datapath should be _FP
>

Will make it as fastpath.
>> > +	rte_flow_trace_async_action_handle_destroy,
>> > +	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t queue_id,
>> > +		const struct rte_flow_op_attr *op_attr,
>> > +		struct rte_flow_action_handle *action_handle,
>> > +		void *user_data, int ret),
>> > +	rte_trace_point_emit_u16(port_id);
>> > +	rte_trace_point_emit_u32(queue_id);
>> > +	rte_trace_point_emit_ptr(op_attr);
>> > +	rte_trace_point_emit_ptr(action_handle);
>> > +	rte_trace_point_emit_ptr(user_data);
>> > +	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 d4b2e4b312..c5b8083de2 100644
>> > --- a/lib/ethdev/rte_ethdev_trace_fp.h
>> > +++ b/lib/ethdev/rte_ethdev_trace_fp.h
>> > @@ -646,6 +646,119 @@ RTE_TRACE_POINT_FP(
>> >  	rte_trace_point_emit_int(ret);
>> >  )
>> >

Is the below fastpath function list correct ?

>> > +RTE_TRACE_POINT_FP(
>> > +	rte_flow_trace_query,
>> > +	RTE_TRACE_POINT_ARGS(uint16_t port_id, struct rte_flow *flow,
>> > +		const struct rte_flow_action *action, void *data, int ret),
>> > +	rte_trace_point_emit_u16(port_id);
>> > +	rte_trace_point_emit_ptr(flow);
>> > +	rte_trace_point_emit_ptr(action);
>> > +	rte_trace_point_emit_int(action->type);
>> > +	rte_trace_point_emit_ptr(data);
>> > +	rte_trace_point_emit_int(ret);
>> > +)
>> > +
>> > +RTE_TRACE_POINT_FP(
>> > +	rte_flow_trace_isolate,
>> > +	RTE_TRACE_POINT_ARGS(uint16_t port_id, int set, int ret),
>> > +	rte_trace_point_emit_u16(port_id);
>> > +	rte_trace_point_emit_int(set);
>> > +	rte_trace_point_emit_int(ret);
>> > +)
>> > +
>> > +RTE_TRACE_POINT_FP(
>> > +	rte_flow_trace_get_restore_info,
>> > +	RTE_TRACE_POINT_ARGS(uint16_t port_id,
>> > +		struct rte_mbuf *m, struct rte_flow_restore_info *info,
>> > +		int ret),
>> > +	rte_trace_point_emit_u16(port_id);
>> > +	rte_trace_point_emit_ptr(m);
>> > +	rte_trace_point_emit_ptr(info);
>> > +	rte_trace_point_emit_int(ret);
>> > +)
>> > +
>> > +RTE_TRACE_POINT_FP(
>> > +	rte_flow_trace_get_aged_flows,
>> > +	RTE_TRACE_POINT_ARGS(uint16_t port_id, void **contexts,
>> > +		uint32_t nb_contexts, int ret),
>> > +	rte_trace_point_emit_u16(port_id);
>> > +	rte_trace_point_emit_ptr(contexts);
>> > +	rte_trace_point_emit_u32(nb_contexts);
>> > +	rte_trace_point_emit_int(ret);
>> > +)
>> > +
>> > +RTE_TRACE_POINT_FP(
>> > +	rte_flow_trace_get_q_aged_flows,
>> > +	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t queue_id, void
>> > **contexts,
>> > +		uint32_t nb_contexts, int ret),
>> > +	rte_trace_point_emit_u16(port_id);
>> > +	rte_trace_point_emit_u32(queue_id);
>> > +	rte_trace_point_emit_ptr(contexts);
>> > +	rte_trace_point_emit_u32(nb_contexts);
>> > +	rte_trace_point_emit_int(ret);
>> > +)
>> > +
>> > +RTE_TRACE_POINT_FP(
>> > +	rte_flow_trace_action_handle_update,
>> > +	RTE_TRACE_POINT_ARGS(uint16_t port_id,
>> > +		struct rte_flow_action_handle *handle,
>> > +		const void *update, int ret),
>> > +	rte_trace_point_emit_u16(port_id);
>> > +	rte_trace_point_emit_ptr(handle);
>> > +	rte_trace_point_emit_ptr(update);
>> > +	rte_trace_point_emit_int(ret);
>> > +)
>> > +
>> > +RTE_TRACE_POINT_FP(
>> > +	rte_flow_trace_action_handle_query,
>> > +	RTE_TRACE_POINT_ARGS(uint16_t port_id,
>> > +		const struct rte_flow_action_handle *handle,
>> > +		void *data, int ret),
>> > +	rte_trace_point_emit_u16(port_id);
>> > +	rte_trace_point_emit_ptr(handle);
>> > +	rte_trace_point_emit_ptr(data);
>> > +	rte_trace_point_emit_int(ret);
>> > +)
>> > +
>> > +RTE_TRACE_POINT_FP(
>> > +	rte_flow_trace_pick_transfer_proxy,
>> > +	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t
>> > *proxy_port_id,
>> > +		int ret),
>> > +	rte_trace_point_emit_u16(port_id);
>> > +	rte_trace_point_emit_ptr(proxy_port_id);
>> > +	rte_trace_point_emit_int(ret);
>> > +)
>> > +
>> > +RTE_TRACE_POINT_FP(
>> > +	rte_flow_trace_async_action_handle_update,
>> > +	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t queue_id,
>> > +		const struct rte_flow_op_attr *op_attr,
>> > +		struct rte_flow_action_handle *action_handle,
>> > +		const void *update, void *user_data, int ret),
>> > +	rte_trace_point_emit_u16(port_id);
>> > +	rte_trace_point_emit_u32(queue_id);
>> > +	rte_trace_point_emit_ptr(op_attr);
>> > +	rte_trace_point_emit_ptr(action_handle);
>> > +	rte_trace_point_emit_ptr(update);
>> > +	rte_trace_point_emit_ptr(user_data);
>> > +	rte_trace_point_emit_int(ret);
>> > +)
>> > +
>> > +RTE_TRACE_POINT_FP(
>> > +	rte_flow_trace_async_action_handle_query,
>> > +	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t queue_id,
>> > +		const struct rte_flow_op_attr *op_attr,
>> > +		const struct rte_flow_action_handle *action_handle,
>> > +		void *data, void *user_data, int ret),
>> > +	rte_trace_point_emit_u16(port_id);
>> > +	rte_trace_point_emit_u32(queue_id);
>> > +	rte_trace_point_emit_ptr(op_attr);
>> > +	rte_trace_point_emit_ptr(action_handle);
>> > +	rte_trace_point_emit_ptr(data);
>> > +	rte_trace_point_emit_ptr(user_data);
>> > +	rte_trace_point_emit_int(ret);
>> > +)
>> > +
>> >  #ifdef __cplusplus
>> >  }
>> >  #endif
>
>Thanks,
>Ori

  reply	other threads:[~2023-02-02 15:49 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           ` [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 [this message]
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=CO3PR18MB5005D6395B58E0BA712FB0AADDD69@CO3PR18MB5005.namprd18.prod.outlook.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.