Message ID | d1ba4d2977a84450a6ee8f45f5be62250fb03dd7.1704885957.git.echaudro@redhat.com |
---|---|
State | Accepted |
Commit | 969b3a5706378f4cb98702cfd875b2fac260fbaa |
Delegated to: | Eelco Chaudron |
Headers | show |
Series | [ovs-dev,v2,1/3] ofproto-dpif-upcall: Change flow dump duration message to WARN level. | expand |
Context | Check | Description |
---|---|---|
ovsrobot/apply-robot | success | apply and check: success |
ovsrobot/github-robot-_Build_and_Test | success | github build: passed |
ovsrobot/intel-ovs-compilation | success | test: success |
On 1/10/24 12:25, Eelco Chaudron wrote: > Add new coverage counters that might help debugging flow_limit > related issues. > > Signed-off-by: Eelco Chaudron <echaudro@redhat.com> > --- > > v2: Changed duration into flow increase/decrease counters. > > ofproto/ofproto-dpif-upcall.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/ofproto/ofproto-dpif-upcall.c b/ofproto/ofproto-dpif-upcall.c > index cd71e3ee3..b5cbeed87 100644 > --- a/ofproto/ofproto-dpif-upcall.c > +++ b/ofproto/ofproto-dpif-upcall.c > @@ -59,8 +59,11 @@ COVERAGE_DEFINE(handler_duplicate_upcall); > COVERAGE_DEFINE(revalidate_missed_dp_flow); > COVERAGE_DEFINE(ukey_dp_change); > COVERAGE_DEFINE(ukey_invalid_stat_reset); > +COVERAGE_DEFINE(upcall_flow_limit_grew); > COVERAGE_DEFINE(upcall_flow_limit_hit); > COVERAGE_DEFINE(upcall_flow_limit_kill); > +COVERAGE_DEFINE(upcall_flow_limit_reduced); > +COVERAGE_DEFINE(upcall_flow_limit_scaled); > COVERAGE_DEFINE(upcall_ukey_contention); > COVERAGE_DEFINE(upcall_ukey_replace); > > @@ -1039,11 +1042,14 @@ udpif_revalidator(void *arg) > udpif->dump_duration = duration; > if (duration > 2000) { > flow_limit /= duration / 1000; > + COVERAGE_INC(upcall_flow_limit_scaled); > } else if (duration > 1300) { > flow_limit = flow_limit * 3 / 4; > + COVERAGE_INC(upcall_flow_limit_reduced); > } else if (duration < 1000 && > flow_limit < n_flows * 1000 / duration) { > flow_limit += 1000; > + COVERAGE_INC(upcall_flow_limit_grew); > } > flow_limit = MIN(ofproto_flow_limit, MAX(flow_limit, 1000)); > atomic_store_relaxed(&udpif->flow_limit, flow_limit); Acked-by: Ilya Maximets <i.maximets@ovn.org>
On Wed, Jan 10, 2024 at 12:25:56PM +0100, Eelco Chaudron wrote: > Add new coverage counters that might help debugging flow_limit > related issues. > > Signed-off-by: Eelco Chaudron <echaudro@redhat.com> Acked-by: Simon Horman <horms@ovn.org>
Eelco Chaudron <echaudro@redhat.com> writes: > Add new coverage counters that might help debugging flow_limit > related issues. > > Signed-off-by: Eelco Chaudron <echaudro@redhat.com> > --- Thanks, applied.
diff --git a/ofproto/ofproto-dpif-upcall.c b/ofproto/ofproto-dpif-upcall.c index cd71e3ee3..b5cbeed87 100644 --- a/ofproto/ofproto-dpif-upcall.c +++ b/ofproto/ofproto-dpif-upcall.c @@ -59,8 +59,11 @@ COVERAGE_DEFINE(handler_duplicate_upcall); COVERAGE_DEFINE(revalidate_missed_dp_flow); COVERAGE_DEFINE(ukey_dp_change); COVERAGE_DEFINE(ukey_invalid_stat_reset); +COVERAGE_DEFINE(upcall_flow_limit_grew); COVERAGE_DEFINE(upcall_flow_limit_hit); COVERAGE_DEFINE(upcall_flow_limit_kill); +COVERAGE_DEFINE(upcall_flow_limit_reduced); +COVERAGE_DEFINE(upcall_flow_limit_scaled); COVERAGE_DEFINE(upcall_ukey_contention); COVERAGE_DEFINE(upcall_ukey_replace); @@ -1039,11 +1042,14 @@ udpif_revalidator(void *arg) udpif->dump_duration = duration; if (duration > 2000) { flow_limit /= duration / 1000; + COVERAGE_INC(upcall_flow_limit_scaled); } else if (duration > 1300) { flow_limit = flow_limit * 3 / 4; + COVERAGE_INC(upcall_flow_limit_reduced); } else if (duration < 1000 && flow_limit < n_flows * 1000 / duration) { flow_limit += 1000; + COVERAGE_INC(upcall_flow_limit_grew); } flow_limit = MIN(ofproto_flow_limit, MAX(flow_limit, 1000)); atomic_store_relaxed(&udpif->flow_limit, flow_limit);
Add new coverage counters that might help debugging flow_limit related issues. Signed-off-by: Eelco Chaudron <echaudro@redhat.com> --- v2: Changed duration into flow increase/decrease counters. ofproto/ofproto-dpif-upcall.c | 6 ++++++ 1 file changed, 6 insertions(+)