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 A1452A046B for ; Mon, 22 Jul 2019 11:56:39 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id B690A1BEB2; Mon, 22 Jul 2019 11:56:38 +0200 (CEST) Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by dpdk.org (Postfix) with ESMTP id 5C2F21BE50 for ; Mon, 22 Jul 2019 11:56:37 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 22 Jul 2019 02:56:36 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,294,1559545200"; d="scan'208";a="192675357" Received: from irsmsx105.ger.corp.intel.com ([163.33.3.28]) by fmsmga004.fm.intel.com with ESMTP; 22 Jul 2019 02:56:35 -0700 Received: from irsmsx108.ger.corp.intel.com ([169.254.11.229]) by irsmsx105.ger.corp.intel.com ([169.254.7.164]) with mapi id 14.03.0439.000; Mon, 22 Jul 2019 10:56:35 +0100 From: "Dumitrescu, Cristian" To: "Singh, Jasvinder" , "dev@dpdk.org" Thread-Topic: [PATCH v6 00/11] sched: feature enhancements Thread-Index: AQHVPjzPmZr4sWlhJkWPVvmQNLw2tKbWan3Q Date: Mon, 22 Jul 2019 09:56:34 +0000 Message-ID: <3EB4FA525960D640B5BDFFD6A3D891268E8F191F@IRSMSX108.ger.corp.intel.com> References: <20190717144245.138876-2-jasvinder.singh@intel.com> <20190719141825.101844-1-jasvinder.singh@intel.com> In-Reply-To: <20190719141825.101844-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: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiNTVkYjIwOGItZjExMC00YjMwLWE4ZGQtM2JlMTQ2YTAxMmMxIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiWmxyang5NktYcnV1MGkzUm9VZncwejNnUmNEcmdWN3dPWCtOWTVxUCtoQXFaNXlibTNxaVVrS0huNTd0VHF4ViJ9 x-ctpclassification: CTP_NT dlp-product: dlpe-windows dlp-version: 11.2.0.6 dlp-reaction: no-action x-originating-ip: [163.33.239.180] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH v6 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: Friday, July 19, 2019 3:18 PM > To: dev@dpdk.org > Cc: Dumitrescu, Cristian > Subject: [PATCH v6 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 best-effort traffic class can have 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 > v6: > - add functions to access port internal struct fields (e.g. pipe queues a= nd tc) > - Move definition of RTE_SCHED_TRAFFIC_CLASS_BE to rte_sched.h > - fix doxygen comments >=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 | 857 ++++++++++++------ > lib/librte_sched/rte_sched.h | 187 ++-- > 21 files changed, 1874 insertions(+), 772 deletions(-) >=20 > -- > 2.21.0 This patchset already has my ack starting from V5. Series-acked-by: Cristian Dumitrescu