2
0
mirror of https://github.com/openvswitch/ovs synced 2025-08-31 06:15:47 +00:00

dpif-netdev: Reset RxQ cycles history on PMD reload.

When a PMD reload occurs, some PMD cycle measurements are reset.
In order to preserve the full cycles history of an Rxq, the RxQ
cycle measurements were not reset.

These are both used together to display the % of a PMD that an
RxQ is using in the pmd-rxq-show stat.

Resetting one and not the other can lead to some unintuitive
looking stats while the stats settle for the new config. In
some cases, it may appear like the RxQs are using >100% of a PMD.

This resolves when the stats settle for the new config, but
seeing RxQs apparently using >100% of a PMD may confuse a user
and lead them to think there is a bug.

To avoid this, reset the RxQ cycle measurements on PMD reload.

Signed-off-by: Kevin Traynor <ktraynor@redhat.com>
Acked-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Acked-by: Gaetan Rivet <grive@u256.net>
Acked-by: David Marchand <david.marchand@redhat.com>
Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
This commit is contained in:
Kevin Traynor
2021-10-20 10:04:32 +01:00
committed by Ilya Maximets
parent bd0fec42a2
commit 23083672b5

View File

@@ -6187,6 +6187,9 @@ reload:
netdev_rxq_get_queue_id(poll_list[i].rxq->rx));
/* Reset the rxq current cycles counter. */
dp_netdev_rxq_set_cycles(poll_list[i].rxq, RXQ_CYCLES_PROC_CURR, 0);
for (int j = 0; j < PMD_INTERVAL_MAX; j++) {
dp_netdev_rxq_set_intrvl_cycles(poll_list[i].rxq, 0);
}
}
if (!poll_cnt) {