[ovs-dev] [PATCH v7 0/3] Add pmd thread statistics

Daniele Di Proietto diproiettod at vmware.com
Fri Apr 10 18:09:47 UTC 2015


The goal of this series is to add an appctl command to retrieve detailed
performance statistics from the pmd thread execution. These statistics
include exact match cache and masked classifier hits and rough cycles counters.

v6 -> v7:
* Drop patches already applied to master
* Fix style issues in last patch

v5 -> v6:
* Refactor CPU cycles counters: mutex style semantic
* Added helper for non atomic increment
* Use atomic_ullong type where possible
* time_msec() is already monotonic, avoid using MAX()

v4 -> v5:
* Drop 64-bit stats lock and use atomic types for stats and cycles (thanks
to Ethan and Jarno).
* Split dpif_netdev_pmd_info() into multiple functions.
* Remove support for DPIF_FP_ZERO_STATS in the userspace datapath.

v3 -> v4:
* Avoid creating an empty structure on MSVC 64-bit builds (thanks Ben and Guru)

v2 -> v3:
* Rename cntlock to seqlock (suggested by Ben)
* Initialize flow stats seqlock in dpif-netdev
* Change OVS_UNLIKELY to OVS_LIKELY in seqlock.h
(v2 erroneously changed the semantics of this)
* Minor style and typos fixes
* Rebase

v1 -> v2:
* Group writes to stats variables
* Introduce 64-bit stats lock, based on new cntlock (thanks to Jarno)
* Fix a typo (thanks to Jarno)
* Protect existing dpif-netdev stats updates with new locks (thanks to Jarno)
* Protect new stats updates with new locks (thanks to Jarno)
* Change rte_get_timer_cycles() to rte_get_tsc_cycles(). This prevents an OVS
DPDK build from crashing when DPDK has not been enabled at runtime



Daniele Di Proietto (3):
  dpif-netdev: Add simple per pmd-thread cycles counters.
  dpif-provider: Add class init function.
  dpif-netdev: Add dpif-netdev/pmd-stats-* appctl commands.

 INSTALL.DPDK.md            |   8 ++
 lib/dpif-netdev.c          | 239 +++++++++++++++++++++++++++++++++++++++++++++
 lib/dpif-netlink.c         |   1 +
 lib/dpif-provider.h        |   8 ++
 lib/dpif.c                 |   8 ++
 vswitchd/ovs-vswitchd.8.in |  18 ++++
 6 files changed, 282 insertions(+)

-- 
2.1.4




More information about the dev mailing list