[ovs-dev] [PATCH RFC 0/8] userspace RCU implementation

Ben Pfaff blp at nicira.com
Thu Jan 23 00:11:50 UTC 2014


This series adds userspace RCU infrastructure and uses it in a few places.
It is half-baked.  I am posting it now to allow for performance testing,
to figure out whether polishing it up is worthwhile.

Ben Pfaff (8):
  hmap: Remove unused hmap_contains() function.
  util: New functions for allocating memory while avoiding false
    sharing.
  ovs-thread: Replace ovsthread_counter by more general
    ovsthread_stats.
  dpif-netdev: Use ovsthread_stats for flow stats.
  ovs-rcu: New library.
  ofproto: Protect rule_actions with RCU.
  dpif-netdev: RCU-protect flows in the classifier.
  dpif-netdev: Use RCU to protect flow actions.

 configure.ac                  |    1 +
 lib/automake.mk               |    3 +
 lib/dpif-netdev.c             |  317 +++++++++++++++++++++++++++--------------
 lib/fat-rwlock.c              |   29 +---
 lib/hmap.c                    |   17 +--
 lib/hmap.h                    |    4 +-
 lib/ovs-rcu-liburcu.h         |   65 +++++++++
 lib/ovs-rcu-norcu.h           |   58 ++++++++
 lib/ovs-rcu.h                 |   36 +++++
 lib/ovs-thread.c              |  114 +++++++--------
 lib/ovs-thread.h              |   23 ++-
 lib/timeval.c                 |   13 ++
 lib/util.c                    |   65 ++++++++-
 lib/util.h                    |    6 +-
 m4/openvswitch.m4             |   16 +++
 ofproto/connmgr.c             |    1 +
 ofproto/ofproto-dpif-upcall.c |    5 +
 ofproto/ofproto-dpif-xlate.c  |    9 +-
 ofproto/ofproto-dpif.c        |    4 +-
 ofproto/ofproto-provider.h    |   16 +--
 ofproto/ofproto.c             |   76 +++++-----
 21 files changed, 599 insertions(+), 279 deletions(-)
 create mode 100644 lib/ovs-rcu-liburcu.h
 create mode 100644 lib/ovs-rcu-norcu.h
 create mode 100644 lib/ovs-rcu.h

-- 
1.7.10.4




More information about the dev mailing list