Hi Alexandre,

> -----Original Message-----
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Alexandre Frigon
> Sent: Wednesday, March 18, 2015 5:10 PM
> To: dev at dpdk.org
> Subject: [dpdk-dev] Interactive/dynamic QoS scheduler
> 
> Hi,
> 
> I'm currently working with the QoS api. I would like to know if it is 
> possible to
> have interaction at runtime with the parameter applied to pipes, subport and
> queue.

Yes, it is. You can call API functions rte_sched_subport_config() and 
rte_sched_pipe_config() at run-time to re-configure the subport and pipe rates.

This assumes that the port has been configured during initialization, with all 
the port subports and pipes fully provisioned at this time (through the port 
configuration parameters n_subports_per_port and n_pipes_per_subport). Please 
note you need to call the subport and pipe config functions before you put any 
packets in their associated queues (typically, these functions are first called 
at initialization for all the port subports and pipes), but you can call them 
again later on to modify their previously assigned rates.

All the pipe profiles are set in stone once the port is initialized (through 
port configuration parameter pipe_profiles), what you can do at run-time is to 
re-assign a pipe to a different pre-defined profile, which basically changes 
the rate of the pipe.

> 
> Looking at the Scheduler sample, I understand that all of these parameters
> are predetermined using profiles in the config file.
> What I would like to do is interact with the scheduler to change subport, pipe
> and tc rate or size with arbitrary value at runtime to have control over 
> traffic.
> 

This is just a limitation of the qos_sched application, which currently does 
not provide any mechanism for the dynamic update of the subport/pipe parameters.

> For example:
> The scheduler sample is running and at any given time I want a  number of
> pipe to drop from 10Gbit to 4.5 Gbit and then put it back to 8Gbit.
> Profiles are not useful in this case because I would have to set a different
> profile for each value from rate 1bit to 10Gbit.
> 
> Is it actually possible to do that and how?
> 

Yes, it is relatively simple to do it. The qos_sched application has a CLI that 
only implements some stats-related commands, but new commands could be added to 
update the subport/pipe configuration. At this point, you need to write that 
(relatively low complexity) code yourself unfortunately. Please consider 
developing a code patch to add this support and share it with the DPDK 
community!

> Thanks,
> Alexandre F.

Reply via email to