diff --git a/include/sys/time.h b/include/sys/time.h index 6124a841d3..297e6ff749 100644 --- a/include/sys/time.h +++ b/include/sys/time.h @@ -15,14 +15,17 @@ extern "C" { #include extern unsigned long long monotonic_clock(void); +extern void __gethrestime(timestruc_t *); -#define TIME32_MAX INT32_MAX -#define TIME32_MIN INT32_MIN +#define gethrestime(ts) __gethrestime(ts) -#define SEC 1 -#define MILLISEC 1000 -#define MICROSEC 1000000 -#define NANOSEC 1000000000 +#define TIME32_MAX INT32_MAX +#define TIME32_MIN INT32_MIN + +#define SEC 1 +#define MILLISEC 1000 +#define MICROSEC 1000000 +#define NANOSEC 1000000000 #define hz \ ({ \ @@ -30,7 +33,14 @@ extern unsigned long long monotonic_clock(void); HZ; \ }) -#define gethrestime(ts) getnstimeofday((ts)) +static __inline__ time_t +gethrestime_sec(void) +{ + timestruc_t now; + + __gethrestime(&now); + return now.tv_sec; +} static __inline__ hrtime_t gethrtime(void) { @@ -44,15 +54,6 @@ gethrtime(void) { return monotonic_clock(); } -static __inline__ time_t -gethrestime_sec(void) -{ - timestruc_t now; - - gethrestime(&now); - return (now.tv_sec); -} - #ifdef __cplusplus } diff --git a/modules/spl/Makefile.in b/modules/spl/Makefile.in index 1d152e61b3..78ebdfa0cb 100644 --- a/modules/spl/Makefile.in +++ b/modules/spl/Makefile.in @@ -15,6 +15,7 @@ spl-objs += spl-taskq.o spl-objs += spl-rwlock.o spl-objs += spl-vnode.o spl-objs += spl-err.o +spl-objs += spl-time.o spl-objs += spl-generic.o splmodule := spl.ko diff --git a/modules/spl/spl-time.c b/modules/spl/spl-time.c new file mode 100644 index 0000000000..f0ec4c5a08 --- /dev/null +++ b/modules/spl/spl-time.c @@ -0,0 +1,11 @@ +#include +#include +#include "config.h" + +void +__gethrestime(timestruc_t *ts) +{ + getnstimeofday((struct timespec *)ts); +} + +EXPORT_SYMBOL(__gethrestime);