From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-qa0-f53.google.com (mail-qa0-f53.google.com [209.85.216.53]) by dpdk.org (Postfix) with ESMTP id 09E0B7E89 for ; Mon, 20 Oct 2014 22:57:17 +0200 (CEST) Received: by mail-qa0-f53.google.com with SMTP id v10so3919925qac.26 for ; Mon, 20 Oct 2014 14:05:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=aIu6BfWOGHb3+S8A+ir0t5gRXl6cn/1UIQkU8Fle1cY=; b=ax5x/tUtPExCqDLSBL2noshzDM0qt7XeiNqs6N+7YuBB2i6zFJ4OuisciWLUZ62dJU 9SA/Uu25JLncX1HiG8zbOjrolp0HHmR/RRgCWaxbtisCfvTgLLJD8pNXEnjGephp4vup ds1p7PKhG/5hUTjG6jasaD8b9ivZOZfRQfi9mil6hYs7sHZ5m/1cNAqgINQcdwxCah6Y xONlm0Rndtw19TbkrvB1b2ScgCBfcTE5/F7ZXndSzqFXaz4FioIciSF/BFrBjraJ7kvd +1pMHZOZN+AtDEKY7etQ1TrFe/hzgoWb3uzLfaqTEIXD73+EfU122HHYhezWe0gq5DHW WAdw== MIME-Version: 1.0 X-Received: by 10.140.104.114 with SMTP id z105mr37244822qge.75.1413839130377; Mon, 20 Oct 2014 14:05:30 -0700 (PDT) Received: by 10.140.82.41 with HTTP; Mon, 20 Oct 2014 14:05:30 -0700 (PDT) In-Reply-To: <3EB4FA525960D640B5BDFFD6A3D891262E090FBB@IRSMSX108.ger.corp.intel.com> References: <251C79C4-74C5-4EF9-A987-3B4DB94A31D5@intel.com> <3EB4FA525960D640B5BDFFD6A3D891262E090FBB@IRSMSX108.ger.corp.intel.com> Date: Mon, 20 Oct 2014 14:05:30 -0700 Message-ID: From: satish To: "Dumitrescu, Cristian" Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Cc: "dev@dpdk.org" Subject: Re: [dpdk-dev] Dynamic port/pipe QoS configuration X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 20 Oct 2014 20:57:18 -0000 Thanks a lot Cristian!! It is really helpful information. On Mon, Oct 20, 2014 at 12:21 PM, Dumitrescu, Cristian < cristian.dumitrescu@intel.com> wrote: > Hi Satish, > > Yes, you can change the pipe configuration during run-time, but in a > slightly different way. The way to do it is by defining multiple pipe > profiles at the port level initialization time and reassigning the pipe to > a different level at run-time. > > The pipe profiles are statically defined per port at initialization time > (their number is configurable through rte_sched_port_params:: > n_pipe_profiles parameter), so you need to know in advance the set of > profiles you want to use at run-time. You can assign pipe X to profile A > initially, then re-assign it to profile B later on (by using function > rte_sched_pipe_config()). > > Regards, > Cristian > > From: satish > > Date: October 17, 2014 at 2:59:35 PM PDT > To: > > Subject: Re: [dpdk-dev] Dynamic port/pipe QoS configuration > Hi, > Can someone please respond to below? > Thank you. > > On Mon, Oct 13, 2014 at 3:54 PM, satish nsatishbabu@gmail.com>> 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 ()? > > Please provide your valuable comments. > Thanks in advance. > > -- > Regards, > Satish Babu > > > > > -- > Regards, > Satish Babu > -------------------------------------------------------------- > Intel Shannon Limited > Registered in Ireland > Registered Office: Collinstown Industrial Park, Leixlip, County Kildare > Registered Number: 308263 > Business address: Dromore House, East Park, Shannon, Co. Clare > > This e-mail and any attachments may contain confidential material for the > sole use of the intended recipient(s). Any review or distribution by others > is strictly prohibited. If you are not the intended recipient, please > contact the sender and delete all copies. > > -- Regards, Satish Babu