[ovs-dev] [PATCH 2/2] timeval: Optionally enable cached timing at configure time.

Ethan Jackson ethan at nicira.com
Wed Oct 17 01:23:37 UTC 2012


Often when developing, it would be convenient to force OVS to
either enable or disable cached timing so that a feature can be
tested under both strategies.

Signed-off-by: Ethan Jackson <ethan at nicira.com>
---
 configure.ac      |  1 +
 lib/timeval.h     |  2 ++
 m4/openvswitch.m4 | 14 ++++++++++++++
 3 files changed, 17 insertions(+)

diff --git a/configure.ac b/configure.ac
index ef513aa..2b20f40 100644
--- a/configure.ac
+++ b/configure.ac
@@ -75,6 +75,7 @@ OVS_CHECK_XENSERVER_VERSION
 OVS_CHECK_GROFF
 OVS_CHECK_BRCOMPAT
 OVS_CHECK_GNU_MAKE
+OVS_CHECK_CACHE_TIME
 
 OVS_ENABLE_OPTION([-Wall])
 OVS_ENABLE_OPTION([-Wno-sign-compare])
diff --git a/lib/timeval.h b/lib/timeval.h
index cb5191c..0f7d15c 100644
--- a/lib/timeval.h
+++ b/lib/timeval.h
@@ -54,11 +54,13 @@ BUILD_ASSERT_DECL(TYPE_IS_SIGNED(time_t));
  *
  * Also false on systems (e.g. ESX) that don't support setting up timers based
  * on a monotonically increasing clock. */
+#ifndef CACHE_TIME
 #if defined ESX || (defined __x86_64__ && defined LINUX_DATAPATH)
 #define CACHE_TIME 0
 #else
 #define CACHE_TIME 1
 #endif
+#endif /* ifndef CACHE_TIME */
 
 void time_disable_restart(void);
 void time_enable_restart(void);
diff --git a/m4/openvswitch.m4 b/m4/openvswitch.m4
index dc99cd0..c5e2491 100644
--- a/m4/openvswitch.m4
+++ b/m4/openvswitch.m4
@@ -46,6 +46,20 @@ AC_DEFUN([OVS_CHECK_NDEBUG],
      [ndebug=false])
    AM_CONDITIONAL([NDEBUG], [test x$ndebug = xtrue])])
 
+dnl Checks for --enable-cache-time and defines CACHE_TIME if it is specified.
+AC_DEFUN([OVS_CHECK_CACHE_TIME],
+  [AC_ARG_ENABLE(
+     [cache-time],
+     [AC_HELP_STRING([--enable-cache-time],
+                     [Enable time system call caching])],
+     [case "${enableval}" in
+        (yes) cache_time=1;;
+        (no)  cache_time=0;;
+        (*) AC_MSG_ERROR([bad value ${enableval} for --enable-cache-time]) ;;
+      esac
+      AC_DEFINE_UNQUOTED([CACHE_TIME], [$cache_time],
+          [Define to 1 if cached timing is enabled.])])])
+
 dnl Checks for ESX.
 AC_DEFUN([OVS_CHECK_ESX],
   [AC_CHECK_HEADER([vmware.h],
-- 
1.7.12.3




More information about the dev mailing list