From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Hemminger Subject: Re: Dynamic port/pipe QoS configuration Date: Sat, 18 Oct 2014 11:16:43 +0200 Message-ID: <20141018111643.44a9d59f@uryu.home.lan> References: Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: dev-VfR2kkLFssw@public.gmane.org To: satish Return-path: In-Reply-To: List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces-VfR2kkLFssw@public.gmane.org Sender: "dev" On Fri, 17 Oct 2014 14:59:35 -0700 satish wrote: > Hi, > Can someone please respond to below? > Thank you. > > On Mon, Oct 13, 2014 at 3:54 PM, satish wrote: > > > Hi, > > We are trying to provide QoS support for one of our clients using > > rte_sched. > > In our implementation we are treating each pipe as a customer. > > So, we can have maximum of 4096 customers per sub-port. > > Customers(pipe) can be added, deleted or modified dynamically. Each > > customer can have different profiles. > > > > Currently we are using DPDK-v1.6. > > Can I modify pipe profile during run time using rte_sched_pipe_config ()? > > > > Our plan is to have initial configs as below (similar to examples in DPDK) > > [1] Specify port params at the initialization of port as below > > static struct rte_sched_port_params port_param = { > > : > > : > > .n_subports_per_port = 1, > > .n_pipes_per_subport = 4096, > > .qsize = {64, 64, 64, 64}, > > .pipe_profiles = pipe_profile, > > .n_pipe_profiles = 1, > > } > > > > [2] > > static struct rte_sched_subport_params subport_param[] = { > > { > > .tb_rate = Link speed (1G/10G..) divided by 8 (bits), > > .tb_size = 1000000, > > > > .tc_rate = {Same as tb_rate, Same as tb_rate, Same as tb_rate, Same as > > tb_rate}, > > .tc_period = 10, > > }, > > }; > > > > [3] > > static struct rte_sched_pipe_params pipe_profile[] = { > > { /* Profile #0 */ > > .tb_rate = Link speed (1G/10G..) divided by 8 (bits)/4096 (maximum number > > of pipes), > > .tb_size = 1000000, > > > > .tc_rate = {pipe's tb_rate, pipe's tb_rate, pipe's tb_rate, pipe's > > tb_rate}, > > .tc_period = 40, > > > > .wrr_weights = {16, 4, 2, 1, 16, 4, 2, 1, 16, 4, 2, 1, 16, 4, 2, 1}, > > }, > > }; > > > > Our plan here is to initialize the pipe with default profile and modify > > each pipe based on user configurations. > > My questions are > > [a] Can I modify pipe profile during run time using rte_sched_pipe_config > > ()? (question repeated) > > If I can modify at pipe level, > > [b] Can we have different profiles for pipes, With one default profile at > > initialization? > > [c] Can we modify port level params without deleting the port using > > rte_sched_port_config ()? [a] no [b] no [c] no Read the code.