All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nithin Dabilpuram <ndabilpuram@marvell.com>
To: "Singh, Jasvinder" <jasvinder.singh@intel.com>
Cc: Nithin Dabilpuram <nithind1988@gmail.com>,
	"Dumitrescu, Cristian" <cristian.dumitrescu@intel.com>,
	Thomas Monjalon <thomas@monjalon.net>,
	"Yigit, Ferruh" <ferruh.yigit@intel.com>,
	Andrew Rybchenko <arybchenko@solarflare.com>,
	"dev@dpdk.org" <dev@dpdk.org>,
	"jerinj@marvell.com" <jerinj@marvell.com>,
	"kkanas@marvell.com" <kkanas@marvell.com>
Subject: Re: [dpdk-dev] [EXT] RE: [PATCH v3] ethdev: add tm support for shaper config in pkt mode
Date: Wed, 22 Apr 2020 22:51:52 +0530	[thread overview]
Message-ID: <20200422172152.GD760@outlook.office365.com> (raw)
In-Reply-To: <CY4PR11MB0072D0F177EA87B171AA4D59E0D20@CY4PR11MB0072.namprd11.prod.outlook.com>

Fixed in v4.
On Wed, Apr 22, 2020 at 12:18:14PM +0000, Singh, Jasvinder wrote:
> External Email
> 
> ----------------------------------------------------------------------
> 
> 
> > -----Original Message-----
> > From: Nithin Dabilpuram <ndabilpuram@marvell.com>
> > Sent: Wednesday, April 22, 2020 9:09 AM
> > To: Nithin Dabilpuram <nithind1988@gmail.com>
> > Cc: Singh, Jasvinder <jasvinder.singh@intel.com>; Dumitrescu, Cristian
> > <cristian.dumitrescu@intel.com>; Thomas Monjalon
> > <thomas@monjalon.net>; Yigit, Ferruh <ferruh.yigit@intel.com>; Andrew
> > Rybchenko <arybchenko@solarflare.com>; dev@dpdk.org;
> > jerinj@marvell.com; kkanas@marvell.com
> > Subject: Re: [dpdk-dev] [PATCH v3] ethdev: add tm support for shaper config
> > in pkt mode
> > 
> > Please ignore this patch. Had issue with subject line.
> > Consider patch "[v3,1/4] ethdev: add tm support for shaper config in pkt
> > mode "
> > instead.
> > 
> > On Wed, Apr 22, 2020 at 01:29:44PM +0530, Nithin Dabilpuram wrote:
> > > From: Nithin Dabilpuram <ndabilpuram@marvell.com>
> > >
> > > Some NIC hardware support shaper to work in packet mode i.e shaping or
> > > ratelimiting traffic is in packets per second (PPS) as opposed to
> > > default bytes per second (BPS). Hence this patch adds support to
> > > configure shared or private shaper in packet mode, provide rate in PPS
> > > and add related tm capabilities in port/level/node capability
> > > structures.
> > >
> > > This patch also updates tm port/level/node capability structures with
> > > exiting features of scheduler wfq packet mode, scheduler wfq byte mode
> > > and private/shared shaper byte mode.
> > >
> > > SoftNIC PMD is also updated with new capabilities.
> > >
> > > Signed-off-by: Nithin Dabilpuram <ndabilpuram@marvell.com>
> > > ---
> > >
> > > v2..v3:
> > > - Fix typo's
> > > - Add shaper_shared_(packet, byte)_mode_supported in level and node
> > > cap
> > > - Fix comment in pkt_length_adjust.
> > > - Move rte_eth_softnic_tm.c capability update to patch 1/4 to
> > >   avoid compilations issues in node and level cap array in softnicpmd.
> > >   ../drivers/net/softnic/rte_eth_softnic_tm.c:782:3: warning: braces around
> > scalar initializer
> > >    {.nonleaf = {
> > >   ../drivers/net/softnic/rte_eth_softnic_tm.c:782:3: note: (near initialization
> > for ‘tm_node_cap[0].shaper_shared_byte_mode_supported’)
> > >   ../drivers/net/softnic/rte_eth_softnic_tm.c:782:4: error: field name not in
> > record or union initializer
> > >    {.nonleaf = {
> > >
> > > v1..v2:
> > > - Add seperate capability for shaper and scheduler pktmode and
> > bytemode.
> > > - Add packet_mode field in struct rte_tm_shaper_params to indicate
> > > packet mode shaper profile.
> > >
> > >
> > >  drivers/net/softnic/rte_eth_softnic_tm.c |  65 ++++++++++
> <snip>
> 
> > > @@ -548,13 +554,19 @@ static const struct rte_tm_level_capabilities
> > tm_level_cap[] = {
> > >  			.shaper_private_dual_rate_supported = 0,
> > >  			.shaper_private_rate_min = 1,
> > >  			.shaper_private_rate_max = UINT32_MAX,
> > > +			.shaper_private_packet_mode_supported = 0,
> > > +			.shaper_private_byte_mode_supported = 1,
> > >  			.shaper_shared_n_max = 0,
> > > +			.shaper_shared_packet_mode_supported = 0,
> > > +			.shaper_shared_byte_mode_supported = 0,
> > >
> > >  			.sched_n_children_max = UINT32_MAX,
> > >  			.sched_sp_n_priorities_max = 1,
> > >  			.sched_wfq_n_children_per_group_max =
> > UINT32_MAX,
> > >  			.sched_wfq_n_groups_max = 1,
> > >  			.sched_wfq_weight_max = 1,
> > > +			.sched_wfq_packet_mode_supported = 0,
> > > +			.sched_wfq_byte_mode_supported = 0,
> 
> [Jasvinder] -  byte mode needs to be set here.
> 
> 
> 
> > >  			.stats_mask = STATS_MASK_DEFAULT,
> > >  		} },
> > > @@ -572,7 +584,11 @@ static const struct rte_tm_level_capabilities
> > tm_level_cap[] = {
> > >  			.shaper_private_dual_rate_supported = 0,
> > >  			.shaper_private_rate_min = 1,
> > >  			.shaper_private_rate_max = UINT32_MAX,
> > > +			.shaper_private_packet_mode_supported = 0,
> > > +			.shaper_private_byte_mode_supported = 1,
> > >  			.shaper_shared_n_max = 0,
> > > +			.shaper_shared_packet_mode_supported = 0,
> > > +			.shaper_shared_byte_mode_supported = 0,
> > >
> > >  			.sched_n_children_max = UINT32_MAX,
> > >  			.sched_sp_n_priorities_max = 1,
> > > @@ -580,9 +596,14 @@ static const struct rte_tm_level_capabilities
> > tm_level_cap[] = {
> > >  			.sched_wfq_n_groups_max = 1,
> > >  #ifdef RTE_SCHED_SUBPORT_TC_OV
> > >  			.sched_wfq_weight_max = UINT32_MAX,
> > > +			.sched_wfq_packet_mode_supported = 0,
> > > +			.sched_wfq_byte_mode_supported = 1,
> > >  #else
> > >  			.sched_wfq_weight_max = 1,
> > > +			.sched_wfq_packet_mode_supported = 0,
> > > +			.sched_wfq_byte_mode_supported = 0,
> 
> [jasvinder] - byte mode should be set here as well. 
> 
> 
> > >  #endif
> > > +
> > >  			.stats_mask = STATS_MASK_DEFAULT,
> > >  		} },
> > >  	},
> > > @@ -599,7 +620,11 @@ static const struct rte_tm_level_capabilities
> > tm_level_cap[] = {
> > >  			.shaper_private_dual_rate_supported = 0,
> > >  			.shaper_private_rate_min = 1,
> > >  			.shaper_private_rate_max = UINT32_MAX,
> > > +			.shaper_private_packet_mode_supported = 0,
> > > +			.shaper_private_byte_mode_supported = 1,
> > >  			.shaper_shared_n_max = 0,
> > > +			.shaper_shared_packet_mode_supported = 0,
> > > +			.shaper_shared_byte_mode_supported = 0,
> > >
> > >  			.sched_n_children_max =
> > >  				RTE_SCHED_TRAFFIC_CLASSES_PER_PIPE,
> > > @@ -608,6 +633,8 @@ static const struct rte_tm_level_capabilities
> > tm_level_cap[] = {
> > >  			.sched_wfq_n_children_per_group_max = 1,
> > >  			.sched_wfq_n_groups_max = 0,
> > >  			.sched_wfq_weight_max = 1,
> > > +			.sched_wfq_packet_mode_supported = 0,
> > > +			.sched_wfq_byte_mode_supported = 0,
> > >
> > >  			.stats_mask = STATS_MASK_DEFAULT,
> > >  		} },
> > > @@ -625,7 +652,11 @@ static const struct rte_tm_level_capabilities
> > tm_level_cap[] = {
> > >  			.shaper_private_dual_rate_supported = 0,
> > >  			.shaper_private_rate_min = 1,
> > >  			.shaper_private_rate_max = UINT32_MAX,
> > > +			.shaper_private_packet_mode_supported = 0,
> > > +			.shaper_private_byte_mode_supported = 1,
> > >  			.shaper_shared_n_max = 1,
> > > +			.shaper_shared_packet_mode_supported = 0,
> > > +			.shaper_shared_byte_mode_supported = 1,
> > >
> > >  			.sched_n_children_max =
> > >  				RTE_SCHED_BE_QUEUES_PER_PIPE,
> > > @@ -634,6 +665,8 @@ static const struct rte_tm_level_capabilities
> > tm_level_cap[] = {
> > >  				RTE_SCHED_BE_QUEUES_PER_PIPE,
> > >  			.sched_wfq_n_groups_max = 1,
> > >  			.sched_wfq_weight_max = UINT32_MAX,
> > > +			.sched_wfq_packet_mode_supported = 0,
> > > +			.sched_wfq_byte_mode_supported = 1,
> > >
> > >  			.stats_mask = STATS_MASK_DEFAULT,
> > >  		} },
> > > @@ -651,7 +684,11 @@ static const struct rte_tm_level_capabilities
> > tm_level_cap[] = {
> > >  			.shaper_private_dual_rate_supported = 0,
> > >  			.shaper_private_rate_min = 0,
> > >  			.shaper_private_rate_max = 0,
> > > +			.shaper_private_packet_mode_supported = 0,
> > > +			.shaper_private_byte_mode_supported = 0,
> > >  			.shaper_shared_n_max = 0,
> > > +			.shaper_shared_packet_mode_supported = 0,
> > > +			.shaper_shared_byte_mode_supported = 0,
> > >
> > >  			.cman_head_drop_supported = 0,
> > >  			.cman_wred_packet_mode_supported =
> > WRED_SUPPORTED, @@ -736,7
> > > +773,11 @@ static const struct rte_tm_node_capabilities tm_node_cap[] =
> > {
> > >  		.shaper_private_dual_rate_supported = 0,
> > >  		.shaper_private_rate_min = 1,
> > >  		.shaper_private_rate_max = UINT32_MAX,
> > > +		.shaper_private_packet_mode_supported = 0,
> > > +		.shaper_private_byte_mode_supported = 1,
> > >  		.shaper_shared_n_max = 0,
> > > +		.shaper_shared_packet_mode_supported = 0,
> > > +		.shaper_shared_byte_mode_supported = 0,
> > >
> > >  		{.nonleaf = {
> > >  			.sched_n_children_max = UINT32_MAX, @@ -744,6
> > +785,8 @@ static
> > > const struct rte_tm_node_capabilities tm_node_cap[] = {
> > >  			.sched_wfq_n_children_per_group_max =
> > UINT32_MAX,
> > >  			.sched_wfq_n_groups_max = 1,
> > >  			.sched_wfq_weight_max = 1,
> > > +			.sched_wfq_packet_mode_supported = 0,
> > > +			.sched_wfq_byte_mode_supported = 0,
> > >  		} },
> 
> [Jasvinder] - byte mode to be set.
> 
> 
> > >  		.stats_mask = STATS_MASK_DEFAULT,
> > > @@ -754,7 +797,11 @@ static const struct rte_tm_node_capabilities
> > tm_node_cap[] = {
> > >  		.shaper_private_dual_rate_supported = 0,
> > >  		.shaper_private_rate_min = 1,
> > >  		.shaper_private_rate_max = UINT32_MAX,
> > > +		.shaper_private_packet_mode_supported = 0,
> > > +		.shaper_private_byte_mode_supported = 1,
> > >  		.shaper_shared_n_max = 0,
> > > +		.shaper_shared_packet_mode_supported = 0,
> > > +		.shaper_shared_byte_mode_supported = 0,
> > >
> > >  		{.nonleaf = {
> > >  			.sched_n_children_max = UINT32_MAX, @@ -762,6
> > +809,8 @@ static
> > > const struct rte_tm_node_capabilities tm_node_cap[] = {
> > >  			.sched_wfq_n_children_per_group_max =
> > UINT32_MAX,
> > >  			.sched_wfq_n_groups_max = 1,
> > >  			.sched_wfq_weight_max = UINT32_MAX,
> > > +			.sched_wfq_packet_mode_supported = 0,
> > > +			.sched_wfq_byte_mode_supported = 0,
> > >  		} },
> 
> [Jasvinder] - byte mode to be set here.
> 
> 
> 
> > >  		.stats_mask = STATS_MASK_DEFAULT,
> > > @@ -772,7 +821,11 @@ static const struct rte_tm_node_capabilities
> > tm_node_cap[] = {
> > >  		.shaper_private_dual_rate_supported = 0,
> > >  		.shaper_private_rate_min = 1,
> > >  		.shaper_private_rate_max = UINT32_MAX,
> > > +		.shaper_private_packet_mode_supported = 0,
> > > +		.shaper_private_byte_mode_supported = 1,
> > >  		.shaper_shared_n_max = 0,
> > > +		.shaper_shared_packet_mode_supported = 0,
> > > +		.shaper_shared_byte_mode_supported = 0,
> > >
> > >  		{.nonleaf = {
> > >  			.sched_n_children_max =
> > > @@ -782,6 +835,8 @@ static const struct rte_tm_node_capabilities
> > tm_node_cap[] = {
> > >  			.sched_wfq_n_children_per_group_max = 1,
> > >  			.sched_wfq_n_groups_max = 0,
> > >  			.sched_wfq_weight_max = 1,
> > > +			.sched_wfq_packet_mode_supported = 0,
> > > +			.sched_wfq_byte_mode_supported = 0,
> > >  		} },
> > >
> > >  		.stats_mask = STATS_MASK_DEFAULT,
> > > @@ -792,7 +847,11 @@ static const struct rte_tm_node_capabilities
> > tm_node_cap[] = {
> > >  		.shaper_private_dual_rate_supported = 0,
> > >  		.shaper_private_rate_min = 1,
> > >  		.shaper_private_rate_max = UINT32_MAX,
> > > +		.shaper_private_packet_mode_supported = 0,
> > > +		.shaper_private_byte_mode_supported = 1,
> > >  		.shaper_shared_n_max = 1,
> > > +		.shaper_shared_packet_mode_supported = 0,
> > > +		.shaper_shared_byte_mode_supported = 1,
> > >
> > >  		{.nonleaf = {
> > >  			.sched_n_children_max =
> > > @@ -802,6 +861,8 @@ static const struct rte_tm_node_capabilities
> > tm_node_cap[] = {
> > >  				RTE_SCHED_BE_QUEUES_PER_PIPE,
> > >  			.sched_wfq_n_groups_max = 1,
> > >  			.sched_wfq_weight_max = UINT32_MAX,
> > > +			.sched_wfq_packet_mode_supported = 0,
> > > +			.sched_wfq_byte_mode_supported = 1,
> > >  		} },
> > >
> > >  		.stats_mask = STATS_MASK_DEFAULT,
> > > @@ -812,7 +873,11 @@ static const struct rte_tm_node_capabilities
> > tm_node_cap[] = {
> > >  		.shaper_private_dual_rate_supported = 0,
> > >  		.shaper_private_rate_min = 0,
> > >  		.shaper_private_rate_max = 0,
> > > +		.shaper_private_packet_mode_supported = 0,
> > > +		.shaper_private_byte_mode_supported = 0,
> > >  		.shaper_shared_n_max = 0,
> > > +		.shaper_shared_packet_mode_supported = 0,
> > > +		.shaper_shared_byte_mode_supported = 0,
> > >
> > >
> > >  		{.leaf = {
> 
> 
> 

  reply	other threads:[~2020-04-22 17:22 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-30 16:00 [dpdk-dev] [PATCH 1/2] ethdev: add tm cap for private shaper packet mode Nithin Dabilpuram
2020-03-30 16:00 ` [dpdk-dev] [PATCH 2/2] app/testpmd: add tm non leaf node pktmode command Nithin Dabilpuram
2020-04-07  7:30 ` [dpdk-dev] [PATCH 1/2] ethdev: add tm cap for private shaper packet mode Nithin Dabilpuram
2020-04-07 16:31 ` Dumitrescu, Cristian
2020-04-07 17:21   ` [dpdk-dev] [EXT] " Nithin Dabilpuram
2020-04-10 11:45     ` Dumitrescu, Cristian
2020-04-10 11:56       ` Nithin Dabilpuram
2020-04-11 11:44 ` [dpdk-dev] [PATCH v2 1/4] ethdev: add tm support for shaper config in pkt mode Nithin Dabilpuram
2020-04-11 11:44   ` [dpdk-dev] [PATCH v2 2/4] drivers/net: update tm capability for existing pmds Nithin Dabilpuram
2020-04-11 11:44   ` [dpdk-dev] [PATCH v2 3/4] app/testpmd: add tm cmd for non leaf and shaper pktmode Nithin Dabilpuram
2020-04-11 11:44   ` [dpdk-dev] [PATCH v2 4/4] net/octeontx2: support tm length adjust and pkt mode Nithin Dabilpuram
2020-04-16 13:48   ` [dpdk-dev] [PATCH v2 1/4] ethdev: add tm support for shaper config in " Ferruh Yigit
2020-04-21  5:11     ` [dpdk-dev] [EXT] " Nithin Dabilpuram
2020-04-21  9:30   ` [dpdk-dev] " Dumitrescu, Cristian
2020-04-21  9:58     ` Nithin Dabilpuram
2020-04-21 10:23       ` Dumitrescu, Cristian
2020-04-21 11:55         ` [dpdk-dev] [EXT] " Nithin Dabilpuram
2020-04-22  7:59 ` [dpdk-dev] [PATCH v3] " Nithin Dabilpuram
2020-04-22  7:59   ` [dpdk-dev] [PATCH v3 2/4] drivers/net: update tm capability for existing pmds Nithin Dabilpuram
2020-04-22  7:59   ` [dpdk-dev] [PATCH v3 3/4] app/testpmd: add tm cmd for non leaf and shaper pktmode Nithin Dabilpuram
2020-04-22  7:59   ` [dpdk-dev] [PATCH v3 4/4] net/octeontx2: support tm length adjust and pkt mode Nithin Dabilpuram
2020-04-22  8:09   ` [dpdk-dev] [PATCH v3] ethdev: add tm support for shaper config in " Nithin Dabilpuram
2020-04-22 12:18     ` Singh, Jasvinder
2020-04-22 17:21       ` Nithin Dabilpuram [this message]
2020-04-22 10:10   ` Dumitrescu, Cristian
2020-04-22 11:31     ` [dpdk-dev] [EXT] " Nithin Dabilpuram
2020-04-22 11:49       ` Nithin Dabilpuram
2020-04-22 11:59         ` Dumitrescu, Cristian
2020-04-22 12:01       ` Dumitrescu, Cristian
2020-04-22  8:05 ` [dpdk-dev] [PATCH v3 1/4] " Nithin Dabilpuram
2020-04-22 17:21 ` [dpdk-dev] [PATCH v4 " Nithin Dabilpuram
2020-04-22 17:21   ` [dpdk-dev] [PATCH v4 2/4] drivers/net: update tm capability for existing pmds Nithin Dabilpuram
2020-04-22 17:21   ` [dpdk-dev] [PATCH v4 3/4] app/testpmd: add tm cmd for non leaf and shaper pktmode Nithin Dabilpuram
2020-04-22 17:21   ` [dpdk-dev] [PATCH v4 4/4] net/octeontx2: support tm length adjust and pkt mode Nithin Dabilpuram
2020-04-24 10:28   ` [dpdk-dev] [PATCH v4 1/4] ethdev: add tm support for shaper config in " Dumitrescu, Cristian
2020-04-25 20:09     ` Ferruh Yigit
2020-04-27  9:19       ` Dumitrescu, Cristian
2020-04-27 16:12         ` Ferruh Yigit
2020-04-27 16:28           ` Dumitrescu, Cristian
2020-04-28 15:30             ` Thomas Monjalon
2020-04-28 17:35               ` Dumitrescu, Cristian
2020-04-27 16:29           ` Jerin Jacob
2020-04-27 16:49             ` Ferruh Yigit
2020-04-27 16:59               ` Jerin Jacob
2020-04-28 11:51                 ` [dpdk-dev] [EXT] " Nithin Dabilpuram
2020-04-28 13:56                   ` Ferruh Yigit
2020-04-28 14:06                 ` [dpdk-dev] " Ferruh Yigit
2020-04-28 14:45                   ` Bruce Richardson
2020-04-28 15:04                     ` Luca Boccassi
2020-04-28 15:54                       ` Thomas Monjalon
2020-04-29  8:45                         ` Dumitrescu, Cristian
2020-04-29  9:03                           ` Bruce Richardson
2020-05-01 10:27                             ` Ferruh Yigit
2020-05-01 13:16                               ` [dpdk-dev] [EXT] " Nithin Dabilpuram
2020-08-25 16:59                                 ` Ferruh Yigit
2020-09-07 11:12                                   ` Nithin Dabilpuram
2020-09-14 13:01                                     ` Ferruh Yigit
2020-05-01 13:18                         ` [dpdk-dev] " Jerin Jacob
2020-05-05  8:01                           ` Ray Kinsella
2020-04-28 15:42                     ` Ray Kinsella

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=20200422172152.GD760@outlook.office365.com \
    --to=ndabilpuram@marvell.com \
    --cc=arybchenko@solarflare.com \
    --cc=cristian.dumitrescu@intel.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --cc=jasvinder.singh@intel.com \
    --cc=jerinj@marvell.com \
    --cc=kkanas@marvell.com \
    --cc=nithind1988@gmail.com \
    --cc=thomas@monjalon.net \
    /path/to/YOUR_REPLY

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

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is 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.