Hi Eelco,

Added a description for the same .

> -----Original Message-----
> From: Eelco Chaudron <[email protected]>
> Sent: Thursday, July 8, 2021 4:07 PM
> To: Amber, Kumar <[email protected]>; [email protected]
> Cc: Ferriter, Cian <[email protected]>; [email protected];
> [email protected]; Van Haaren, Harry <[email protected]>;
> Stokes, Ian <[email protected]>
> Subject: Re: [v6 08/11] dpif/stats: add miniflow extract opt hits counter
> 
> 
> 
> On 8 Jul 2021, at 11:35, Amber, Kumar wrote:
> 
> > 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 + .
> 
> Guess Flavio wanted not just to add MFEX to the output, but also to explain
> what it represents.
> 
> >>> ---
> >>>
> >>> 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

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to