On Thu, Mar 30, 2023 at 09:04:02PM +0200, Ilya Maximets wrote:
> On 3/30/23 11:45, Simon Horman wrote:
> > On Fri, Mar 17, 2023 at 09:47:36PM +0100, Eelco Chaudron wrote:
> >>
> >>
> >> Send from my phone
> >>
> >>> Op 17 mrt. 2023 om 21:11 heeft Marcelo Ricardo Leitner 
> >>> <mleit...@redhat.com> het volgende geschreven:
> >>>
> >>> On Thu, Mar 16, 2023 at 09:51:34AM +0100, Eelco Chaudron wrote:
> >>>>
> >>>>
> >>>>> On 22 Dec 2022, at 13:32, Eelco Chaudron wrote:
> >>>>>
> >>>>>> On 22 Dec 2022, at 10:26, Balazs Nemeth wrote:
> >>>>>
> >>>>>> The only way that stats->{n_packets,n_bytes} would decrease is due to 
> >>>>>> an
> > 
> > nit: s/way/ways/
> > 
> >>>>>> overflow, or if there are bugs in how statistics are handled. In the
> >>>>>> past, there were multiple bugs that caused a jump backward. A
> >>>>>> workaround was in place to set the statistics to 0 in that case. When
> >>>>>> this happened while the revalidator was under heavy load, the 
> >>>>>> workaround
> >>>>>> had an unintended side effect where should_revalidate returned false
> >>>>>> causing the flow to be removed because the metric it calculated was
> >>>>>> based on a bogus value. Since many of those bugs have now been
> >>>>>> identified and resolved, there is no need to set the statistics to 0. 
> >>>>>> In
> >>>>>> addition, the (unlikely) overflow still needs to be handled
> >>>>>> appropriately.
> > 
> > 1. Perhaps it would be prudent to log/count if/when this occurs
> 
> +1
> We do have a coverage counter that will indicate the case where stats
> jump back.  However, if we're certain that this should never happen,
> we should, probably, emit a warning or even an error log as well, so
> users are aware that something went wrong.

I was thinking more of a counter, which seems to already be covered.
But I have no objection to your reasoning about having a warning (too).

> 
> > 2. I take it that the overflow handling would be follow-up work,
> >    is that correct?
> 
> The unsigned arithmetic should take case of overflowed counters,
> because the result of subtraction will still give a correct difference
> between the old and a new value, even if it overflowed and the new
> value is smaller.  Unless, of course, it overflowed more than once.

More than once between samples?
If so, I'm assuming that is not a case we can hit unless there is a bug.

> >>>>>> Signed-off-by: Balazs Nemeth <bnem...@redhat.com>
> >>>>>> ---
> >>>>>>
> >>>>>> Depends on:
> >>>>>> - netdev-offload-tc: Preserve tc statistics when flow gets modified.
> >>>>>> - tc: Add support for TCA_STATS_PKT64
> >>>>>> - ofproto-dpif-upcall: Wait for valid hw flow stats before applying 
> >>>>>> min-revalidate-pps
> >>>>>> - ofproto-dpif-upcall: Use last known stats ukey stats on revalidate 
> >>>>>> missed dp flows.
> >>>>>
> >>>>> Did a lot of tests with this patch applied, but as mentioned it does 
> >>>>> need all four patches mentioned above applied first.
> >>>>>
> >>>>> Acked-by: Eelco Chaudron <echau...@redhat.com>
> >>>>
> >>>> Now that all the dependent patches have been applied and backported to 
> >>>> 2.17, can we have another look at this patch?
> >>>
> >>> Not sure what you mean here, Eelco. You mean, just a patch review or
> >>> you mean something else, like evaluating if the patch is still needed
> >>> at all?
> >>
> >> Guess I was not clear enough :) what I meant was for the maintainers to
> >> have another look at this patch and if no further objections apply it.
> > 
> > There seems to now be minor fuzz when applying this patch (locally).
> > Perhaps a rebase is in order?
> 
> Yeah, the coverage counter got introduced in a close proximity.
_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to