Whamcloud - gitweb
LU-9780 tests: Testing Round-Robin allocation
[fs/lustre-release.git] / libcfs / include / libcfs / libcfs_time.h
index 94d6862..e9ce49f 100644 (file)
@@ -1,6 +1,4 @@
-/* -*- mode: c; c-basic-offset: 8; indent-tabs-mode: nil; -*-
- * vim:expandtab:shiftwidth=8:tabstop=8:
- *
+/*
  * GPL HEADER START
  *
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * You should have received a copy of the GNU General Public License
  * version 2 along with this program; If not, see
- * http://www.sun.com/software/products/lustre/docs/GPLv2.pdf
- *
- * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
+ * http://www.gnu.org/licenses/gpl-2.0.html
  *
  * GPL HEADER END
  */
 /*
- * Copyright  2008 Sun Microsystems, Inc. All rights reserved
+ * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
  * Use is subject to license terms.
  */
 /*
 
 #ifndef __LIBCFS_TIME_H__
 #define __LIBCFS_TIME_H__
+
+#include <libcfs/linux/linux-time.h>
+
 /*
  * generic time manipulation functions.
  */
 
 static inline cfs_time_t cfs_time_add(cfs_time_t t, cfs_duration_t d)
 {
-        return t + d;
+        return (cfs_time_t)(t + d);
 }
 
 static inline cfs_duration_t cfs_time_sub(cfs_time_t t1, cfs_time_t t2)
 {
-        return t1 - t2;
-}
-
-static inline int cfs_time_before(cfs_time_t t1, cfs_time_t t2)
-{
-        return time_before(t1, t2);
-}
-
-static inline int cfs_time_beforeq(cfs_time_t t1, cfs_time_t t2)
-{
-        return time_before_eq(t1, t2);
+        return (cfs_time_t)(t1 - t2);
 }
 
 static inline int cfs_time_after(cfs_time_t t1, cfs_time_t t2)
@@ -75,70 +62,11 @@ static inline int cfs_time_aftereq(cfs_time_t t1, cfs_time_t t2)
         return cfs_time_beforeq(t2, t1);
 }
 
-
 static inline cfs_time_t cfs_time_shift(int seconds)
 {
         return cfs_time_add(cfs_time_current(), cfs_time_seconds(seconds));
 }
 
-static inline long cfs_timeval_sub(struct timeval *large, struct timeval *small,
-                                   struct timeval *result)
-{
-        long r = (long) (
-                (large->tv_sec - small->tv_sec) * ONE_MILLION +
-                (large->tv_usec - small->tv_usec));
-        if (result != NULL) {
-                result->tv_usec = r % ONE_MILLION;
-                result->tv_sec = r / ONE_MILLION;
-        }
-        return r;
-}
-
-static inline void cfs_slow_warning(cfs_time_t now, int seconds, char *msg)
-{
-        if (cfs_time_after(cfs_time_current(),
-                           cfs_time_add(now, cfs_time_seconds(15))))
-                CERROR("slow %s "CFS_TIME_T" sec\n", msg,
-                       cfs_duration_sec(cfs_time_sub(cfs_time_current(),now)));
-}
-
-#define CFS_RATELIMIT(seconds)                                  \
-({                                                              \
-        /*                                                      \
-         * XXX nikita: non-portable initializer                 \
-         */                                                     \
-        static time_t __next_message = 0;                       \
-        int result;                                             \
-                                                                \
-        if (cfs_time_after(cfs_time_current(), __next_message)) \
-                result = 1;                                     \
-        else {                                                  \
-                __next_message = cfs_time_shift(seconds);       \
-                result = 0;                                     \
-        }                                                       \
-        result;                                                 \
-})
-
-/*
- * helper function similar to do_gettimeofday() of Linux kernel
- */
-static inline void cfs_fs_timeval(struct timeval *tv)
-{
-        cfs_fs_time_t time;
-
-        cfs_fs_time_current(&time);
-        cfs_fs_time_usec(&time, tv);
-}
-
-/*
- * return valid time-out based on user supplied one. Currently we only check
- * that time-out is not shorted than allowed.
- */
-static inline cfs_duration_t cfs_timeout_cap(cfs_duration_t timeout)
-{
-        if (timeout < CFS_TICK)
-                timeout = CFS_TICK;
-        return timeout;
-}
+#define CFS_TICK       1
 
 #endif