[dpdk-dev] DPDK-QoS- Using un-used bandwidth within a class

2016-10-25 Thread Dumitrescu, Cristian
Hi Sreenaath,

I think you are simply hitting the known and documented performance issue with 
using a single pipe. The hierarchical scheduler performance is optimized for 
many pipes (hundreds, thousands , ?), not for single pipe. The rationale is 
that if you only needs handful of queues, you can simply use a single level 
class based queuing device as opposed to the hierarchical scheduler.

Are you getting any issues when using hundreds/thousands of active (i.e. with 
traffic going through them) pipes?

Thanks,
Cristian

From: sreenaath vasudevan [mailto:sreenaat...@gmail.com]
Sent: Monday, October 24, 2016 8:05 AM
To: dev at dpdk.org; Dumitrescu, Cristian 
Subject: DPDK-QoS- Using un-used bandwidth within a class

Hi
I am using DPDK QoS and I find something strange. I am not sure if something is 
wrong with my config or my understanding of queue weights is wrong.
In my config, I am using only 1 port and 1 subport and 1 pipe. Within that 
pipe, I am using only the last class (C3). Port, subport and pipe are 
configured with 100Mbps speed.
C3 is given the entire pipe's TB rate i.e entire bandwidth in essence.
In C3, I am giving relative weights of 1:4:2:2 for the four queues q0,q1,q2,q3
When no other traffic is coming in to q0,q2,q3, I am pumping ~100Mbps in to q1. 
However, I am seeing only 40% of the traffic going through q1. In other words 
the max throughput allowed through the queue is based on its weight and the 
unused bandwidth is not used.
Cannot the unused bandwidth from q0,q2 and q3 be used for q1?

Note-
Following is the QoS config output spit out by DPDK in syslog



SCHED: Low level config for pipe profile 0:

token bucket: period = 10, credits per period = 1, size = 25000

Traffic classes: period = 125, credits per period = [0, 0, 0, 125000]

Traffic class 3 oversubscription: weight = 0

WRR cost: [1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1], [4, 1, 2, 2]

SCHED: Low level config for subport 0:

Token bucket: period = 10, credits per period = 1, size = 25000

Traffic classes: period = 125, credits per period = [0, 0, 0, 125000]

Traffic class 3 oversubscription: wm min = 0, wm max = 0

--
regards
sreenaath


[dpdk-dev] DPDK-QoS- Using un-used bandwidth within a class

2016-10-24 Thread sreenaath vasudevan
Hi
I am using DPDK QoS and I find something strange. I am not sure if
something is wrong with my config or my understanding of queue weights is
wrong.

In my config, I am using only 1 port and 1 subport and 1 pipe. Within that
pipe, I am using only the last class (C3). Port, subport and pipe are
configured with 100Mbps speed.
C3 is given the entire pipe's TB rate i.e entire bandwidth in essence.
In C3, I am giving relative weights of 1:4:2:2 for the four queues
q0,q1,q2,q3
When no other traffic is coming in to q0,q2,q3, I am pumping ~100Mbps in to
q1. However, I am seeing only 40% of the traffic going through q1. In other
words the max throughput allowed through the queue is based on its weight
and the unused bandwidth is not used.
Cannot the unused bandwidth from q0,q2 and q3 be used for q1?

Note-
Following is the QoS config output spit out by DPDK in syslog


SCHED: Low level config for pipe profile 0:

token bucket: period = 10, credits per period = 1, size = 25000

Traffic classes: period = 125, credits per period = [0, 0, 0, 125000]

Traffic class 3 oversubscription: weight = 0

WRR cost: [1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1], [4, 1, 2, 2]

SCHED: Low level config for subport 0:

Token bucket: period = 10, credits per period = 1, size = 25000

Traffic classes: period = 125, credits per period = [0, 0, 0, 125000]

Traffic class 3 oversubscription: wm min = 0, wm max = 0


-- 
regards
sreenaath