[ovs-dev] [PATCH 00/12] RCU classifier

Jarno Rajahalme jrajahalme at nicira.com
Mon Jun 30 15:17:16 UTC 2014


This series makes the classifier use OVS-RCU and thus makes classifier
lookups lockless.  No performance measurements have been made yet.

Patch 6 ("Use cmap.") has been previously reviewed.

Jarno Rajahalme (12):
  dpif-netdev: Use cmap instead of hmap.
  ovs-atomic: Use memory_order_relaxed for ovs_refcount.
  lib/ovs-atomic: Add atomic compare_exchange.
  ofproto-dpif: Use ovs_refcount_try_ref().
  lib/classifier: Remove unused typedef cls_cb_func.
  lib/classifier: Use cmap.
  lib/classifier: Simplify iteration with C99 declaration.
  lib/ovs-rcu: Export ovsrcu_synchronize().
  lib/classifier: Stylistic change.
  lib/classifier: Use internal mutex.
  lib/classifier: RCUify prefix trie code.
  lib/classifier: Lockless lookups.

 lib/classifier.c           |  692 +++++++++++++++++++++++++++++---------------
 lib/classifier.h           |  120 +++++---
 lib/dpif-netdev.c          |   73 ++---
 lib/ovs-atomic-clang.h     |   14 +
 lib/ovs-atomic-gcc4+.h     |   23 ++
 lib/ovs-atomic-gcc4.7+.h   |   14 +
 lib/ovs-atomic-locked.h    |   11 +
 lib/ovs-atomic-pthreads.h  |   10 +
 lib/ovs-atomic.h           |   62 +++-
 lib/ovs-rcu.c              |    3 +-
 lib/ovs-rcu.h              |    4 +
 ofproto/ofproto-dpif.c     |   46 +--
 ofproto/ofproto-dpif.h     |    9 +
 ofproto/ofproto-provider.h |    1 +
 ofproto/ofproto.c          |   91 ++----
 ofproto/ofproto.h          |    3 +
 tests/test-classifier.c    |  130 +++++----
 utilities/ovs-ofctl.c      |   23 +-
 18 files changed, 825 insertions(+), 504 deletions(-)

-- 
1.7.10.4




More information about the dev mailing list