atomic_t *count;
int order[SPLAT_TASKQ_ORDER_MAX];
unsigned int depth;
- unsigned long expire;
+ clock_t expire;
taskq_t *tq;
taskq_ent_t *tqe;
spinlock_t lock;
spin_lock(&tq_arg->lock);
tq_arg->order[tq_arg->flag] = tq_id->id;
tq_arg->flag++;
+ spin_unlock(&tq_arg->lock);
+
splat_vprint(tq_arg->file, tq_arg->name,
"Taskqid %d complete for taskq '%s'\n",
tq_id->id, tq_arg->name);
- spin_unlock(&tq_arg->lock);
}
static int
splat_taskq_arg_t *tq_arg = (splat_taskq_arg_t *)arg;
ASSERT(tq_arg);
- if (ddi_get_lbolt() >= tq_arg->expire)
+ if (ddi_time_after_eq(ddi_get_lbolt(), tq_arg->expire))
atomic_inc(tq_arg->count);
kmem_free(tq_arg, sizeof(splat_taskq_arg_t));
splat_taskq_arg_t *tq_arg = (splat_taskq_arg_t *)arg;
uint8_t rnd;
- if (ddi_get_lbolt() >= tq_arg->expire)
+ if (ddi_time_after_eq(ddi_get_lbolt(), tq_arg->expire))
atomic_inc(tq_arg->count);
/* Randomly sleep to further perturb the system */
int canceled = 0;
int completed = 0;
int blocked = 0;
- unsigned long start, cancel;
+ clock_t start, cancel;
tqas = vmalloc(sizeof(*tqas) * nr_tasks);
if (tqas == NULL)
start = ddi_get_lbolt();
i = 0;
- while (ddi_get_lbolt() < start + 5 * HZ) {
+ while (ddi_time_before(ddi_get_lbolt(), start + 5 * HZ)) {
taskqid_t id;
uint32_t rnd;