zfs/include
Ned Bass 184c687387 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 <behlendorf1@llnl.gov>
Closes #304
2013-11-04 09:49:24 -08:00
..
fs Change spl-kmod-devel install path 2013-03-14 12:01:05 -07:00
linux Emulate illumos interface cv_timedwait_hires() 2013-11-04 09:49:24 -08:00
rpc Change spl-kmod-devel install path 2013-03-14 12:01:05 -07:00
sharefs Change spl-kmod-devel install path 2013-03-14 12:01:05 -07:00
sys Emulate illumos interface cv_timedwait_hires() 2013-11-04 09:49:24 -08:00
util Change spl-kmod-devel install path 2013-03-14 12:01:05 -07:00
vm Change spl-kmod-devel install path 2013-03-14 12:01:05 -07:00
Makefile.am Change spl-kmod-devel install path 2013-03-14 12:01:05 -07:00
spl-ctl.h Refresh links to web site 2013-03-04 19:09:34 -08:00
spl-debug.h Refresh links to web site 2013-03-04 19:09:34 -08:00
spl-device.h Refresh links to web site 2013-03-04 19:09:34 -08:00
spl-trace.h Refresh links to web site 2013-03-04 19:09:34 -08:00
splat-ctl.h Refresh links to web site 2013-03-04 19:09:34 -08:00
strings.h Refresh links to web site 2013-03-04 19:09:34 -08:00
unistd.h Refresh links to web site 2013-03-04 19:09:34 -08:00