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 668C7A0471 for ; Wed, 17 Jul 2019 17:04:07 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id E24E61BE29; Wed, 17 Jul 2019 17:04:05 +0200 (CEST) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by dpdk.org (Postfix) with ESMTP id 39B131BE0D for ; Wed, 17 Jul 2019 17:04:03 +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 orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 17 Jul 2019 08:04:02 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,274,1559545200"; d="scan'208";a="158487480" Received: from irsmsx151.ger.corp.intel.com ([163.33.192.59]) by orsmga007.jf.intel.com with ESMTP; 17 Jul 2019 08:04:00 -0700 Received: from irsmsx103.ger.corp.intel.com ([169.254.3.45]) by IRSMSX151.ger.corp.intel.com ([169.254.4.41]) with mapi id 14.03.0439.000; Wed, 17 Jul 2019 16:03:59 +0100 From: "Singh, Jasvinder" To: "Dumitrescu, Cristian" , "dev@dpdk.org" CC: "Tovar, AbrahamX" , "Krakowiak, LukaszX" Thread-Topic: [PATCH v4 02/11] sched: add config flexibility to tc queue sizes Thread-Index: AQHVO3Fo6X43Vcxc/Uqih/LNyOOU7abO6gXA Date: Wed, 17 Jul 2019 15:03:58 +0000 Message-ID: <54CBAA185211B4429112C315DA58FF6D3FD94A78@IRSMSX103.ger.corp.intel.com> References: <20190711102659.59001-2-jasvinder.singh@intel.com> <20190712095729.159767-1-jasvinder.singh@intel.com> <20190712095729.159767-3-jasvinder.singh@intel.com> <3EB4FA525960D640B5BDFFD6A3D891268E8EEE1A@IRSMSX108.ger.corp.intel.com> In-Reply-To: <3EB4FA525960D640B5BDFFD6A3D891268E8EEE1A@IRSMSX108.ger.corp.intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiYTIyODQ4YWMtNGZkMS00NDNlLWIwZTYtYzU5YTE0ZjlhMjFkIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiZjFDRnR1cFwvYmpzc1htMitzSnpUVjU2WHZtclZDVUZteEhCWWJranU3QnVzeGI1NldNSVlQNzhKOTdpK2NcLytEIn0= x-ctpclassification: CTP_NT dlp-product: dlpe-windows dlp-version: 11.0.200.100 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 v4 02/11] sched: add config flexibility to tc queue sizes 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" > > > > /** Number of traffic classes per pipe (as well as subport). > > - * Cannot be changed. > > */ > > -#define RTE_SCHED_TRAFFIC_CLASSES_PER_PIPE 4 > > +#define RTE_SCHED_TRAFFIC_CLASSES_PER_PIPE \ > > +(RTE_SCHED_QUEUES_PER_PIPE - RTE_SCHED_BE_QUEUES_PER_PIPE + 1) > > > > /** Number of queues per pipe traffic class. Cannot be changed. */ > > #define RTE_SCHED_QUEUES_PER_TRAFFIC_CLASS 4 > > @@ -171,9 +171,7 @@ struct rte_sched_pipe_params { > > /**< Traffic class rates (measured in bytes per second) */ > > uint32_t tc_period; > > /**< Enforcement period (measured in milliseconds) */ -#ifdef > > RTE_SCHED_SUBPORT_TC_OV > > uint8_t tc_ov_weight; /**< Weight Traffic class 3 > > oversubscription */ > > -#endif > > > > /* Pipe queues */ > > uint8_t wrr_weights[RTE_SCHED_BE_QUEUES_PER_PIPE]; /**< WRR > weights > > */ @@ -206,11 +204,9 @@ struct rte_sched_port_params { > > * (measured in bytes) */ > > uint32_t n_subports_per_port; /**< Number of subports */ > > uint32_t n_pipes_per_subport; /**< Number of pipes per subport > > */ > > - uint16_t qsize[RTE_SCHED_TRAFFIC_CLASSES_PER_PIPE]; > > + uint16_t qsize[RTE_SCHED_QUEUES_PER_PIPE]; >=20 > Given that it does not make any sense to have queues of different lengths > within the same traffic class, we should probably keep the size of this a= rray as > RTE_SCHED_TRAFFIC_CLASSES_PER_PIPE. Internally though, it makes sense to > have the port->qsize array of size RTE_SCHED_QUEUES_PER_PIPE with all BE > queues of the same size. Also simplifies implementation, as no need to wo= rry > about the n_be_queues (see the other email). array size is reversed to RTE_SCHED_TRAFFIC_CLASSES_PER_PIPE in v5, thanks. > > /**< Packet queue size for each traffic class. > > - * All queues within the same pipe traffic class have the same > > - * size. Queues from different pipes serving the same traffic > > - * class have the same size. */ > > + * Queues which are not needed are allowed to have zero size. */ > > struct rte_sched_pipe_params *pipe_profiles; > > /**< Pipe profile table. > > * Every pipe is configured using one of the profiles from this table= . > > */ > > -- > > 2.21.0