Thanks Ben for the review,

> +static long long int coverage_run_time = LLONG_MIN;
> > +
> > +/* Defines the moving average array index variables. */
> > +static unsigned int min_idx = 0;
> > +static unsigned int hr_idx = 0;
>
> It looks to me that min_idx and hr_idx are used only in
> coverage_run().  You might consider moving them into that function.
>
>

Makes sense, I'll adjust this.



> > +/* Index counter used to compute the moving average array's index. */
> > +static unsigned int idx_count = 0;
>
> It looks to me like idx_count should be protected by coverage_mutex.



I'm a bit confused here. Want to ask, that there will only be one thread
going through the loop in ovs-vswitchd.c (which calls coverage_run()),
right? If so, idx_count will only be accessed by that thread. Then do we
still need to protect it?




> > +                          coverage_array_sum(c[i]->min, MIN_AVG_LEN),
> > +                          coverage_array_sum(c[i]->hr,  HR_AVG_LEN),
> > +                          totals[i]));
> > +
>
> The indentation and parenthesization is not quite right here:
>                           ((double) c[i]->min[(idx_count - 1) %
> MIN_AVG_LEN])
>                              * 1000 / COVERAGE_RUN_INTERVAL,
> It should be:
>                           ((double) c[i]->min[(idx_count - 1) %
> MIN_AVG_LEN]
>                            * 1000 / COVERAGE_RUN_INTERVAL),
> (I think that CodingStyle implies this--I intended that it should--but
> it might require a close reading.)
>
> Also I might just use 1000.0 instead of a cast to double, because I am
> not fond of casts:
>                           (c[i]->min[(idx_count - 1) % MIN_AVG_LEN]
>                            * 1000.0 / COVERAGE_RUN_INTERVAL),
>
>

Thanks for pointing these out. I'll fix accordingly.



> When I can, I like to use build assertions to enforce build-time
> invariants in place of or in addition to comments.  (This is level 9
> on Rusty Russell's "Hard To Misuse Positive Score List" at
> http://ozlabs.org/~rusty/index.cgi/tech/2008-03-30.html.  Everyone
> should read this.)
>
> In this case, I think that you can use BUILD_ASSERT_DECL.
>

Thanks for sharing this reference!
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to