From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id C63CDA0471 for ; Fri, 19 Jul 2019 00:57:14 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 8D088231E; Fri, 19 Jul 2019 00:57:13 +0200 (CEST) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by dpdk.org (Postfix) with ESMTP id 178491DBE for ; Fri, 19 Jul 2019 00:57:11 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga106.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 18 Jul 2019 15:57:10 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,279,1559545200"; d="scan'208";a="158925119" Received: from irsmsx152.ger.corp.intel.com ([163.33.192.66]) by orsmga007.jf.intel.com with ESMTP; 18 Jul 2019 15:57:09 -0700 Received: from irsmsx108.ger.corp.intel.com ([169.254.11.229]) by IRSMSX152.ger.corp.intel.com ([169.254.6.27]) with mapi id 14.03.0439.000; Thu, 18 Jul 2019 23:57:08 +0100 From: "Dumitrescu, Cristian" To: "Singh, Jasvinder" , "dev@dpdk.org" Thread-Topic: [PATCH v5 00/11] sched: feature enhancements Thread-Index: AQHVPK3guLMSj/Sc80iVfP6pjqrkxqbQ/foQ Date: Thu, 18 Jul 2019 22:57:08 +0000 Message-ID: <3EB4FA525960D640B5BDFFD6A3D891268E8F03A3@IRSMSX108.ger.corp.intel.com> References: <20190712095729.159767-2-jasvinder.singh@intel.com> <20190717144245.138876-1-jasvinder.singh@intel.com> In-Reply-To: <20190717144245.138876-1-jasvinder.singh@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiMzRkODk3ZGQtOTJmMS00YTk3LWFkODMtOWQzZjMwYzA4NTQyIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiaGlYa0lsNFZqbTVSSGJidk5JUytWZHREbldrWk1WalJ6OURjQzRkZFFoVDF2ZzZ0WHBtdHN1MHN1VHhvczZHYyJ9 x-ctpclassification: CTP_NT dlp-product: dlpe-windows dlp-version: 11.2.0.6 dlp-reaction: no-action x-originating-ip: [163.33.239.182] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH v5 00/11] sched: feature enhancements 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" > -----Original Message----- > From: Singh, Jasvinder > Sent: Wednesday, July 17, 2019 4:43 PM > To: dev@dpdk.org > Cc: Dumitrescu, Cristian > Subject: [PATCH v5 00/11] sched: feature enhancements >=20 > This patchset refactors the dpdk qos sched library to allow flexibile > configuration of the pipe traffic classes and queue sizes. >=20 > Currently, each pipe has 16 queues hardwired into 4 TCs scheduled with > strict priority, and each TC has exactly with 4 queues that are > scheduled with Weighted Fair Queuing (WFQ). >=20 > Instead of hardwiring queues to traffic class within the specific pipe, > the new implementation allows more flexible/configurable split of pipe > queues between strict priority (SP) and best-effort (BE) traffic classes > along with the support of more number of traffic classes i.e. max 16. >=20 > All the high priority TCs (TC1, TC2, ...) have exactly 1 queue, while > the lowest priority BE TC, has 1, 4 or 8 queues. This is justified by > the fact that all the high priority TCs are fully provisioned (small to > medium traffic rates), while most of the traffic fits into the BE class, > which is typically oversubscribed. >=20 > Furthermore, this change allows to use less than 16 queues per pipe when > not all the 16 queues are needed. Therefore, no memory will be allocated > to the queues that are not needed. >=20 > v5: > - fix traffic class and queue mapping in api function > - remove n_be_queues parameter from internal pipe profile and pipe struct > - replace int multiplication in grinder_schedule func with bitwise & oper= ation > - remove TC_OV logic flag from all the configuration/initialization code > - fix traffic qsize per traffic class instead of individual queue of the = pipe >=20 > v4: > - fix build errors > - fix checkpatch errors >=20 > v3: > - remove code related to subport level configuration of the pipe > - remove tc oversubscription flag from struct rte_sched_pipe_params > - replace RTE_SCHED_PIPE_PROFILES_PER_PORT with port param field >=20 > v2: > - fix bug in subport parameters check > - remove redundant RTE_SCHED_SUBPORT_PER_PORT macro > - fix bug in grinder_scheduler function > - improve doxygen comments > - add error log information >=20 > Jasvinder Singh (11): > sched: remove wrr from strict priority tc queues > sched: add config flexibility to tc queue sizes > sched: add max pipe profiles config in run time > sched: rename tc3 params to best-effort tc > sched: improve error log messages > sched: improve doxygen comments > net/softnic: add config flexibility to softnic tm > test_sched: modify tests for config flexibility > examples/ip_pipeline: add config flexibility to tm function > examples/qos_sched: add tc and queue config flexibility > sched: remove redundant macros >=20 > app/test/test_sched.c | 15 +- > doc/guides/rel_notes/release_19_08.rst | 10 +- > drivers/net/softnic/rte_eth_softnic.c | 98 ++ > drivers/net/softnic/rte_eth_softnic_cli.c | 448 +++++++++- > .../net/softnic/rte_eth_softnic_internals.h | 6 +- > drivers/net/softnic/rte_eth_softnic_tm.c | 121 ++- > examples/ip_pipeline/cli.c | 43 +- > examples/ip_pipeline/tmgr.h | 4 +- > examples/qos_sched/app_thread.c | 11 +- > examples/qos_sched/cfg_file.c | 130 ++- > examples/qos_sched/init.c | 65 +- > examples/qos_sched/main.h | 4 + > examples/qos_sched/profile.cfg | 67 +- > examples/qos_sched/profile_ov.cfg | 54 +- > examples/qos_sched/stats.c | 517 ++++++----- > lib/librte_pipeline/rte_table_action.c | 1 - > lib/librte_pipeline/rte_table_action.h | 4 +- > lib/librte_sched/Makefile | 2 +- > lib/librte_sched/meson.build | 2 +- > lib/librte_sched/rte_sched.c | 835 +++++++++++------- > lib/librte_sched/rte_sched.h | 183 ++-- > 21 files changed, 1847 insertions(+), 773 deletions(-) >=20 > -- > 2.21.0 Series-acked-by: Cristian Dumitrescu See the replies on some individual patches for a few details that we should= fix for RC3 if we cannot get them done in time for RC2.