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 >>>> 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. >>>> >>>> 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. //Eelco > Thanks, > Marcelo > >> >> Thanks, >> >> Eelco >> >>>> ofproto/ofproto-dpif-upcall.c | 8 ++------ >>>> 1 file changed, 2 insertions(+), 6 deletions(-) >>>> >>>> diff --git a/ofproto/ofproto-dpif-upcall.c b/ofproto/ofproto-dpif-upcall.c >>>> index ad9635496..9117a1aef 100644 >>>> --- a/ofproto/ofproto-dpif-upcall.c >>>> +++ b/ofproto/ofproto-dpif-upcall.c >>>> @@ -2334,12 +2334,8 @@ revalidate_ukey(struct udpif *udpif, struct >>>> udpif_key *ukey, >>>> >>>> push.used = stats->used; >>>> push.tcp_flags = stats->tcp_flags; >>>> - push.n_packets = (stats->n_packets > ukey->stats.n_packets >>>> - ? stats->n_packets - ukey->stats.n_packets >>>> - : 0); >>>> - push.n_bytes = (stats->n_bytes > ukey->stats.n_bytes >>>> - ? stats->n_bytes - ukey->stats.n_bytes >>>> - : 0); >>>> + push.n_packets = stats->n_packets - ukey->stats.n_packets; >>>> + push.n_bytes = stats->n_bytes - ukey->stats.n_bytes; >>>> >>>> if (need_revalidate) { >>>> if (should_revalidate(udpif, push.n_packets, ukey->stats.used)) { >>>> -- >>>> 2.38.1 >> > _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev