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.

This series also fixes some concurrency issues with statistics in the
userspace datapath by using atomic operations.

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 (7):
  dpif-netdev: Remove support for DPIF_FP_ZERO_STATS flag
  dpif-netdev: Group statistics updates in the slow path.
  dpif-netdev: Make datapath and flow stats atomic.
  dpif-netdev: Count exact match cache hits.
  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          | 364 +++++++++++++++++++++++++++++++++++++++++----
 lib/dpif-netlink.c         |   1 +
 lib/dpif-provider.h        |   8 +
 lib/dpif.c                 |   8 +
 vswitchd/ovs-vswitchd.8.in |  18 +++
 6 files changed, 376 insertions(+), 31 deletions(-)

-- 
2.1.4

_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to