NFS_ASYNC_QUEUE
mdb_printf("active threads: %u\n", mi->mi_threads[NFS_ASYNC_QUEUE]);
mdb_printf("active threads: %u\n", mi->mi_threads[NFS_ASYNC_QUEUE]);
mi->mi_max_threads, mi->mi_threads[NFS_ASYNC_QUEUE]);
mi->mi_async_curr[NFS_ASYNC_QUEUE] =
cv_init(&mi->mi_async_work_cv[NFS_ASYNC_QUEUE], NULL, CV_DEFAULT, NULL);
if (mi->mi_threads[NFS_ASYNC_QUEUE] <
mi->mi_threads[NFS_ASYNC_QUEUE]++;
nfs_async_common_start(vfsp, NFS_ASYNC_QUEUE);
if (async_queue == NFS_ASYNC_QUEUE) {
async_work_cv = &mi->mi_async_work_cv[NFS_ASYNC_QUEUE];
if (mi->mi_threads[NFS_ASYNC_QUEUE] == 0 &&
while (mi->mi_threads[NFS_ASYNC_QUEUE] != 0 ||
while (mi->mi_threads[NFS_ASYNC_QUEUE] != 0 ||
rval = (mi->mi_threads[NFS_ASYNC_QUEUE] != 0 ||
ASSERT(mi->mi_threads[NFS_ASYNC_QUEUE] == 0 &&
cv_destroy(&mi->mi_async_work_cv[NFS_ASYNC_QUEUE]);
mi->mi_async_curr[NFS_ASYNC_QUEUE] =
cv_init(&mi->mi_async_work_cv[NFS_ASYNC_QUEUE], NULL, CV_DEFAULT, NULL);
if (CV_HAS_WAITERS(&work_cv[NFS_ASYNC_QUEUE])) \
cv_signal(&work_cv[NFS_ASYNC_QUEUE]); \
cv_broadcast(&work_cv[NFS_ASYNC_QUEUE]); \