From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 14DD1A0507 for ; Fri, 1 Apr 2022 15:34:42 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 9D0AB42911; Fri, 1 Apr 2022 15:34:41 +0200 (CEST) Received: from mail-ed1-f53.google.com (mail-ed1-f53.google.com [209.85.208.53]) by mails.dpdk.org (Postfix) with ESMTP id 967CA4067E for ; Fri, 1 Apr 2022 15:34:39 +0200 (CEST) Received: by mail-ed1-f53.google.com with SMTP id g22so3013042edz.2 for ; Fri, 01 Apr 2022 06:34:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=uMLoEXnsaGudzpRFxUGlR7Pjwg02umSyBvYDllVvrJc=; b=ijA1TMtQI0pMcQo0QmLAdGRlViF7Y58BiEab9nT0/DD2JWHbOtZ53ZGhnesJFfdIaL bWkP932PnZa/CR61SNR07TG+FGk2We8hkgdF9fvrI6FsbFNr8xvpCXXFYVvqqt/KURHp Lfd+xCILeCn6CnjPfCy5h6CPaI0SI1yssDZ5rGQsC/u5Y5s3smxx8ZsA4sHokvolcbnD zBqdAFs0ys6g5LtGrh3kIeNCjd9e/+lkyyrWZdkd6dkw5onb2fXYpxSnLJWcJtb2O0La O7qjR/M5bVAWJ2+bbeP1Vc40aNkDQi2p0EPj3lH4U8AlEpj9v8jofbfVoHV5304p3QOD +L7A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=uMLoEXnsaGudzpRFxUGlR7Pjwg02umSyBvYDllVvrJc=; b=NKOMBgOCnmVagtyRpPZpn51YOLcuVdPbWPlXcqZca4FHdi2LbuoqbKHqCURzkisUnI n1Ep1U2Tya9sy4F1wTlK6G4FxrG2XQRuWetTQKCtzshgR/V8NxpvleP0OeTvqO2Nxpi9 tRy4kyuozKebAa1BkDUPV3PGo5w/qgaUDZu4mS3ROlD0yU8A/oXI63PMYngSZ/pCtyx/ THPRrJhYk3wTd5d1YFt4pCBLKvStlBpnl5UoqJoI/jC+nth3vpn8ti15C8jXRAujnf8B OirUZFcDZ3jHtBkt0hJ8Pu4inf5Otvjfr3iP1fJuCz7xEzhJnpJZQtQtnKSoGg/yNCVQ KhOA== X-Gm-Message-State: AOAM533XudNornQHL/dNCFZzAEV/8FQlaizG2IvdKIG3QXRT8I9Z0oCZ ih2oJb4j3ejKXzoJG+4pGDpUzIGDW/dnm+k/UvGoHh8v X-Google-Smtp-Source: ABdhPJyKtcqDytq1Hq1HxKuO8vHd6Zh5IeqsFtw015Tnq2Iz7fqC16kZXeZQ5qZjwonZqlOVjNnlZbGe/Pox8s2wgwg= X-Received: by 2002:a05:6402:3595:b0:419:336b:29e4 with SMTP id y21-20020a056402359500b00419336b29e4mr21000855edc.63.1648820079139; Fri, 01 Apr 2022 06:34:39 -0700 (PDT) MIME-Version: 1.0 References: <10708365.BaYr0rKQ5T@thomas> In-Reply-To: From: satish amara Date: Fri, 1 Apr 2022 09:34:29 -0400 Message-ID: Subject: Re: Fwd: QOS sample example. To: "Singh, Jasvinder" Cc: Thomas Monjalon , "users@dpdk.org" , "Dumitrescu, Cristian" Content-Type: multipart/alternative; boundary="0000000000001d9db005db97d751" X-BeenThere: users@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK usage discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: users-bounces@dpdk.org --0000000000001d9db005db97d751 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable 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 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 > *Sent:* Thursday, March 31, 2022 9:27 PM > *To:* Thomas Monjalon > *Cc:* users@dpdk.org; Singh, Jasvinder ; > Dumitrescu, Cristian > *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 fin= d > the next active pipe? > > > > Regards, > > Satish Amara > > > > > > > > On Thu, Mar 31, 2022 at 3:39 PM Thomas Monjalon > 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 =E2=80=94 Data Plane Development K= it 21.05.0 > > documentation (dpdk.org) > > 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 > > > > > > > --0000000000001d9db005db97d751 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Thanks for the info Jasvinder. I see there is an internal = timer to see when to refill the token buckets and credits.=C2=A0 I have rea= d the=C2=A0QOS=C2=A0 document.=C2=A0 My understanding is that the DPDK code= is using the same HQOS thread CPU context to implement=C2=A0timer function= ality during the pipe selection and not leveraging on Linux=C2=A0timers or = other timers.=C2=A0=C2=A0

Regards,
Satish Amar= a

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

Hi Satish,

=C2=A0

DPDK HQoS scheduler has internal timer to compute th= e credits. The time difference between the two consecutive visit to the sam= e pipe is used to compute the number of tb_periods elapsed and based on tha= t, the available credits in the token bucket is computed. Each pipe has its own context which stores the timesta= mp of the last visit =C2=A0and it is used when pipe is visited to schedule = the packets from its queues.

=C2=A0

Thanks,

Jasvinder

=C2=A0

=C2=A0

=C2=A0

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

=C2=A0

Thanks, Thomas for forwarding this to the group.=C2= =A0

I have one more question. Does DPDK QOS=C2=A0 uses a= ny internal threads/timers for the token bucket implementation?. The token<= u>

=C2=A0buckets can be implemented in different ways.= =C2=A0 When are the=C2=A0tokens are filled, I see there is tb_period?

It looks like the=C2=A0tokens are filled when the HQ= OS thread is trying to find the next active pipe?

=C2=A0

Regards,

Satish Amara

=C2=A0

=C2=A0

=C2=A0

On Thu, Mar 31, 2022 at 3:39 PM Thomas Monjalon <= thomas@monjalon.ne= t> wrote:

+Cc QoS scheduler maint= ainers (see file MAINTAINERS)

31/03/2022 18:59, satish amara:
> Hi,
>=C2=A0 =C2=A0 =C2=A0I 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 =E2=80=94 Data Plane Development = Kit 21.05.0
> documentation (dpdk.org<= /a>)
> <
https://doc.dpdk.org/guides-21.05/sample_app= _ug/qos_scheduler.html> Is
> tc_period same as=C2=A0 tb_period
> tb_period Bytes Time period that should elapse since the last credit u= pdate
> in order for the bucket to be awarded tb_credits_per_period worth or > credits.
> Regards,
> Satish Amara
>




--0000000000001d9db005db97d751--