[ovs-git] Open vSwitch: classifier: Use fat_rwlock instead of ovs_rwlock. (branch-2.1)

dev at openvswitch.org dev at openvswitch.org
Tue Jan 14 22:55:44 UTC 2014


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Open vSwitch".

The branch, branch-2.1 has been updated
       via  cd7b9405a452a486f5b7d16849aa23805984c104 (commit)
       via  3a5a7d79989cdad38372257ef6399f2d4e47cbec (commit)
       via  9f9f52aec9c41975b3234e1b35fb80bf7b9ef90c (commit)
      from  c9bf1498fc3cf8b29cae95e7036e7df317cdfa7e (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit cd7b9405a452a486f5b7d16849aa23805984c104
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=cd7b9405a452a486f5b7d16849aa23805984c104
Author: Ben Pfaff <blp at nicira.com>
		
classifier: Use fat_rwlock instead of ovs_rwlock.
		
Jarno Rajahalme reported up to 40% performance gain on netperf TCP_CRR with
an earlier version of this patch in combination with a kernel NUMA patch,
together with a reduction in variance:
    http://openvswitch.org/pipermail/dev/2014-January/035867.html

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Ethan Jackson <ethan at nicira.com>


commit 3a5a7d79989cdad38372257ef6399f2d4e47cbec
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=3a5a7d79989cdad38372257ef6399f2d4e47cbec
Author: Ben Pfaff <blp at nicira.com>
		
fat-rwlock: New big but fast synchronization primitive.
		
This implements a reader-writer lock that uses a lot of memory (128 to 192
bytes per thread that takes the lock) but avoids cache line bouncing when
taking the read side.  Thus, a fat_rwlock is a good choice for rwlocks
taken frequently by readers.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Ethan Jackson <ethan at nicira.com>


commit 9f9f52aec9c41975b3234e1b35fb80bf7b9ef90c
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=9f9f52aec9c41975b3234e1b35fb80bf7b9ef90c
Author: Ben Pfaff <blp at nicira.com>
		
ovs-thread: Add new support for thread-specific data.
		
A couple of times I've wanted to create a dynamic data structure that has
thread-specific data, but I've not been able to do that because
PTHREAD_KEYS_MAX is so low (POSIX says at least 128, glibc is only a little
bigger at 1024).  This commit introduces a new form of thread-specific data
that supports a large number of items.

Signed-off-by: Ben Pfaff <blp at nicira.com>
Acked-by: Ethan Jackson <ethan at nicira.com>


-----------------------------------------------------------------------

Summary of changes:
 lib/automake.mk         |    4 +-
 lib/classifier.c        |    4 +-
 lib/classifier.h        |    3 +-
 lib/dpif-netdev.c       |   16 +--
 lib/fat-rwlock.c        |  275 +++++++++++++++++++++++++++++++++++++++++++++++
 lib/fat-rwlock.h        |   49 +++++++++
 lib/ovs-thread.c        |  193 ++++++++++++++++++++++++++++++++-
 lib/ovs-thread.h        |   63 ++++++++++-
 ofproto/ofproto-dpif.c  |    8 +-
 ofproto/ofproto.c       |   72 ++++++-------
 tests/test-classifier.c |   28 ++---
 utilities/ovs-ofctl.c   |   16 +--
 12 files changed, 651 insertions(+), 80 deletions(-)
 create mode 100644 lib/fat-rwlock.c
 create mode 100644 lib/fat-rwlock.h


hooks/post-receive
-- 
Open vSwitch



More information about the git mailing list