DPDK usage discussions
 help / color / mirror / Atom feed
From: "Singh, Jasvinder" <jasvinder.singh@intel.com>
To: satish amara <satishkamara@gmail.com>
Cc: Thomas Monjalon <thomas@monjalon.net>,
	"users@dpdk.org" <users@dpdk.org>,
	 "Dumitrescu, Cristian" <cristian.dumitrescu@intel.com>
Subject: RE: Fwd: QOS sample example.
Date: Wed, 6 Apr 2022 16:34:51 +0000
Message-ID: <CY4PR11MB15897C41C9CEA105F7D5D270E0E79@CY4PR11MB1589.namprd11.prod.outlook.com> (raw)
In-Reply-To: <CAGSLe_HE-UkQBwp4Yvizw_9ob4cybbnw2ccAgFLsykUB=hkDXw@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 3451 bytes --]

Yes, it is fixed. The tc_credits_per_period is updated after tc_period duration. Note that tc credits don’t get accumulated if tc queue is visited after multiple tc_period due to rate limiting mechanism at the traffic class level.

From: satish amara <satishkamara@gmail.com>
Sent: Wednesday, April 6, 2022 4:32 PM
To: Singh, Jasvinder <jasvinder.singh@intel.com>
Cc: Thomas Monjalon <thomas@monjalon.net>; users@dpdk.org; Dumitrescu, Cristian <cristian.dumitrescu@intel.com>
Subject: Re: Fwd: QOS sample example.

Jasvinder,
   I have a few more questions.
Can you provide  some clarity on
tc_credits_per_period
tc_period is for how often the credits for traffic need to be updated. Is tc_credits_per_period is fixed based on tc_rate.

Regards,
Satish Amara

On Fri, Apr 1, 2022 at 9:34 AM satish amara <satishkamara@gmail.com<mailto:satishkamara@gmail.com>> wrote:
Thanks for the info Jasvinder. I see there is an internal timer to see when to refill the token buckets and credits.  I have read the QOS  document.  My understanding is that the DPDK code is using the same HQOS thread CPU context to implement timer functionality during the pipe selection and not leveraging on Linux timers or other timers.

Regards,
Satish Amara

On Fri, Apr 1, 2022 at 4:36 AM Singh, Jasvinder <jasvinder.singh@intel.com<mailto:jasvinder.singh@intel.com>> wrote:
Hi Satish,

DPDK HQoS scheduler has internal timer to compute the credits. The time difference between the two consecutive visit to the same pipe is used to compute the number of tb_periods elapsed and based on that, the available credits in the token bucket is computed. Each pipe has its own context which stores the timestamp of the last visit  and it is used when pipe is visited to schedule the packets from its queues.

Thanks,
Jasvinder



From: satish amara <satishkamara@gmail.com<mailto:satishkamara@gmail.com>>
Sent: Thursday, March 31, 2022 9:27 PM
To: Thomas Monjalon <thomas@monjalon.net<mailto:thomas@monjalon.net>>
Cc: users@dpdk.org<mailto:users@dpdk.org>; Singh, Jasvinder <jasvinder.singh@intel.com<mailto:jasvinder.singh@intel.com>>; Dumitrescu, Cristian <cristian.dumitrescu@intel.com<mailto:cristian.dumitrescu@intel.com>>
Subject: Re: Fwd: QOS sample example.

Thanks, Thomas for forwarding this to the group.
I have one more question. Does DPDK QOS  uses any internal threads/timers for the token bucket implementation?. The token
 buckets can be implemented in different ways.  When are the tokens are filled, I see there is tb_period?
It looks like the tokens are filled when the HQOS thread is trying to find the next active pipe?

Regards,
Satish Amara



On Thu, Mar 31, 2022 at 3:39 PM Thomas Monjalon <thomas@monjalon.net<mailto:thomas@monjalon.net>> wrote:
+Cc QoS scheduler maintainers (see file MAINTAINERS)

31/03/2022 18:59, satish amara:
> Hi,
>     I am trying to understand the QOS sample scheduler application code.
> Trying to understand what is tc_period in the config.
> 30. QoS Scheduler Sample Application — Data Plane Development Kit 21.05.0
> documentation (dpdk.org<http://dpdk.org>)
> <https://doc.dpdk.org/guides-21.05/sample_app_ug/qos_scheduler.html> Is
> tc_period same as  tb_period
> tb_period Bytes Time period that should elapse since the last credit update
> in order for the bucket to be awarded tb_credits_per_period worth or
> credits.
> Regards,
> Satish Amara
>




[-- Attachment #2: Type: text/html, Size: 11302 bytes --]

  reply	other threads:[~2022-04-06 16:34 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-29 20:20 satish amara
2022-03-31 16:59 ` Fwd: " satish amara
2022-03-31 19:39   ` Thomas Monjalon
2022-03-31 20:26     ` satish amara
2022-04-01  8:36       ` Singh, Jasvinder
2022-04-01 13:34         ` satish amara
2022-04-06 15:32           ` satish amara
2022-04-06 16:34             ` Singh, Jasvinder [this message]
2022-04-06 18:06               ` satish amara
2022-04-07 17:29                 ` Singh, Jasvinder
2022-04-11 17:19                   ` satish amara
2022-03-31 20:28     ` Singh, Jasvinder

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=CY4PR11MB15897C41C9CEA105F7D5D270E0E79@CY4PR11MB1589.namprd11.prod.outlook.com \
    --to=jasvinder.singh@intel.com \
    --cc=cristian.dumitrescu@intel.com \
    --cc=satishkamara@gmail.com \
    --cc=thomas@monjalon.net \
    --cc=users@dpdk.org \
    /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

DPDK usage discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://inbox.dpdk.org/users/0 users/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 users users/ http://inbox.dpdk.org/users \
		users@dpdk.org
	public-inbox-index users

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.users


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