From 29d204effc1b5301c0312b45744d1730706024a5 Mon Sep 17 00:00:00 2001 From: Jarno Rajahalme Date: Wed, 4 Jun 2014 09:15:48 -0700 Subject: [PATCH] INSTALL: Note about compiler atomics support. OVS is slow when compiled with pthreads atomics. Add a generic note in INSTALL, with a reference to lib/ovs-atomic.h, where a new comment provides additional detail. Signed-off-by: Jarno Rajahalme --- INSTALL | 4 ++++ lib/ovs-atomic.h | 3 +++ 2 files changed, 7 insertions(+) diff --git a/INSTALL b/INSTALL index 5c869b26913..f5e670f27da 100644 --- a/INSTALL +++ b/INSTALL @@ -28,6 +28,10 @@ you will need the following software: analysis and thread-safety checks. For Ubuntu, there are nightly built packages available on clang's website. + While OVS may be compatible with other compilers, optimal + support for atomic operations may be missing, making OVS very + slow (see lib/ovs-atomic.h). + - libssl, from OpenSSL, is optional but recommended if you plan to connect the Open vSwitch to an OpenFlow controller. libssl is required to establish confidentiality and authenticity in the diff --git a/lib/ovs-atomic.h b/lib/ovs-atomic.h index c21b7eefe7e..24528464769 100644 --- a/lib/ovs-atomic.h +++ b/lib/ovs-atomic.h @@ -257,6 +257,9 @@ #elif HAVE_GCC4_ATOMICS #include "ovs-atomic-gcc4+.h" #else + /* ovs-atomic-pthreads implementation is provided for portability. + * It might be too slow for real use because Open vSwitch is + * optimized for platforms where real atomic ops are available. */ #include "ovs-atomic-pthreads.h" #endif #undef IN_OVS_ATOMIC_H