[dpdk-dev] [PATCH] event/sw: fix xstats reset value assignment bug

Jerin Jacob jerinjacobk at gmail.com
Fri Sep 13 12:30:26 CEST 2019


On Wed, Aug 28, 2019 at 3:06 AM Gage Eads <gage.eads at intel.com> wrote:
>
> The sw PMD implements xstats reset by having the xstat get operations
> return a value to the statistic's value at the last reset. The value at the
> last reset is maintained in the per-xstat reset_value field, but the PMD
> was setting reset_value = current - reset_value instead of reset_value =
> current.
>
> Fixes: c1ad03df7ad5 ("event/sw: support xstats")
> Cc: stable at dpdk.org
>
> Signed-off-by: Gage Eads <gage.eads at intel.com>

Harry,

Could you review this patch?



> ---
>  drivers/event/sw/sw_evdev_xstats.c | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/event/sw/sw_evdev_xstats.c b/drivers/event/sw/sw_evdev_xstats.c
> index 7a6caa64d..90664903b 100644
> --- a/drivers/event/sw/sw_evdev_xstats.c
> +++ b/drivers/event/sw/sw_evdev_xstats.c
> @@ -491,7 +491,7 @@ sw_xstats_update(struct sw_evdev *sw, enum rte_event_dev_xstats_mode mode,
>                         values[xidx] = val;
>
>                 if (xs->reset_allowed && reset)
> -                       xs->reset_value = val;
> +                       xs->reset_value += val;
>
>                 xidx++;
>         }
> @@ -544,8 +544,7 @@ sw_xstats_reset_range(struct sw_evdev *sw, uint32_t start, uint32_t num)
>                 if (!xs->reset_allowed)
>                         continue;
>
> -               uint64_t val = xs->fn(sw, xs->obj_idx, xs->stat, xs->extra_arg)
> -                                       - xs->reset_value;
> +               uint64_t val = xs->fn(sw, xs->obj_idx, xs->stat, xs->extra_arg);
>                 xs->reset_value = val;
>         }
>  }
> --
> 2.13.6
>


More information about the dev mailing list