[dpdk-dev] [PATCH v2] lib/librte_sched: fix update tc_credits
Stephen Hemminger
stephen at networkplumber.org
Thu Jun 29 19:04:04 CEST 2017
On Thu, 29 Jun 2017 16:35:42 +0200
Olivier Chirossel <olivier.chirossel at gmail.com> wrote:
> /* Subport TCs */
> if (unlikely(port->time >= subport->tc_time)) {
> - subport->tc_credits[0] = subport->tc_credits_per_period[0];
> - subport->tc_credits[1] = subport->tc_credits_per_period[1];
> - subport->tc_credits[2] = subport->tc_credits_per_period[2];
> - subport->tc_credits[3] = subport->tc_credits_per_period[3];
> + for (j = 0; j < RTE_SCHED_TRAFFIC_CLASSES_PER_PIPE; j++) {
> + if ((subport->tc_credits[j] + subport->tc_credits_per_period[j]) < subport->tc_rate[j]) {
> + subport->tc_credits[j] += subport->tc_credits_per_period[j];
> + }
> + else {
> + subport->tc_credits[j] = subport->tc_rate[j];
> + }
> + }
The loop was manually unrolled for speed.
More information about the dev
mailing list