[dpdk-dev] [PATCH v4 06/11] sched: improve doxygen comments

Singh, Jasvinder jasvinder.singh at intel.com
Wed Jul 17 16:58:56 CEST 2019



<snip>

> >  #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 second)
> > */
> > -	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;
> >
> > -	/* 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;
> 
> This parameter is probably a leftover from V3 and should be removed.
> 

Oops, removed in v5.



> >
> >  /** 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 */
> >
> > -	/* 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 */
> >
> >  #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
> >  };
> >
> > @@ -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 second)
> > */
> > -	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;
> >
> > -	/* 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 */
> >
> > -	/* 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];
> >  };
> >
> >  /** 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
> >
> > -	/* 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;
> >  };
> >
> >  /** 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 table */
> > +
> > +	/** 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
> >  };
> >
> > @@ -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 statistics
> >   *   counters should be stored
> >   * @param tc_ov
> > - *   Pointer to pre-allocated 4-entry array where the oversubscription status
> > 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)
> >   *
> > --
> > 2.21.0



More information about the dev mailing list