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 introduces a simple lock (taken from the cmap) which is used
to protect (already existing and newly introduced) statistics reads/write.

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 (9):
  dpif-netdev: Account for and free lost packets.
  dpif-netdev: Group statistics updates in the slow path.
  lib: Introduce seqlock mechanism.
  lib: Introduce u64-stats-sync.
  dpif-netdev: Use u64_stats_sync when reading/writing stats.
  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/automake.mk            |   2 +
 lib/cmap.c                 |  80 +++----------
 lib/dpif-netdev.c          | 290 ++++++++++++++++++++++++++++++++++++++++++---
 lib/dpif-netlink.c         |   1 +
 lib/dpif-provider.h        |   8 ++
 lib/dpif.c                 |   8 ++
 lib/seqlock.h              | 142 ++++++++++++++++++++++
 lib/u64-stats-sync.h       | 143 ++++++++++++++++++++++
 vswitchd/ovs-vswitchd.8.in |  18 +++
 10 files changed, 621 insertions(+), 79 deletions(-)
 create mode 100644 lib/seqlock.h
 create mode 100644 lib/u64-stats-sync.h

-- 
2.1.4

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

Reply via email to