[ovs-dev] [threads v2 00/13] make some important libraries thread-safe

Ben Pfaff blp at nicira.com
Fri Jul 12 21:54:27 UTC 2013


Many patches have been committed since v1.  Of the remaining patches,
I think only "vlog: Make thread-safe." has changed, and only to fix
a PRINTF_FORMAT annotation.

Ben Pfaff (13):
  stress: Remove essentially unused library.
  netlink-socket: Simplify use of transactions and dumps.
  netlink-socket: Make thread-safe.
  poll-loop: Simplify and speed up polling.
  poll-loop: Make poll loop data structures per-thread.
  latch: New module for a thread-safe, signal-safe, pollable doorbell.
  system-stats: Move into separate thread.
  byteq: Make the queue size variable instead of fixed at BYTEQ_SIZE
    bytes.
  util: New macros ROUND_UP_POW2, ROUND_DOWN_POW2.
  async-append: New library to allow asynchronous appending to a log
    file.
  vlog: Use async I/O.
  vlog: Make VLOG_ONCE thread-safe.
  vlog: Make thread-safe.

 configure.ac               |    1 +
 lib/async-append-aio.c     |  178 +++++++++++++++++++++++++++++++++
 lib/async-append-sync.c    |   62 ++++++++++++
 lib/async-append.h         |   67 +++++++++++++
 lib/automake.mk            |   17 ++--
 lib/byteq.c                |   26 +++--
 lib/byteq.h                |   10 +-
 lib/dpif-linux.c           |   20 ++---
 lib/jsonrpc.c              |    5 +-
 lib/latch.c                |   72 ++++++++++++++
 lib/latch.h                |   37 +++++++
 lib/netdev-linux.c         |   18 +---
 lib/netlink-socket.c       |  233 +++++++++++++++++++++-----------------------
 lib/netlink-socket.h       |   15 +++-
 lib/poll-loop.c            |  154 ++++++++++++++---------------
 lib/poll-loop.h            |   20 ++--
 lib/route-table.c          |   26 +-----
 lib/stream-fd.c            |   17 ---
 lib/stress-unixctl.man     |   72 --------------
 lib/stress.c               |  219 -----------------------------------------
 lib/stress.h               |   94 ------------------
 lib/util.h                 |   19 ++++
 lib/vlog.c                 |  180 +++++++++++++++++++++-------------
 lib/vlog.h                 |   23 +++--
 m4/openvswitch.m4          |    5 +
 manpages.mk                |    4 -
 ovsdb/ovsdb-server.1.in    |    1 -
 ovsdb/ovsdb-server.c       |    2 -
 tests/library.at           |    2 +
 tests/test-util.c          |   65 ++++++++++++
 vswitchd/bridge.c          |    3 +
 vswitchd/ovs-vswitchd.8.in |    1 -
 vswitchd/ovs-vswitchd.c    |    2 -
 vswitchd/system-stats.c    |  105 ++++++++++++++++----
 34 files changed, 974 insertions(+), 801 deletions(-)
 create mode 100644 lib/async-append-aio.c
 create mode 100644 lib/async-append-sync.c
 create mode 100644 lib/async-append.h
 create mode 100644 lib/latch.c
 create mode 100644 lib/latch.h
 delete mode 100644 lib/stress-unixctl.man
 delete mode 100644 lib/stress.c
 delete mode 100644 lib/stress.h

-- 
1.7.2.5




More information about the dev mailing list