[ovs-dev] [PATCH v2 2/2] dpif-netdev-perf: Print SMC statistics.

Ilya Maximets i.maximets at samsung.com
Thu Oct 11 11:49:46 UTC 2018


On 10.10.2018 21:35, Stokes, Ian wrote:
>> Printing of the SMC hits missed in the 'dpif-netdev/pmd-perf-show'
>> appctl command.
>>
> 
> Thanks Ilya,
> 
> This looks good, I'll add this to the pull request this week.
> 
> I've held off applying the Cycles clarification patch for the moment as flagged in the mail below.
> 
> https://mail.openvswitch.org/pipermail/ovs-dev/2018-October/352904.html
> 
> If there's a v2 of cycle clarification patch I'll take the formatting of the smc stats into account when applying as I think they would be changed from 
> 
> "  - SMC hits:      %12"PRIu64"  (%4.1f %%)\n"
> 
> to
> 
> "  - SMC hits:        %12"PRIu64"  (%5.1f %%)\n"
> 
> If that makes sense?

Sure. Thanks.

> 
> Ian
> 
>> CC: Yipeng Wang <yipeng1.wang at intel.com>
>> Fixes: 60d8ccae135f ("dpif-netdev: Add SMC cache after EMC cache")
>> Signed-off-by: Ilya Maximets <i.maximets at samsung.com>
>> Acked-by: Yipeng Wang <yipeng1.wang at intel.com>
>> ---
>>  lib/dpif-netdev-perf.c      | 3 +++
>>  lib/dpif-netdev-perf.h      | 2 +-
>>  lib/dpif-netdev-unixctl.man | 3 ++-
>>  3 files changed, 6 insertions(+), 2 deletions(-)
>>
>> diff --git a/lib/dpif-netdev-perf.c b/lib/dpif-netdev-perf.c index
>> 13f1010c9..92ac38dab 100644
>> --- a/lib/dpif-netdev-perf.c
>> +++ b/lib/dpif-netdev-perf.c
>> @@ -206,6 +206,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"
>>              "  - EMC hits:      %12"PRIu64"  (%4.1f %%)\n"
>> +            "  - SMC hits:      %12"PRIu64"  (%4.1f %%)\n"
>>              "  - Megaflow hits: %12"PRIu64"  (%4.1f %%, %.2f subtbl
>> lookups/"
>>
>> "hit)\n"
>>              "  - Upcalls:       %12"PRIu64"  (%4.1f %%, %.1f
>> us/upcall)\n"
>> @@ -215,6 +216,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_EXACT_HIT],
>>              100.0 * stats[PMD_STAT_EXACT_HIT] / passes,
>> +            stats[PMD_STAT_SMC_HIT],
>> +            100.0 * stats[PMD_STAT_SMC_HIT] / passes,
>>              stats[PMD_STAT_MASKED_HIT],
>>              100.0 * stats[PMD_STAT_MASKED_HIT] / passes,
>>              stats[PMD_STAT_MASKED_HIT]
>> diff --git a/lib/dpif-netdev-perf.h b/lib/dpif-netdev-perf.h index
>> 299d52a98..859c05613 100644
>> --- a/lib/dpif-netdev-perf.h
>> +++ b/lib/dpif-netdev-perf.h
>> @@ -56,7 +56,7 @@ extern "C" {
>>
>>  enum pmd_stat_type {
>>      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_SMC_HIT,       /* Packets that had a sig match hit (SMC). */
>>      PMD_STAT_MASKED_HIT,    /* Packets that matched in the flow table. */
>>      PMD_STAT_MISS,          /* Packets that did not match and upcall was
>> ok. */
>>      PMD_STAT_LOST,          /* Packets that did not match and upcall
>> failed. */
>> diff --git a/lib/dpif-netdev-unixctl.man b/lib/dpif-netdev-unixctl.man
>> index c46f6b19c..0705f1cfb 100644
>> --- a/lib/dpif-netdev-unixctl.man
>> +++ b/lib/dpif-netdev-unixctl.man
>> @@ -11,7 +11,7 @@ Shows performance statistics for one or all pmd threads
>> of the datapath  \fIdp\fR. The special thread "main" sums up the
>> statistics of every non pmd  thread.
>>
>> -The sum of "emc hits", "megaflow hits" and "miss" is the number of
>> +The sum of "emc hits", "smc hits", "megaflow hits" and "miss" is the
>> +number of
>>  packet lookups performed by the datapath. Beware that a recirculated
>> packet  experiences one additional lookup per recirculation, so there may
>> be  more lookups than forwarded packets in the datapath.
>> @@ -135,6 +135,7 @@ pmd thread numa_id 0 core_id 1:
>>    Rx packets:           2399607  (2381 Kpps, 848 cycles/pkt)
>>    Datapath passes:      3599415  (1.50 passes/pkt)
>>    - EMC hits:            336472  ( 9.3 %)
>> +  - SMC hits:                 0  ( 0.0 %)
>>    - Megaflow hits:      3262943  (90.7 %, 1.00 subtbl lookups/hit)
>>    - Upcalls:                  0  ( 0.0 %, 0.0 us/upcall)
>>    - Lost upcalls:             0  ( 0.0 %)
>> --
>> 2.17.1
> 
> 
> 


More information about the dev mailing list