On Wed, 28 Oct 2015 10:56:33 +0100 Simon Kagstrom <simon.kagstrom at netinsight.net> wrote:
> Otherwise mbufs will leak when the port is destroyed. The > rte_sched_port_qbase() and rte_sched_port_qsize() functions are used > in free now, so move them up. > > Signed-off-by: Simon Kagstrom <simon.kagstrom at netinsight.net> Overall it looks good, and fixes a long standing bug. Maybe good to expose it as a API function rte_sched_port_flush to allow use from applications. > +static inline struct rte_mbuf ** > +rte_sched_port_qbase(struct rte_sched_port *port, uint32_t qindex) > +{ > + uint32_t pindex = qindex >> 4; > + uint32_t qpos = qindex & 0xF; > + > + return (port->queue_array + pindex * port->qsize_sum + > port->qsize_add[qpos]); Please long expression over 80 characters onto multiple lines. > static int > rte_sched_port_check_params(struct rte_sched_port_params *params) > { > @@ -717,11 +734,21 @@ rte_sched_port_config(struct rte_sched_port_params > *params) > void > rte_sched_port_free(struct rte_sched_port *port) > { > + unsigned int queue; > /* Check user parameters */ > if (port == NULL){ > return; > } Please add blank line after declaration. Ps: the rte_sched needs to be run through a reformatter. lots of whitespace issues.