DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Dumitrescu, Cristian" <cristian.dumitrescu@intel.com>
To: "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] Dynamic port/pipe QoS configuration
Date: Mon, 20 Oct 2014 19:21:47 +0000
Message-ID: <3EB4FA525960D640B5BDFFD6A3D891262E090FBB@IRSMSX108.ger.corp.intel.com> (raw)
In-Reply-To: <251C79C4-74C5-4EF9-A987-3B4DB94A31D5@intel.com>

Hi Satish,

Yes, you can change the pipe configuration during run-time, but in a slightly different way. The way to do it is by defining multiple pipe profiles at the port level initialization time and reassigning the pipe to a different level at run-time.

The pipe profiles are statically defined per port at initialization time (their number is configurable through rte_sched_port_params:: n_pipe_profiles parameter), so you need to know in advance the set of profiles you want to use at run-time. You can assign pipe X to profile A initially, then re-assign it to profile B later on (by using function rte_sched_pipe_config()).


From: satish <nsatishbabu@gmail.com<mailto:nsatishbabu@gmail.com>>
Date: October 17, 2014 at 2:59:35 PM PDT
To: <dev@dpdk.org<mailto:dev@dpdk.org>>
Subject: Re: [dpdk-dev] Dynamic port/pipe QoS configuration
Can someone please respond to below?
Thank you.

On Mon, Oct 13, 2014 at 3:54 PM, satish <nsatishbabu@gmail.com<mailto:nsatishbabu@gmail.com>> wrote:

We are trying to provide QoS support for one of our clients using
In our implementation we are treating each pipe as a customer.
So, we can have maximum of 4096 customers per sub-port.
Customers(pipe) can be added, deleted or modified dynamically. Each
customer can have different profiles.

Currently we are using DPDK-v1.6.
Can I modify pipe profile during run time using rte_sched_pipe_config ()?

Our plan is to have initial configs as below (similar to examples in DPDK)
[1] Specify port params at the initialization of port as below
static struct rte_sched_port_params port_param = {
.n_subports_per_port = 1,
.n_pipes_per_subport = 4096,
.qsize = {64, 64, 64, 64},
.pipe_profiles = pipe_profile,
.n_pipe_profiles = 1,

static struct rte_sched_subport_params subport_param[] = {
.tb_rate = Link speed (1G/10G..) divided by 8 (bits),
.tb_size = 1000000,

.tc_rate = {Same as tb_rate, Same as tb_rate, Same as tb_rate, Same as
.tc_period = 10,

static struct rte_sched_pipe_params pipe_profile[] = {
{ /* Profile #0 */
.tb_rate = Link speed (1G/10G..) divided by 8 (bits)/4096 (maximum number
of pipes),
.tb_size = 1000000,

.tc_rate = {pipe's tb_rate, pipe's tb_rate, pipe's tb_rate, pipe's
.tc_period = 40,

.wrr_weights = {16, 4, 2, 1,  16, 4, 2, 1,  16, 4, 2, 1,  16, 4, 2, 1},

Our plan here is to initialize the pipe with default profile and modify
each pipe based on user configurations.
My questions are
[a] Can I modify pipe profile during run time using rte_sched_pipe_config
()? (question repeated)
If I can modify at pipe level,
[b] Can we have different profiles for pipes, With one default profile at
[c] Can we modify port level params without deleting the port using
rte_sched_port_config ()?

Please provide your valuable comments.
Thanks in advance.

Satish Babu

Satish Babu
Intel Shannon Limited
Registered in Ireland
Registered Office: Collinstown Industrial Park, Leixlip, County Kildare
Registered Number: 308263
Business address: Dromore House, East Park, Shannon, Co. Clare

This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies.

  parent reply	other threads:[~2014-10-20 19:13 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-13 22:54 satish
2014-10-17 21:59 ` satish
2014-10-18  9:16   ` Stephen Hemminger
     [not found]   ` <251C79C4-74C5-4EF9-A987-3B4DB94A31D5@intel.com>
2014-10-20 19:21     ` Dumitrescu, Cristian [this message]
2014-10-20 21:05       ` satish

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:

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3EB4FA525960D640B5BDFFD6A3D891262E090FBB@IRSMSX108.ger.corp.intel.com \
    --to=cristian.dumitrescu@intel.com \
    --cc=dev@dpdk.org \


* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

DPDK patches and discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://inbox.dpdk.org/dev/0 dev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dev dev/ https://inbox.dpdk.org/dev \
	public-inbox-index dev

Example config snippet for mirrors.
Newsgroup available over NNTP:

AGPL code for this site: git clone https://public-inbox.org/public-inbox.git