diff options
author | Ned Bass <[email protected]> | 2013-11-01 13:37:58 -0700 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2013-11-04 09:49:24 -0800 |
commit | 184c6873874c350bfb0b74f9e08ec8d89750d603 (patch) | |
tree | 504643ad1332fce93a920b7e6bbb1b30cd216dbd /include/sys/Makefile.am | |
parent | 0f4b9a58063d95b4da26c64dab4054d6272e0973 (diff) |
Emulate illumos interface cv_timedwait_hires()
Needed for Illumos #3582. This interface is supposed to support
a variable-resolution timeout with nanosecond granularity. This
implementation rounds up to microsecond resolution, as nanosecond-
precision timing is rarely needed for real-world performance
tuning and may incur unnecessary busy-waiting. usleep_range() is
used if available, otherwise udelay() or msleep() are used
depending on the length of the delay interval.
Add flags from sys/callo.h as these are used to control the behavior of
cv_timedwait_hires(). Specifically,
CALLOUT_FLAG_ABSOLUTE
Normally, the expiration passed to the timeout API functions is
an expiration interval. If this flag is specified, then it is
interpreted as the expiration time itself.
CALLOUT_FLAG_ROUNDUP
Roundup the expiration time to the next resolution boundary. If this
flag is not specified, the expiration time is rounded down.
References:
https://www.illumos.org/issues/3582
illumos/illumos-gate@0689f76
Signed-off-by: Brian Behlendorf <[email protected]>
Closes #304
Diffstat (limited to 'include/sys/Makefile.am')
-rw-r--r-- | include/sys/Makefile.am | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/sys/Makefile.am b/include/sys/Makefile.am index 0e86a2894..9d8263657 100644 --- a/include/sys/Makefile.am +++ b/include/sys/Makefile.am @@ -13,6 +13,7 @@ KERNEL_H = \ $(top_srcdir)/include/sys/buf.h \ $(top_srcdir)/include/sys/byteorder.h \ $(top_srcdir)/include/sys/callb.h \ + $(top_srcdir)/include/sys/callo.h \ $(top_srcdir)/include/sys/cmn_err.h \ $(top_srcdir)/include/sys/compress.h \ $(top_srcdir)/include/sys/condvar.h \ |