Lines Matching defs:task
49 * Global system-wide dynamic task queue available for all consumers. This
345 taskq_free(taskq_ent_t *task)
347 taskq_remove(task);
348 if (refcount_release(&task->tqent_rc))
349 uma_zfree(taskq_zone, task);
376 * Tasks normally free themselves when run, but here the task
389 taskq_ent_t *task = arg;
393 task->tqent_func(task->tqent_arg);
394 taskq_free(task);
401 taskq_ent_t *task;
415 task = uma_zalloc(taskq_zone, mflag);
416 if (task == NULL)
418 task->tqent_func = func;
419 task->tqent_arg = arg;
420 task->tqent_type = TIMEOUT_TASK;
421 refcount_init(&task->tqent_rc, 1);
422 tqid = taskq_insert(task);
423 TIMEOUT_TASK_INIT(tq->tq_queue, &task->tqent_timeout_task, 0,
424 taskq_run, task);
426 taskqueue_enqueue_timeout(tq->tq_queue, &task->tqent_timeout_task,
434 taskq_ent_t *task;
443 * If TQ_FRONT is given, we want higher priority for this task, so it
448 task = uma_zalloc(taskq_zone, mflag);
449 if (task == NULL)
451 refcount_init(&task->tqent_rc, 1);
452 task->tqent_func = func;
453 task->tqent_arg = arg;
454 task->tqent_type = NORMAL_TASK;
455 tqid = taskq_insert(task);
456 TASK_INIT(&task->tqent_task, prio, taskq_run, task);
457 taskqueue_enqueue(tq->tq_queue, &task->tqent_task);
464 taskq_ent_t *task = arg;
468 task->tqent_func(task->tqent_arg);
473 taskq_ent_t *task)
476 * If TQ_FRONT is given, we want higher priority for this task, so it
479 task->tqent_task.ta_priority = !!(flags & TQ_FRONT);
480 task->tqent_func = func;
481 task->tqent_arg = arg;
482 taskqueue_enqueue(tq->tq_queue, &task->tqent_task);
486 taskq_init_ent(taskq_ent_t *task)
488 TASK_INIT(&task->tqent_task, 0, taskq_run_ent, task);
489 task->tqent_func = NULL;
490 task->tqent_arg = NULL;
491 task->tqent_id = 0;
492 task->tqent_type = NORMAL_TASK;
493 task->tqent_rc = 0;
497 taskq_empty_ent(taskq_ent_t *task)
499 return (task->tqent_task.ta_pending == 0);