On Wed, Apr 17, 2024 at 10:07:24AM -0700, Stephen Hemminger wrote: > The timer_hz is not always an integral number of nanoseconds. > For examples, cycles per nanoseconds on my test system is 2.8. > Fix by using floating point where needed. > > Signed-off-by: Stephen Hemminger <step...@networkplumber.org> > --- > lib/latencystats/rte_latencystats.c | 12 +++++------- > 1 file changed, 5 insertions(+), 7 deletions(-) > > diff --git a/lib/latencystats/rte_latencystats.c > b/lib/latencystats/rte_latencystats.c > index 9b345bfb33..fe8c3c563a 100644 > --- a/lib/latencystats/rte_latencystats.c > +++ b/lib/latencystats/rte_latencystats.c > @@ -19,10 +19,10 @@ > #define NS_PER_SEC 1E9 > > /** Clock cycles per nano second */ > -static uint64_t > +static float > latencystat_cycles_per_ns(void) > { > - return rte_get_timer_hz() / NS_PER_SEC; > + return (double)rte_get_timer_hz() / NS_PER_SEC; > }
my feeling is this will generate a warning on msvc later double -> float.