From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-qc0-f181.google.com (mail-qc0-f181.google.com [209.85.216.181]) by dpdk.org (Postfix) with ESMTP id CFCC868AA for ; Tue, 14 Oct 2014 00:47:00 +0200 (CEST) Received: by mail-qc0-f181.google.com with SMTP id r5so5723584qcx.26 for ; Mon, 13 Oct 2014 15:54:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=6Kr3fJmM4Ef2fzZjdb6oPLkg8f8srkOr+J3kayesjOM=; b=WyYIk/821CBoUm8+jRfdoEvc3vfNXMtouN8zrF0XBx40rIpm6AfmIdwetaPmDp2G7s 1DPjsB2V9U3cRUkLya0JG+buJz79Q9wBsvgHGRqrgv/r0zSN/YlAikqUd0uz2oMX2gA/ SltMWMSXnKY8/vZJBGKi8e5y6kD26iLuNsiLSDQQms7p1TEmSTqb7mVwR2Pwd6PnPcQy EmnX9gBCd2LkfQLextr2Tplvgmf6fbi1d4WPhf6UxJJ79eRpN46cEEqbexQN1fifRRnP 8ZSV67A5pfljMWfGsck0eMCO5OWNqPSbFZtC5rHqIxt6wzuhCcvyPj4na+YU8dWJ4yDa wkhA== MIME-Version: 1.0 X-Received: by 10.229.52.136 with SMTP id i8mr2995197qcg.6.1413240881916; Mon, 13 Oct 2014 15:54:41 -0700 (PDT) Received: by 10.140.82.41 with HTTP; Mon, 13 Oct 2014 15:54:41 -0700 (PDT) Date: Mon, 13 Oct 2014 15:54:41 -0700 Message-ID: From: satish To: dev@dpdk.org Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Subject: [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, 13 Oct 2014 22:47:01 -0000 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