svn commit: r247844 - vendor-sys/illumos/dist/uts/common/fs/zfs vendor-sys/illumos/dist/uts/common/fs/zfs/sys vendor/illumos/dist/lib/libzpool/common vendor/illumos/dist/lib/libzpool/common/sys
Martin Matuska
mm at FreeBSD.org
Tue Mar 5 15:33:30 UTC 2013
Author: mm
Date: Tue Mar 5 15:33:28 2013
New Revision: 247844
URL: http://svnweb.freebsd.org/changeset/base/247844
Log:
Update vendor/illumos/dist and vendor-sys/illumos/dist
to illumos-gate 13975:ef6409bc370f
Illumos ZFS issues:
3582 zfs_delay() should support a variable resolution
3584 DTrace sdt probes for ZFS txg states
Modified:
vendor/illumos/dist/lib/libzpool/common/kernel.c
vendor/illumos/dist/lib/libzpool/common/sys/zfs_context.h
Changes in other areas also in this revision:
Modified:
vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_dir.c
vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_pool.c
vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_scan.c
vendor-sys/illumos/dist/uts/common/fs/zfs/spa_misc.c
vendor-sys/illumos/dist/uts/common/fs/zfs/sys/txg.h
vendor-sys/illumos/dist/uts/common/fs/zfs/sys/txg_impl.h
vendor-sys/illumos/dist/uts/common/fs/zfs/txg.c
Modified: vendor/illumos/dist/lib/libzpool/common/kernel.c
==============================================================================
--- vendor/illumos/dist/lib/libzpool/common/kernel.c Tue Mar 5 14:08:36 2013 (r247843)
+++ vendor/illumos/dist/lib/libzpool/common/kernel.c Tue Mar 5 15:33:28 2013 (r247844)
@@ -329,6 +329,41 @@ top:
return (1);
}
+/*ARGSUSED*/
+clock_t
+cv_timedwait_hires(kcondvar_t *cv, kmutex_t *mp, hrtime_t tim, hrtime_t res,
+ int flag)
+{
+ int error;
+ timestruc_t ts;
+ hrtime_t delta;
+
+ ASSERT(flag == 0);
+
+top:
+ delta = tim - gethrtime();
+ if (delta <= 0)
+ return (-1);
+
+ ts.tv_sec = delta / NANOSEC;
+ ts.tv_nsec = delta % NANOSEC;
+
+ ASSERT(mutex_owner(mp) == curthread);
+ mp->m_owner = NULL;
+ error = cond_reltimedwait(cv, &mp->m_lock, &ts);
+ mp->m_owner = curthread;
+
+ if (error == ETIME)
+ return (-1);
+
+ if (error == EINTR)
+ goto top;
+
+ ASSERT(error == 0);
+
+ return (1);
+}
+
void
cv_signal(kcondvar_t *cv)
{
Modified: vendor/illumos/dist/lib/libzpool/common/sys/zfs_context.h
==============================================================================
--- vendor/illumos/dist/lib/libzpool/common/sys/zfs_context.h Tue Mar 5 14:08:36 2013 (r247843)
+++ vendor/illumos/dist/lib/libzpool/common/sys/zfs_context.h Tue Mar 5 15:33:28 2013 (r247844)
@@ -254,6 +254,8 @@ extern void cv_init(kcondvar_t *cv, char
extern void cv_destroy(kcondvar_t *cv);
extern void cv_wait(kcondvar_t *cv, kmutex_t *mp);
extern clock_t cv_timedwait(kcondvar_t *cv, kmutex_t *mp, clock_t abstime);
+extern clock_t cv_timedwait_hires(kcondvar_t *cvp, kmutex_t *mp, hrtime_t tim,
+ hrtime_t res, int flag);
extern void cv_signal(kcondvar_t *cv);
extern void cv_broadcast(kcondvar_t *cv);
More information about the svn-src-all
mailing list