summaryrefslogtreecommitdiff
path: root/manpages.mk
diff options
context:
space:
mode:
authorJan Scheurich <jan.scheurich@ericsson.com>2018-04-19 19:40:45 +0200
committerIan Stokes <ian.stokes@intel.com>2018-05-11 08:08:24 +0100
commit79f368756ce8b9149f5532d44ef1673f20750826 (patch)
tree5c47c97db09b918e5bb093e15fc4c44c8c99b1f5 /manpages.mk
parent8492adc270fd9b1774683064764cdf56df995b99 (diff)
downloadopenvswitch-79f368756ce8b9149f5532d44ef1673f20750826.tar.gz
dpif-netdev: Detailed performance stats for PMDs
This patch instruments the dpif-netdev datapath to record detailed statistics of what is happening in every iteration of a PMD thread. The collection of detailed statistics can be controlled by a new Open_vSwitch configuration parameter "other_config:pmd-perf-metrics". By default it is disabled. The run-time overhead, when enabled, is in the order of 1%. The covered metrics per iteration are: - cycles - packets - (rx) batches - packets/batch - max. vhostuser qlen - upcalls - cycles spent in upcalls This raw recorded data is used threefold: 1. In histograms for each of the following metrics: - cycles/iteration (log.) - packets/iteration (log.) - cycles/packet - packets/batch - max. vhostuser qlen (log.) - upcalls - cycles/upcall (log) The histograms bins are divided linear or logarithmic. 2. A cyclic history of the above statistics for 999 iterations 3. A cyclic history of the cummulative/average values per millisecond wall clock for the last 1000 milliseconds: - number of iterations - avg. cycles/iteration - packets (Kpps) - avg. packets/batch - avg. max vhost qlen - upcalls - avg. cycles/upcall The gathered performance metrics can be printed at any time with the new CLI command ovs-appctl dpif-netdev/pmd-perf-show [-nh] [-it iter_len] [-ms ms_len] [-pmd core] [dp] The options are -nh: Suppress the histograms -it iter_len: Display the last iter_len iteration stats -ms ms_len: Display the last ms_len millisecond stats -pmd core: Display only the specified PMD The performance statistics are reset with the existing dpif-netdev/pmd-stats-clear command. The output always contains the following global PMD statistics, similar to the pmd-stats-show command: Time: 15:24:55.270 Measurement duration: 1.008 s pmd thread numa_id 0 core_id 1: Cycles: 2419034712 (2.40 GHz) Iterations: 572817 (1.76 us/it) - idle: 486808 (15.9 % cycles) - busy: 86009 (84.1 % cycles) Rx packets: 2399607 (2381 Kpps, 848 cycles/pkt) Datapath passes: 3599415 (1.50 passes/pkt) - EMC hits: 336472 ( 9.3 %) - Megaflow hits: 3262943 (90.7 %, 1.00 subtbl lookups/hit) - Upcalls: 0 ( 0.0 %, 0.0 us/upcall) - Lost upcalls: 0 ( 0.0 %) Tx packets: 2399607 (2381 Kpps) Tx batches: 171400 (14.00 pkts/batch) Signed-off-by: Jan Scheurich <jan.scheurich@ericsson.com> Acked-by: Billy O'Mahony <billy.o.mahony@intel.com> Signed-off-by: Ian Stokes <ian.stokes@intel.com>
Diffstat (limited to 'manpages.mk')
-rw-r--r--manpages.mk2
1 files changed, 2 insertions, 0 deletions
diff --git a/manpages.mk b/manpages.mk
index f579e5cbd..29fdaa0a1 100644
--- a/manpages.mk
+++ b/manpages.mk
@@ -252,6 +252,7 @@ vswitchd/ovs-vswitchd.8: \
lib/coverage-unixctl.man \
lib/daemon.man \
lib/dpctl.man \
+ lib/dpif-netdev-unixctl.man \
lib/memory-unixctl.man \
lib/netdev-dpdk-unixctl.man \
lib/service.man \
@@ -269,6 +270,7 @@ lib/common.man:
lib/coverage-unixctl.man:
lib/daemon.man:
lib/dpctl.man:
+lib/dpif-netdev-unixctl.man:
lib/memory-unixctl.man:
lib/netdev-dpdk-unixctl.man:
lib/service.man: