From 3d7cab5fe02a7c7181d1479f3b41f4b6d3fa0264 Mon Sep 17 00:00:00 2001 From: Ethan Jackson Date: Tue, 16 Oct 2012 18:16:16 -0700 Subject: [PATCH] timeval: Optionally enable cached timing at configure time. 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 --- configure.ac | 1 + lib/timeval.h | 2 ++ m4/openvswitch.m4 | 16 ++++++++++++++++ 3 files changed, 19 insertions(+) diff --git a/configure.ac b/configure.ac index ef513aa3..2b20f40a 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 cb5191c5..0f7d15c6 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 dc99cd04..74690115 100644 --- a/m4/openvswitch.m4 +++ b/m4/openvswitch.m4 @@ -46,6 +46,22 @@ 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], + [Override time caching default (for testing only)])], + [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 to enable time caching, to 0 to disable time caching, or + leave undefined to use the default (as one should + ordinarily do).])])]) + dnl Checks for ESX. AC_DEFUN([OVS_CHECK_ESX], [AC_CHECK_HEADER([vmware.h], -- 2.30.2