From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id B87E9A0509; Fri, 8 Apr 2022 14:50:59 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 9688C4067E; Fri, 8 Apr 2022 14:50:59 +0200 (CEST) Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by mails.dpdk.org (Postfix) with ESMTP id 008214003F for ; Fri, 8 Apr 2022 14:50:57 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1649422258; x=1680958258; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=2Yvl4tLaJv4bSFil9Ic31a9oUv1gTvCcknHUy4gqriM=; b=apDfOeaOuhKHxSFBFxkGyQx+CwF9U5WUYRvxFmdAeA5hEvRCZwDq+0iC Xt/lQN3S8a5TIRCvJ3HMRwsJJ2sgmhc5jALBctsIU8VfH3KHSY94mnzbG K4Eq4V6w11/bJRkAZ2tUpUbSH/1F0LVY2JTz2Qgt/gIyOSHrhyryrUNTK IEH7lnHayXixmD4P/uiJJoKzmR+NIF/EcjXCkZRrU0XRcLJWQSp3KDVya j8B96NIHA8TSYzk39lNgIP0G7hpII4U30ErwLaegqgOr7N2vGJ+37tu9x 9b9TFAWbxvVeoQ9ZHBzBLGoSHIBgPNTpV/wMw7NoOsTBebKPvyhVIzaF0 A==; X-IronPort-AV: E=McAfee;i="6400,9594,10310"; a="322273289" X-IronPort-AV: E=Sophos;i="5.90,245,1643702400"; d="scan'208";a="322273289" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Apr 2022 05:50:57 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,245,1643702400"; d="scan'208";a="659473337" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by orsmga004.jf.intel.com with ESMTP; 08 Apr 2022 05:50:57 -0700 Received: from fmsmsx607.amr.corp.intel.com (10.18.126.87) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Fri, 8 Apr 2022 05:50:56 -0700 Received: from fmsmsx609.amr.corp.intel.com (10.18.126.89) by fmsmsx607.amr.corp.intel.com (10.18.126.87) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Fri, 8 Apr 2022 05:50:56 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx609.amr.corp.intel.com (10.18.126.89) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27 via Frontend Transport; Fri, 8 Apr 2022 05:50:56 -0700 Received: from NAM02-DM3-obe.outbound.protection.outlook.com (104.47.56.48) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.27; Fri, 8 Apr 2022 05:50:55 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ctYFI1Hpsmm/qE0ILv/Mu1HbdHg4Gp6sqQBekN5mNF9QYxQLnREvR6u+cCWeM9hmZ1KzT+LnGnSFDtKxfs6G6cxkyuXsBo2HvodfxGDG4RorXElndNonMovuDlwnqMn2vTESEkARCBHHcvsufbFtOhliqOMNUQCVDTyJ1tlP+UARwfwu+NTBQQitT9t9Cm41Fg9sYSX7A43g42nb/aaMiWIcic8FkQQ9Y28xr6Yw+rhO0QzxQSkP4zOSajJPr7reGta/r9OxghE4r0b+zRRLuknmp6hMIUHElyMK/7EadhNTByUekk0pwJtbByblCitKi3XhErHur4gfX336lDFUtA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=/gPvrvhPQF8UwSSFlRV3nU+veu0e7M/mDDgfiKHHn1c=; b=nGnh5tm6cvrP1zh2r8VEDFb1uEFuYTCJxEZ0x6x/t2+u4a1bvJS8ze2VSt2xdtD47WnO5pQ67BVoqp3OKMKu1N10lg88rfjUFWP1gMEA/nYyCiuj1kl/pL45Bq1zKIRj5aZPuuNgNrgNNKQpwf5lkJYDeJdyOoucQVsDO4SlUDcB4iS3yMzjcoBUTcZ1Gei+oOfC0VLCAnguAL8gxQDCpwFcwzo42NIfvfExIgx3/w0AOuYAuWGIaEP1pxYIoS2TyAAy1qROSWABuN3YgLf6EtxioPaWLwP8CQ3EVDqnCi77uKta0Sbf4CA7E2TKnatcbcfFN2Xk8dHZhqY3qMgcAA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from CY4PR11MB1589.namprd11.prod.outlook.com (2603:10b6:910:e::13) by BN6PR11MB1505.namprd11.prod.outlook.com (2603:10b6:405:c::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5144.26; Fri, 8 Apr 2022 12:50:54 +0000 Received: from CY4PR11MB1589.namprd11.prod.outlook.com ([fe80::8d3b:d063:84f5:c216]) by CY4PR11MB1589.namprd11.prod.outlook.com ([fe80::8d3b:d063:84f5:c216%10]) with mapi id 15.20.5144.026; Fri, 8 Apr 2022 12:50:54 +0000 From: "Singh, Jasvinder" To: "Danilewicz, MarcinX" , "dev@dpdk.org" CC: "Ajmera, Megha" , "Dumitrescu, Cristian" Subject: RE: [dpdk][PATCH 1/2] sched: enable/disable TC OV at runtime Thread-Topic: [dpdk][PATCH 1/2] sched: enable/disable TC OV at runtime Thread-Index: AQHYSo8acrIe/57EmU2caBC+MsCXpKzl85dw Date: Fri, 8 Apr 2022 12:50:54 +0000 Message-ID: References: <20220407145153.238969-1-marcinx.danilewicz@intel.com> In-Reply-To: <20220407145153.238969-1-marcinx.danilewicz@intel.com> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.6.401.20 dlp-reaction: no-action dlp-product: dlpe-windows authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 33bcaf1f-c6b8-4bbe-bbfe-08da195e6b2d x-ms-traffictypediagnostic: BN6PR11MB1505:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: OEQYb0yPgNr4+mXPtT4KNWz6kw455xba1tips7UTr/xTX6TsupF7L2GJaOBHb4vEsWe3jcFyHGbRSp1rfBhYJDni88QrfZixBAJPEmPlfVLoCFogk6TRvJksC/LsuFNhwE6XcDIskU4DxB4d1OswEnuHNN+tlus6BfdQHbCe7aN9udr2x6D8+JjVNnW6MWkRZ9FP5ICGO9NqdyS7mjPWh7PSTd2ZDv9tcEvbUN2O7ow3uu2TU09JzHI5ncrJn5UcrUKzPSQx6WYOOZx3pGbi91rg0RSo2Taey+i7p5VQq8F+x/piWX5yY3KSBV3FAI7rjKbLMp5SoSM+sSFc/+pSwqM0d3oEGr4P1rpj9aLwzWrCZDhftuBDKveVlbqaIs/eN0ZBn+qcqyGlGvDEyVtPFF6YwHqRZchE4X6miP+D5XQJhvds1BC9wJfnLqC6wPyABKlXqPQ8qiiWpXSA+sJSiBd3lV4VvpoOyehTS2U1R8qS2mm6JpTsWs2bd8BliE/XPz1MVaL9qirSiPof3mutwGzqKjItOuE7l9xVgfEQ/VJ5lku8C4VQmFYjg5mqR5UPh8757CBbxeYSTmxdmsSP9qNaf6XWfchfh2v5GaDc5twK226U2dbmoi9nLMBxdEVMyiW7NL2yadPeQrwTX+nUDDkppXu42422AvECEOLp3l6MuVUf4xGWmscZezS+iJ93tW6NJ7y9W0L+Ri1VlwMimw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CY4PR11MB1589.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(366004)(66556008)(66446008)(66476007)(64756008)(76116006)(66946007)(82960400001)(4326008)(8676002)(122000001)(5660300002)(55016003)(38070700005)(83380400001)(508600001)(6506007)(7696005)(38100700002)(53546011)(52536014)(8936002)(86362001)(2906002)(33656002)(26005)(316002)(186003)(71200400001)(110136005)(9686003)(107886003)(54906003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?mLX1SafQGdZmkxoa+RTNA+JMtrGCEIZprtglr+oz9/+oAcx6Hjdn0Vn9qofR?= =?us-ascii?Q?EMtomZ+raAH1xt/9MdkMw+zLBo6uIOHblXOE79M2g/8EalsArEkaGxjPTzFA?= =?us-ascii?Q?6ZRaicuB+Qqin2jy/RZiDU5QOIQvs1CehGiv6hrqqbdxvodMy6+QDS11Iknr?= =?us-ascii?Q?X1Ro9b7vzgV620HsMM/bnp1IFE3aDAzU6nBbJic7i55PgRZ0dd6NCOhwiFHf?= =?us-ascii?Q?ggS9Ler1JNoe3O2+QbDBdceVjnILem1v6q/0RKC3QsXUOi8WfzEphN2t9SID?= =?us-ascii?Q?GZv8eCxWXTD4oNcmP3HlUJfwU+1vAIs1G+u6wwqTFCoXtni6HG9LhmCqZBq8?= =?us-ascii?Q?ldO6OBXZVyxS/dV3T85/hhH/7Dx9QjnC/T3QMVZ5QM5krUy0ersZNf1bGQHZ?= =?us-ascii?Q?HLPSFOSqbNb9CPGMvCpEVncWUw1PsWTZBwgFPry/3o/7JDa+jfpbIJNFO5J3?= =?us-ascii?Q?em9+P9I5/JzAoFRbWhLKVGkBhKsAbRt/4GYVlzDOlgpSdCLggYqUf4ciGJRN?= =?us-ascii?Q?wUdEkk/jTVSgFq49LXCAIFL5J4Bb+owQE22WU/mZiaXA4p3QLgjU6w7+I3EW?= =?us-ascii?Q?SijZrZHexYj+fjjn6szYdEwxRxAqzWwexcd8YzScmw+Bx1YhEOWUoK99EdzP?= =?us-ascii?Q?ZFJad/j6Od3ZpbdbSH4P+gB6LlhHPBJWoZFCvQo7eUB6I4frzxb4B7l3sjr9?= =?us-ascii?Q?us4dA/BYsSdd4eaFs2XiPaYQugXrPmSIAsHnpFiCFdavtl9uoiNxPG6FW4se?= =?us-ascii?Q?wL+1Uz6ftPpkdTWPntQXx2873fB+KlE5OdAQeVy/l+sgHsguGZEQttLIQoaE?= =?us-ascii?Q?cG7nB7d3ecje43HHR5KrUHJEkv1OkcPx2F5tO2adP2HqpxPDHAg9lXZ6+RmL?= =?us-ascii?Q?lX3grhxBlZ8AE/jzzGkP0S+v7RvKeqC5XLxzG7lRoJ6kYUSiPnIXJCoXU1Ub?= =?us-ascii?Q?CPh7pSvvp+pd1rEz79RimKjuMEy8t61F96EKV3qAh8FLEZVF2vrk8jmnsBLd?= =?us-ascii?Q?DNZk8uDRPbufsKSbbD+LDDSJdOQh3+xJKzmbHe+0/7Bsufcy3goDOj8sKbbV?= =?us-ascii?Q?lZE6v4D0k5+nOrLPQI+HmvxOy+P/GnwHO6bgHEvSVdD/HAkXX1kwMHz/uEo+?= =?us-ascii?Q?IlI5kSLtpSiUdkEOlzhgkPPYhNgi9jX1VB8K4y2eemGgwA7dVT+iBPyGEnP/?= =?us-ascii?Q?sL3yLSLPAiSWPXYAkKH5tLkH3C/wol6SSxnqTdAsw3IXU6kQUb0kjdUcbYKK?= =?us-ascii?Q?FSGHrHMlQvFecYAWOlOorKpOha4coOQrSLG3tU1CoU4ap4fEHDkEPTCVcBXG?= =?us-ascii?Q?ge45+eqdpt+7QTMUCGGd8/yYGMjnR3z9ntaN5zKGFY2v6Bv789jQ2aqOBl/J?= =?us-ascii?Q?VzoEeIH/+K/ZaceeDjE2DtAYk1CfHFwTvns93LaMkBNTpKJp5G0q29drsQcc?= =?us-ascii?Q?OK4H9RdFIkPvEjmrkKju3TInD/q86JIJON/2pj3Kw76QbHFDq2riixsFEqti?= =?us-ascii?Q?NRbzFQ0DNVgj0FB43QzpVnwJcfJh4l3ujLYPsy9+BhKEljXMXj8GeM8a4czN?= =?us-ascii?Q?y0Y67Sn+IRfxb5yzEiC6W65z2RvVVRu4GhjqjuV6Vfb3LVHpXFg3TrrWiitX?= =?us-ascii?Q?YVsFk2s/Qj9CVloAvGT1TvJy5fMlFIkhH2Vev6oU1jyAxw1rIKcrKg6Fjazg?= =?us-ascii?Q?EW7z0lREW8bgkK6LAuKDPlhnelFuYnE9ZSI+JQI3KlD151v6KPzK3Zz7+IYM?= =?us-ascii?Q?UnTnVFiLjg=3D=3D?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CY4PR11MB1589.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 33bcaf1f-c6b8-4bbe-bbfe-08da195e6b2d X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Apr 2022 12:50:54.1301 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: DUYMECGiyn46EUOjf6Hz6o3/hBvTxusnfkWX6SCqQulUmt7kcF9FKANYU4c+/waQZOTM78fcsbkvqZU7wBVZAQCSVUtJ9VGfC9rE2rGH/58= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR11MB1505 X-OriginatorOrg: intel.com X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org > -----Original Message----- > From: Marcin Danilewicz > Sent: Thursday, April 7, 2022 3:52 PM > To: dev@dpdk.org > Cc: Ajmera, Megha > Subject: [dpdk][PATCH 1/2] sched: enable/disable TC OV at runtime >=20 > From: Megha Ajmera >=20 > Added new API to enable or disable TC over subscription for best effort > traffic class at subport level. >=20 > By default TC OV is disabled for subport. >=20 > Signed-off-by: Megha Ajmera >=20 > diff --git a/lib/sched/rte_sched.c b/lib/sched/rte_sched.c index > ec74bee939..1d05089d00 100644 > --- a/lib/sched/rte_sched.c > +++ b/lib/sched/rte_sched.c > @@ -155,6 +155,7 @@ struct rte_sched_subport { > uint64_t tc_credits[RTE_SCHED_TRAFFIC_CLASSES_PER_PIPE]; >=20 > /* TC oversubscription */ > + uint8_t is_tc_ov_enabled; > uint64_t tc_ov_wm; > uint64_t tc_ov_wm_min; > uint64_t tc_ov_wm_max; > @@ -1165,6 +1166,45 @@ rte_sched_cman_config(struct rte_sched_port > *port, } #endif >=20 > +int > +rte_sched_subport_tc_ov_config(struct rte_sched_port *port, > + uint32_t subport_id, > + bool tc_ov_enable) > +{ > + struct rte_sched_subport *s; > + struct rte_sched_subport_profile *profile; > + > + if (port =3D=3D NULL) { > + RTE_LOG(ERR, SCHED, > + "%s: Incorrect value for parameter port\n", > __func__); > + return -EINVAL; > + } > + > + if (subport_id >=3D port->n_subports_per_port) { > + RTE_LOG(ERR, SCHED, > + "%s: Incorrect value for parameter subport id\n", > __func__); > + return -EINVAL; > + } > + > + s =3D port->subports[subport_id]; > + s->is_tc_ov_enabled =3D tc_ov_enable; > + > + if (s->is_tc_ov_enabled) { > + /* TC oversubscription */ > + s->tc_ov_wm_min =3D port->mtu; > + s->tc_ov_period_id =3D 0; > + s->tc_ov =3D 0; > + s->tc_ov_n =3D 0; > + s->tc_ov_rate =3D 0; > + > + profile =3D port->subport_profiles + s->profile; > + s->tc_ov_wm_max =3D rte_sched_time_ms_to_bytes(profile- > >tc_period, > + s->pipe_tc_be_rate_max); > + s->tc_ov_wm =3D s->tc_ov_wm_max; > + } > + return 0; > +} This API should be invoked immediately after subport config function becaus= e during pipe configuration, subport tc_ov parameters are updated based on= the pipe best effort tc parameters. With this condition, won't it be good= to add tc_ov_enable/disable flag to subport params instead of adding new A= PI?=20 > + > int > rte_sched_subport_config(struct rte_sched_port *port, > uint32_t subport_id, > @@ -1317,12 +1357,8 @@ rte_sched_subport_config(struct rte_sched_port > *port, > for (i =3D 0; i < RTE_SCHED_PORT_N_GRINDERS; i++) > s->grinder_base_bmp_pos[i] =3D > RTE_SCHED_PIPE_INVALID; >=20 > - /* TC oversubscription */ > - s->tc_ov_wm_min =3D port->mtu; > - s->tc_ov_period_id =3D 0; > - s->tc_ov =3D 0; > - s->tc_ov_n =3D 0; > - s->tc_ov_rate =3D 0; > + /* TC over-subscription is disabled by default */ > + s->is_tc_ov_enabled =3D 0; > } >=20 > { > @@ -1342,9 +1378,6 @@ rte_sched_subport_config(struct rte_sched_port > *port, > else > profile->tc_credits_per_period[i] =3D 0; >=20 > - s->tc_ov_wm_max =3D rte_sched_time_ms_to_bytes(profile- > >tc_period, > - s- > >pipe_tc_be_rate_max); > - s->tc_ov_wm =3D s->tc_ov_wm_max; > s->profile =3D subport_profile_id; >=20 > } > @@ -1417,17 +1450,20 @@ rte_sched_pipe_config(struct rte_sched_port > *port, > double pipe_tc_be_rate =3D > (double) params- > >tc_credits_per_period[RTE_SCHED_TRAFFIC_CLASS_BE] > / (double) params->tc_period; > - uint32_t tc_be_ov =3D s->tc_ov; >=20 > - /* Unplug pipe from its subport */ > - s->tc_ov_n -=3D params->tc_ov_weight; > - s->tc_ov_rate -=3D pipe_tc_be_rate; > - s->tc_ov =3D s->tc_ov_rate > subport_tc_be_rate; > + if (s->is_tc_ov_enabled) { > + uint32_t tc_be_ov =3D s->tc_ov; >=20 > - if (s->tc_ov !=3D tc_be_ov) { > - RTE_LOG(DEBUG, SCHED, > - "Subport %u Best-effort TC oversubscription > is OFF (%.4lf >=3D %.4lf)\n", > - subport_id, subport_tc_be_rate, s- > >tc_ov_rate); > + /* Unplug pipe from its subport */ > + s->tc_ov_n -=3D params->tc_ov_weight; > + s->tc_ov_rate -=3D pipe_tc_be_rate; > + s->tc_ov =3D s->tc_ov_rate > subport_tc_be_rate; > + > + if (s->tc_ov !=3D tc_be_ov) { > + RTE_LOG(DEBUG, SCHED, > + "Subport %u Best-effort TC > oversubscription is OFF (%.4lf >=3D %.4lf)\n", > + subport_id, subport_tc_be_rate, s- > >tc_ov_rate); > + } > } >=20 > /* Reset the pipe */ > @@ -1460,19 +1496,22 @@ rte_sched_pipe_config(struct rte_sched_port > *port, > double pipe_tc_be_rate =3D > (double) params- > >tc_credits_per_period[RTE_SCHED_TRAFFIC_CLASS_BE] > / (double) params->tc_period; > - uint32_t tc_be_ov =3D s->tc_ov; >=20 > - s->tc_ov_n +=3D params->tc_ov_weight; > - s->tc_ov_rate +=3D pipe_tc_be_rate; > - s->tc_ov =3D s->tc_ov_rate > subport_tc_be_rate; > + if (s->is_tc_ov_enabled) { > + uint32_t tc_be_ov =3D s->tc_ov; >=20 > - if (s->tc_ov !=3D tc_be_ov) { > - RTE_LOG(DEBUG, SCHED, > - "Subport %u Best effort TC oversubscription > is ON (%.4lf < %.4lf)\n", > - subport_id, subport_tc_be_rate, s- > >tc_ov_rate); > + s->tc_ov_n +=3D params->tc_ov_weight; > + s->tc_ov_rate +=3D pipe_tc_be_rate; > + s->tc_ov =3D s->tc_ov_rate > subport_tc_be_rate; > + > + if (s->tc_ov !=3D tc_be_ov) { > + RTE_LOG(DEBUG, SCHED, > + "Subport %u Best effort TC > oversubscription is ON (%.4lf < %.4lf)\n", > + subport_id, subport_tc_be_rate, s- > >tc_ov_rate); > + } > + p->tc_ov_period_id =3D s->tc_ov_period_id; > + p->tc_ov_credits =3D s->tc_ov_wm; > } > - p->tc_ov_period_id =3D s->tc_ov_period_id; > - p->tc_ov_credits =3D s->tc_ov_wm; > } >=20