[ovs-dev] [PATCH] dpif-netdev: Reset RxQ cycles history on PMD reload.

Ilya Maximets i.maximets at ovn.org
Tue Nov 16 17:28:24 UTC 2021


On 10/20/21 11:04, Kevin Traynor wrote:
> 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 at redhat.com>
> ---
>  lib/dpif-netdev.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c
> index b078c2da5..27e176b08 100644
> --- a/lib/dpif-netdev.c
> +++ b/lib/dpif-netdev.c
> @@ -6187,4 +6187,7 @@ reload:
>         /* 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);
> +       }
>      }
>  
> 

Thanks, Kevin, Maxime, Gaetan and David!  Applied.

If this needs a backport, please, let me know.

Bets regards, Ilya Maximets.


More information about the dev mailing list