From patchwork Fri Aug 23 14:45:47 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jasvinder Singh X-Patchwork-Id: 57865 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 10E2C1BEDF; Fri, 23 Aug 2019 16:46:04 +0200 (CEST) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by dpdk.org (Postfix) with ESMTP id A80E91BE86 for ; Fri, 23 Aug 2019 16:46:02 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga101.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 23 Aug 2019 07:46:01 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,421,1559545200"; d="scan'208";a="263211192" Received: from silpixa00381635.ir.intel.com (HELO silpixa00381635.ger.corp.intel.com) ([10.237.223.4]) by orsmga001.jf.intel.com with ESMTP; 23 Aug 2019 07:46:00 -0700 From: Jasvinder Singh To: dev@dpdk.org Cc: cristian.dumitrescu@intel.com Date: Fri, 23 Aug 2019 15:45:47 +0100 Message-Id: <20190823144602.58213-1-jasvinder.singh@intel.com> X-Mailer: git-send-email 2.21.0 MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH 00/15] sched: subport level configuration of pipe nodes X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" This patchset refactors the dpdk qos sched library to allow subport level configuration flexibility of the pipe nodes. Currently, all parameters for the pipe nodes (subscribers) configuration are part of the port level structure which forces all groups of subscribers (pipes) in different subports to have similar configurations in terms of their number, queue sizes, traffic-classes, etc. The new implementation moves pipe nodes configuration parameters from port level to subport level structure. This allows different subports of the same port to have different configuration for the pipe nodes, for examples- number of pipes, queue sizes, pipe profiles, etc. In order to keep the implementation complexity under control, all pipes within the same subport share the same configuration for queue sizes. Jasvinder Singh (15): sched: add pipe config params to subport struct sched: modify internal structs for config flexibility sched: remove pipe params config from port level shced: add pipe config to subport level sched: modify pipe functions for config flexibility sched: modify pkt enqueue for config flexibility sched: update memory compute to support flexiblity sched: update grinder functions for config flexibility sched: update pkt dequeue for flexible config sched: update queue stats read for config flexibility test/sched: modify tests for subport config flexibility net/softnic: add subport config flexibility to TM function ip_pipeline: add subport config flexibility to TM function examples/qos_sched: add subport configuration flexibility sched: remove redundant code app/test/test_sched.c | 35 +- doc/guides/rel_notes/release_19_11.rst | 6 +- drivers/net/softnic/rte_eth_softnic_tm.c | 51 +- examples/ip_pipeline/cli.c | 71 +- examples/ip_pipeline/tmgr.c | 23 +- examples/ip_pipeline/tmgr.h | 7 +- examples/qos_sched/app_thread.c | 4 +- examples/qos_sched/cfg_file.c | 226 ++-- examples/qos_sched/init.c | 54 +- examples/qos_sched/main.h | 1 + examples/qos_sched/profile.cfg | 5 +- examples/qos_sched/profile_ov.cfg | 5 +- examples/qos_sched/stats.c | 36 +- lib/librte_sched/Makefile | 2 +- lib/librte_sched/meson.build | 2 +- lib/librte_sched/rte_sched.c | 1400 +++++++++++++--------- lib/librte_sched/rte_sched.h | 114 +- 17 files changed, 1180 insertions(+), 862 deletions(-)