DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] Interactive/dynamic QoS scheduler
@ 2015-03-18 17:09 Alexandre Frigon
  2015-03-19 16:18 ` Dumitrescu, Cristian
  0 siblings, 1 reply; 2+ messages in thread
From: Alexandre Frigon @ 2015-03-18 17:09 UTC (permalink / raw)
  To: dev

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.

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.

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?

Thanks,
Alexandre F.

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [dpdk-dev] Interactive/dynamic QoS scheduler
  2015-03-18 17:09 [dpdk-dev] Interactive/dynamic QoS scheduler Alexandre Frigon
@ 2015-03-19 16:18 ` Dumitrescu, Cristian
  0 siblings, 0 replies; 2+ messages in thread
From: Dumitrescu, Cristian @ 2015-03-19 16:18 UTC (permalink / raw)
  To: Alexandre Frigon, dev

Hi Alexandre,

> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Alexandre Frigon
> Sent: Wednesday, March 18, 2015 5:10 PM
> To: dev@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.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2015-03-19 16:18 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-03-18 17:09 [dpdk-dev] Interactive/dynamic QoS scheduler Alexandre Frigon
2015-03-19 16:18 ` Dumitrescu, Cristian

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).