[ovs-dev] [PATCH v2 0/9] Add pmd thread statistics

Daniele Di Proietto diproiettod at vmware.com
Wed Mar 4 12:06:39 UTC 2015


The goal of this series is to add an upcall 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.

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 cntlock 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: added 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/cntlock.h              | 146 +++++++++++++++++++++++
 lib/dpif-netdev.c          | 291 ++++++++++++++++++++++++++++++++++++++++++---
 lib/dpif-netlink.c         |   1 +
 lib/dpif-provider.h        |   8 ++
 lib/dpif.c                 |   8 ++
 lib/u64-stats-sync.h       | 140 ++++++++++++++++++++++
 vswitchd/ovs-vswitchd.8.in |  18 +++
 10 files changed, 623 insertions(+), 79 deletions(-)
 create mode 100644 lib/cntlock.h
 create mode 100644 lib/u64-stats-sync.h

-- 
2.1.4




More information about the dev mailing list