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

Eelco Chaudron echaudro at redhat.com
Thu Jul 8 10:36:48 UTC 2021



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



More information about the dev mailing list