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 0F267A0471 for ; Tue, 16 Jul 2019 02:50:03 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id B49BE2C5E; Tue, 16 Jul 2019 02:50:02 +0200 (CEST) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by dpdk.org (Postfix) with ESMTP id 50CE52C23 for ; Tue, 16 Jul 2019 02:50:00 +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 fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 15 Jul 2019 17:49:59 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.63,494,1557212400"; d="scan'208";a="250993827" Received: from irsmsx107.ger.corp.intel.com ([163.33.3.99]) by orsmga001.jf.intel.com with ESMTP; 15 Jul 2019 17:49:58 -0700 Received: from irsmsx108.ger.corp.intel.com ([169.254.11.229]) by IRSMSX107.ger.corp.intel.com ([169.254.10.251]) with mapi id 14.03.0439.000; Tue, 16 Jul 2019 01:49:57 +0100 From: "Dumitrescu, Cristian" To: "Singh, Jasvinder" , "dev@dpdk.org" CC: "Tovar, AbrahamX" , "Krakowiak, LukaszX" Thread-Topic: [PATCH v4 06/11] sched: improve doxygen comments Thread-Index: AQHVOJhGVEC3WafaIk6hRepEetVRcqbMbjAA Date: Tue, 16 Jul 2019 00:49:57 +0000 Message-ID: <3EB4FA525960D640B5BDFFD6A3D891268E8EEE05@IRSMSX108.ger.corp.intel.com> References: <20190711102659.59001-2-jasvinder.singh@intel.com> <20190712095729.159767-1-jasvinder.singh@intel.com> <20190712095729.159767-7-jasvinder.singh@intel.com> In-Reply-To: <20190712095729.159767-7-jasvinder.singh@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiMjUwYTFhODItNTViZS00YjM1LWE4ZTYtZTdjMjAxYjczNTFmIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiOXc4UllVRFYydXh6TTJ5aHVkc2VWYVVwaUJWZ3FOWHpVUXI3UEhcL1wvclwvRXBCOG10RVZxUkljbzdWUTJHT2wrNCJ9 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 v4 06/11] sched: improve doxygen comments 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 12, 2019 11:57 AM > To: dev@dpdk.org > Cc: Dumitrescu, Cristian ; Tovar, AbrahamX > ; Krakowiak, LukaszX > > Subject: [PATCH v4 06/11] sched: improve doxygen comments >=20 > Improve doxygen comments. >=20 > Signed-off-by: Jasvinder Singh > Signed-off-by: Abraham Tovar > Signed-off-by: Lukasz Krakowiak > --- > lib/librte_sched/rte_sched.h | 145 ++++++++++++++++++++++------------- > 1 file changed, 93 insertions(+), 52 deletions(-) >=20 > diff --git a/lib/librte_sched/rte_sched.h b/lib/librte_sched/rte_sched.h > index 9cccdda41..e8aa63301 100644 > --- a/lib/librte_sched/rte_sched.h > +++ b/lib/librte_sched/rte_sched.h > @@ -52,7 +52,7 @@ extern "C" { > * multiple connections of same traffic class belonging to > * the same user; > * - Weighted Round Robin (WRR) is used to service the > - * queues within same pipe traffic class. > + * queues within same pipe lowest priority traffic class (best-effor= t). > * > */ >=20 > @@ -83,6 +83,8 @@ extern "C" { > #define RTE_SCHED_BE_QUEUES_PER_PIPE 4 >=20 > /** Number of traffic classes per pipe (as well as subport). > + * @see struct rte_sched_subport_params > + * @see struct rte_sched_pipe_params > */ > #define RTE_SCHED_TRAFFIC_CLASSES_PER_PIPE \ > (RTE_SCHED_QUEUES_PER_PIPE - RTE_SCHED_BE_QUEUES_PER_PIPE + 1) > @@ -106,6 +108,8 @@ extern "C" { > * > * The FCS is considered overhead only if not included in the packet > * length (field pkt_len of struct rte_mbuf). > + * > + * @see struct rte_sched_port_params > */ > #ifndef RTE_SCHED_FRAME_OVERHEAD_DEFAULT > #define RTE_SCHED_FRAME_OVERHEAD_DEFAULT 24 > @@ -121,34 +125,39 @@ extern "C" { > * byte. > */ > struct rte_sched_subport_params { > - /* Subport token bucket */ > - uint32_t tb_rate; /**< Rate (measured in bytes per secon= d) > */ > - uint32_t tb_size; /**< Size (measured in credits) */ > + /** Token bucket rate (measured in bytes per second) */ > + uint32_t tb_rate; > + > + /** Token bucket size (measured in credits) */ > + uint32_t tb_size; >=20 > - /* Subport traffic classes */ > + /** Traffic class rates (measured in bytes per second) */ > uint32_t tc_rate[RTE_SCHED_TRAFFIC_CLASSES_PER_PIPE]; > - /**< Traffic class rates (measured in bytes per second) */ > + > + /** Enforcement period for rates (measured in milliseconds) */ > uint32_t tc_period; > - /**< Enforcement period for rates (measured in milliseconds) */ > + > + /** Number of subport_pipes */ > + uint32_t n_pipes_per_subport; > }; >=20 > /** Subport statistics */ > struct rte_sched_subport_stats { > - /* Packets */ > + /** Number of packets successfully written */ > uint32_t n_pkts_tc[RTE_SCHED_TRAFFIC_CLASSES_PER_PIPE]; > - /**< Number of packets successfully written */ > + > + /** Number of packets dropped */ > uint32_t > n_pkts_tc_dropped[RTE_SCHED_TRAFFIC_CLASSES_PER_PIPE]; > - /**< Number of packets dropped */ >=20 > - /* Bytes */ > + /** Number of bytes successfully written for each traffic class */ > uint32_t n_bytes_tc[RTE_SCHED_TRAFFIC_CLASSES_PER_PIPE]; > - /**< Number of bytes successfully written for each traffic class */ > + > + /** Number of bytes dropped for each traffic class */ > uint32_t > n_bytes_tc_dropped[RTE_SCHED_TRAFFIC_CLASSES_PER_PIPE]; > - /**< Number of bytes dropped for each traffic class */ >=20 > #ifdef RTE_SCHED_RED > + /** Number of packets dropped by red */ > uint32_t > n_pkts_red_dropped[RTE_SCHED_TRAFFIC_CLASSES_PER_PIPE]; > - /**< Number of packets dropped by red */ > #endif > }; >=20 > @@ -162,59 +171,91 @@ struct rte_sched_subport_stats { > * byte. > */ > struct rte_sched_pipe_params { > - /* Pipe token bucket */ > - uint32_t tb_rate; /**< Rate (measured in bytes per secon= d) > */ > - uint32_t tb_size; /**< Size (measured in credits) */ > + /** Token bucket rate (measured in bytes per second) */ > + uint32_t tb_rate; > + > + /** Token bucket size (measured in credits) */ > + uint32_t tb_size; >=20 > - /* Pipe traffic classes */ > + /** Traffic class rates (measured in bytes per second) */ > uint32_t tc_rate[RTE_SCHED_TRAFFIC_CLASSES_PER_PIPE]; > - /**< Traffic class rates (measured in bytes per second) */ > + > + /** Enforcement period (measured in milliseconds) */ > uint32_t tc_period; > - /**< Enforcement period (measured in milliseconds) */ > - uint8_t tc_ov_weight; /**< Weight Traffic class 3 > oversubscription */ >=20 > - /* Pipe queues */ > - uint8_t wrr_weights[RTE_SCHED_BE_QUEUES_PER_PIPE]; /**< > WRR weights */ > + /** Best-effort traffic class oversubscription weight */ > + uint8_t tc_ov_weight; > + > + /** WRR weights of best-effort traffic class queues */ > + uint8_t wrr_weights[RTE_SCHED_BE_QUEUES_PER_PIPE]; > }; >=20 > /** Queue statistics */ > struct rte_sched_queue_stats { > - /* Packets */ > - uint32_t n_pkts; /**< Packets successfully written */ > - uint32_t n_pkts_dropped; /**< Packets dropped */ > + /** Packets successfully written */ > + uint32_t n_pkts; > + > + /** Packets dropped */ > + uint32_t n_pkts_dropped; > + > #ifdef RTE_SCHED_RED > - uint32_t n_pkts_red_dropped; /**< Packets dropped by RED */ > + /** Packets dropped by RED */ > + uint32_t n_pkts_red_dropped; > #endif >=20 > - /* Bytes */ > - uint32_t n_bytes; /**< Bytes successfully written */ > - uint32_t n_bytes_dropped; /**< Bytes dropped */ > + /** Bytes successfully written */ > + uint32_t n_bytes; > + > + /** Bytes dropped */ > + uint32_t n_bytes_dropped; > }; >=20 > /** Port configuration parameters. */ > struct rte_sched_port_params { > - const char *name; /**< String to be associated */ > - int socket; /**< CPU socket ID */ > - uint32_t rate; /**< Output port rate > - * (measured in bytes per second) */ > - uint32_t mtu; /**< Maximum Ethernet frame size > - * (measured in bytes). > - * Should not include the framing > overhead. */ > - uint32_t frame_overhead; /**< Framing overhead per packet > - * (measured in bytes) */ > - uint32_t n_subports_per_port; /**< Number of subports */ > - uint32_t n_pipes_per_subport; /**< Number of pipes per subport > */ > + /** Name of the port to be associated */ > + const char *name; > + > + /** CPU socket ID */ > + int socket; > + > + /** Output port rate (measured in bytes per second) */ > + uint32_t rate; > + > + /** Maximum Ethernet frame size (measured in bytes). > + * Should not include the framing overhead. > + */ > + uint32_t mtu; > + > + /** Framing overhead per packet (measured in bytes) */ > + uint32_t frame_overhead; > + > + /** Number of subports */ > + uint32_t n_subports_per_port; > + > + /** Number of subport_pipes */ > + uint32_t n_pipes_per_subport; > + > + /** Packet queue size for each traffic class. > + * All the pipes within the same subport share the similar > + * configuration for the queues. Queues which are not needed, have > + * zero size. > + */ > uint16_t qsize[RTE_SCHED_QUEUES_PER_PIPE]; > - /**< Packet queue size for each traffic class. > - * Queues which are not needed are allowed to have zero size. */ > + > + /** Pipe profile table. > + * Every pipe is configured using one of the profiles from this table. > + */ > struct rte_sched_pipe_params *pipe_profiles; > - /**< Pipe profile table. > - * Every pipe is configured using one of the profiles from this table. > */ > - uint32_t n_pipe_profiles; /**< Profiles in the pipe profile tabl= e */ > + > + /** Profiles in the pipe profile table */ > + uint32_t n_pipe_profiles; > + > + /** Max profiles allowed in the pipe profile table */ > uint32_t n_max_pipe_profiles; > - /**< Max profiles allowed in the pipe profile table */ > + > #ifdef RTE_SCHED_RED > - struct rte_red_params > red_params[RTE_SCHED_TRAFFIC_CLASSES_PER_PIPE][RTE_COLORS]; /**< > RED parameters */ > + /** RED parameters */ > + struct rte_red_params > red_params[RTE_SCHED_TRAFFIC_CLASSES_PER_PIPE][RTE_COLORS]; > #endif > }; >=20 > @@ -328,8 +369,8 @@ rte_sched_port_get_memory_footprint(struct > rte_sched_port_params *params); > * Pointer to pre-allocated subport statistics structure where the sta= tistics > * counters should be stored > * @param tc_ov > - * Pointer to pre-allocated 4-entry array where the oversubscription s= tatus > for > - * each of the 4 subport traffic classes should be stored. > + * Pointer to pre-allocated 13-entry array where the oversubscription > status for > + * each of the subport traffic classes should be stored. > * @return > * 0 upon success, error code otherwise > */ > @@ -374,7 +415,7 @@ rte_sched_queue_read_stats(struct rte_sched_port > *port, > * @param pipe > * Pipe ID within subport > * @param traffic_class > - * Traffic class ID within pipe (0 .. 3) > + * Traffic class ID within pipe (0 .. 12) > * @param queue > * Queue ID within pipe traffic class (0 .. 3) > * @param color > @@ -401,7 +442,7 @@ rte_sched_port_pkt_write(struct rte_sched_port > *port, > * @param pipe > * Pipe ID within subport > * @param traffic_class > - * Traffic class ID within pipe (0 .. 3) > + * Traffic class ID within pipe (0 .. 12) > * @param queue > * Queue ID within pipe traffic class (0 .. 3) > * It would be great if we could replace these magic numbers of 3, 12, etc wit= h the corresponding macros (in the API file at least, but it would be great= to do it in the .c file as well). > -- > 2.21.0