[ovs-dev] [v6 08/11] dpif/stats: add miniflow extract opt hits counter

Amber, Kumar kumar.amber at intel.com
Thu Jul 8 09:35:51 UTC 2021


Hi Eelco,
> 
> Flavio asked to also update the man page, lib/dpif-netdev-unixctl.man, but I do
> not see the changes here.
> 

It's there lib/dpif-netdev-unixctl.man |  1 + .

> > ---
> >
> > v5:
> > - fix review comments(Ian, Flavio, Eelco)
> > ---
> > ---
> >  lib/dpif-netdev-avx512.c    |  2 ++
> >  lib/dpif-netdev-perf.c      |  3 +++
> >  lib/dpif-netdev-perf.h      |  1 +
> >  lib/dpif-netdev-unixctl.man |  1 +
> >  lib/dpif-netdev.c           | 16 ++++++++++------
> >  tests/pmd.at                |  6 ++++--
> >  6 files changed, 21 insertions(+), 8 deletions(-)
> >
> > diff --git a/lib/dpif-netdev-avx512.c b/lib/dpif-netdev-avx512.c index
> > 91fad92db..645b4c9b4 100644
> > --- a/lib/dpif-netdev-avx512.c
> > +++ b/lib/dpif-netdev-avx512.c
> > @@ -311,8 +311,10 @@ dp_netdev_input_outer_avx512(struct
> dp_netdev_pmd_thread *pmd,
> >      }
> >
> >      /* At this point we don't return error anymore, so commit stats
> > here. */
> > +    uint32_t mfex_hit = __builtin_popcountll(mf_mask);
> 
> As mentioned (and asked by you guys) this should change to
> mfex_hits/mfex_hit_cnt to avoid re-definition of an earlier variable.
> 

Fixed .

> >      pmd_perf_update_counter(&pmd->perf_stats, PMD_STAT_RECV,
> batch_size);
> >      pmd_perf_update_counter(&pmd->perf_stats, PMD_STAT_PHWOL_HIT,
> > phwol_hits);
> > +    pmd_perf_update_counter(&pmd->perf_stats,
> PMD_STAT_MFEX_OPT_HIT,
> > + mfex_hit);
> >      pmd_perf_update_counter(&pmd->perf_stats, PMD_STAT_EXACT_HIT,
> emc_hits);
> >      pmd_perf_update_counter(&pmd->perf_stats, PMD_STAT_SMC_HIT,
> smc_hits);
> >      pmd_perf_update_counter(&pmd->perf_stats, PMD_STAT_MASKED_HIT,
> > diff --git a/lib/dpif-netdev-perf.c b/lib/dpif-netdev-perf.c index
> > 7103a2d4d..d7676ea2b 100644
> > --- a/lib/dpif-netdev-perf.c
> > +++ b/lib/dpif-netdev-perf.c
> > @@ -247,6 +247,7 @@ pmd_perf_format_overall_stats(struct ds *str, struct
> pmd_perf_stats *s,
> >              "  Rx packets:        %12"PRIu64"  (%.0f Kpps, %.0f cycles/pkt)\n"
> >              "  Datapath passes:   %12"PRIu64"  (%.2f passes/pkt)\n"
> >              "  - PHWOL hits:      %12"PRIu64"  (%5.1f %%)\n"
> > +            "  - MFEX Opt hits:   %12"PRIu64"  (%5.1f %%)\n"
> >              "  - EMC hits:        %12"PRIu64"  (%5.1f %%)\n"
> >              "  - SMC hits:        %12"PRIu64"  (%5.1f %%)\n"
> >              "  - Megaflow hits:   %12"PRIu64"  (%5.1f %%, %.2f "
> > @@ -258,6 +259,8 @@ pmd_perf_format_overall_stats(struct ds *str, struct
> pmd_perf_stats *s,
> >              passes, rx_packets ? 1.0 * passes / rx_packets : 0,
> >              stats[PMD_STAT_PHWOL_HIT],
> >              100.0 * stats[PMD_STAT_PHWOL_HIT] / passes,
> > +            stats[PMD_STAT_MFEX_OPT_HIT],
> > +            100.0 * stats[PMD_STAT_MFEX_OPT_HIT] / passes,
> >              stats[PMD_STAT_EXACT_HIT],
> >              100.0 * stats[PMD_STAT_EXACT_HIT] / passes,
> >              stats[PMD_STAT_SMC_HIT],
> > diff --git a/lib/dpif-netdev-perf.h b/lib/dpif-netdev-perf.h index
> > 8b1a52387..834c26260 100644
> > --- a/lib/dpif-netdev-perf.h
> > +++ b/lib/dpif-netdev-perf.h
> > @@ -57,6 +57,7 @@ extern "C" {
> >
> >  enum pmd_stat_type {
> >      PMD_STAT_PHWOL_HIT,     /* Packets that had a partial HWOL hit (phwol).
> */
> > +    PMD_STAT_MFEX_OPT_HIT,  /* Packets that had miniflow optimized
> > + match. */
> >      PMD_STAT_EXACT_HIT,     /* Packets that had an exact match (emc). */
> >      PMD_STAT_SMC_HIT,       /* Packets that had a sig match hit (SMC). */
> >      PMD_STAT_MASKED_HIT,    /* Packets that matched in the flow table. */
> > diff --git a/lib/dpif-netdev-unixctl.man b/lib/dpif-netdev-unixctl.man
> > index 83ce4f1c5..f2e536c15 100644
> > --- a/lib/dpif-netdev-unixctl.man
> > +++ b/lib/dpif-netdev-unixctl.man
> > @@ -136,6 +136,7 @@ pmd thread numa_id 0 core_id 1:
> >    Rx packets:             2399607  (2381 Kpps, 848 cycles/pkt)
> >    Datapath passes:        3599415  (1.50 passes/pkt)
> >    - PHWOL hits:                 0  (  0.0 %)
> > +  - MFEX Opt hits:        4570133  ( 99.5 %)
> 
> Can we put a realistic number here, as we have more hits than datapath passes?
> 

Fixed.

> >    - EMC hits:              336472  (  9.3 %)


> > 2.32.0

Regards
Amber



More information about the dev mailing list