Symbol: gtask
sys/dev/disk/isp/isp_freebsd.c
148
TASK_INIT(&fc->gtask, 1, isp_gdt_task, fc);
sys/dev/disk/isp/isp_freebsd.c
4030
taskqueue_enqueue(taskqueue_swi, &fc->gtask);
sys/dev/disk/isp/isp_freebsd.h
180
struct task gtask;
sys/kern/subr_gtaskqueue.c
169
struct gtask *gtask = &grouptask->gt_task;
sys/kern/subr_gtaskqueue.c
173
gtask_dump(gtask);
sys/kern/subr_gtaskqueue.c
178
gtask->ta_flags |= TASK_NOENQUEUE;
sys/kern/subr_gtaskqueue.c
179
gtaskqueue_drain_locked(queue, gtask);
sys/kern/subr_gtaskqueue.c
187
struct gtask *gtask = &grouptask->gt_task;
sys/kern/subr_gtaskqueue.c
191
gtask_dump(gtask);
sys/kern/subr_gtaskqueue.c
196
gtask->ta_flags &= ~TASK_NOENQUEUE;
sys/kern/subr_gtaskqueue.c
201
grouptaskqueue_enqueue(struct gtaskqueue *queue, struct gtask *gtask)
sys/kern/subr_gtaskqueue.c
205
gtask_dump(gtask);
sys/kern/subr_gtaskqueue.c
210
if (gtask->ta_flags & TASK_ENQUEUED) {
sys/kern/subr_gtaskqueue.c
214
if (gtask->ta_flags & TASK_NOENQUEUE) {
sys/kern/subr_gtaskqueue.c
218
STAILQ_INSERT_TAIL(&queue->tq_queue, gtask, ta_link);
sys/kern/subr_gtaskqueue.c
219
gtask->ta_flags |= TASK_ENQUEUED;
sys/kern/subr_gtaskqueue.c
239
struct gtask t_barrier;
sys/kern/subr_gtaskqueue.c
321
struct gtask *gtask;
sys/kern/subr_gtaskqueue.c
335
while ((gtask = STAILQ_FIRST(&queue->tq_queue)) != NULL) {
sys/kern/subr_gtaskqueue.c
337
gtask->ta_flags &= ~TASK_ENQUEUED;
sys/kern/subr_gtaskqueue.c
338
tb.tb_running = gtask;
sys/kern/subr_gtaskqueue.c
342
KASSERT(gtask->ta_func != NULL, ("task->ta_func is NULL"));
sys/kern/subr_gtaskqueue.c
344
if (!in_net_epoch && TASK_IS_NET(gtask)) {
sys/kern/subr_gtaskqueue.c
347
} else if (in_net_epoch && !TASK_IS_NET(gtask)) {
sys/kern/subr_gtaskqueue.c
352
gtask->ta_func(gtask->ta_context);
sys/kern/subr_gtaskqueue.c
355
wakeup(gtask);
sys/kern/subr_gtaskqueue.c
365
task_is_running(struct gtaskqueue *queue, struct gtask *gtask)
sys/kern/subr_gtaskqueue.c
371
if (tb->tb_running == gtask)
sys/kern/subr_gtaskqueue.c
378
gtaskqueue_cancel_locked(struct gtaskqueue *queue, struct gtask *gtask)
sys/kern/subr_gtaskqueue.c
381
if (gtask->ta_flags & TASK_ENQUEUED)
sys/kern/subr_gtaskqueue.c
382
STAILQ_REMOVE(&queue->tq_queue, gtask, gtask, ta_link);
sys/kern/subr_gtaskqueue.c
383
gtask->ta_flags &= ~TASK_ENQUEUED;
sys/kern/subr_gtaskqueue.c
384
return (task_is_running(queue, gtask) ? EBUSY : 0);
sys/kern/subr_gtaskqueue.c
388
gtaskqueue_cancel(struct gtaskqueue *queue, struct gtask *gtask)
sys/kern/subr_gtaskqueue.c
393
error = gtaskqueue_cancel_locked(queue, gtask);
sys/kern/subr_gtaskqueue.c
400
gtaskqueue_drain_locked(struct gtaskqueue *queue, struct gtask *gtask)
sys/kern/subr_gtaskqueue.c
402
while ((gtask->ta_flags & TASK_ENQUEUED) || task_is_running(queue, gtask))
sys/kern/subr_gtaskqueue.c
403
TQ_SLEEP(queue, gtask, "gtq_drain");
sys/kern/subr_gtaskqueue.c
407
gtaskqueue_drain(struct gtaskqueue *queue, struct gtask *gtask)
sys/kern/subr_gtaskqueue.c
410
gtaskqueue_drain_locked(queue, gtask);
sys/kern/subr_gtaskqueue.c
48
static int task_is_running(struct gtaskqueue *queue, struct gtask *gtask);
sys/kern/subr_gtaskqueue.c
49
static void gtaskqueue_drain_locked(struct gtaskqueue *queue, struct gtask *gtask);
sys/kern/subr_gtaskqueue.c
54
struct gtask *tb_running;
sys/kern/subr_gtaskqueue.c
581
struct gtask bt_task;
sys/kern/subr_gtaskqueue.c
62
STAILQ_HEAD(, gtask) tq_queue;
sys/kern/subr_gtaskqueue.c
644
taskqgroup_attach(struct taskqgroup *qgroup, struct grouptask *gtask,
sys/kern/subr_gtaskqueue.c
652
gtask->gt_uniq = uniq;
sys/kern/subr_gtaskqueue.c
653
ksnprintf(gtask->gt_name, GROUPTASK_NAMELEN, "%s", name ? name : "grouptask");
sys/kern/subr_gtaskqueue.c
654
gtask->gt_dev = dev;
sys/kern/subr_gtaskqueue.c
655
gtask->gt_irq = irq;
sys/kern/subr_gtaskqueue.c
656
gtask->gt_cpu = -1;
sys/kern/subr_gtaskqueue.c
660
LIST_INSERT_HEAD(&qgroup->tqg_queue[qid].tgc_tasks, gtask, gt_list);
sys/kern/subr_gtaskqueue.c
661
gtask->gt_taskqueue = qgroup->tqg_queue[qid].tgc_taskq;
sys/kern/subr_gtaskqueue.c
664
gtask->gt_cpu = cpu;
sys/kern/subr_gtaskqueue.c
677
__func__, gtask->gt_name, error);
sys/kern/subr_gtaskqueue.c
684
taskqgroup_attach_cpu(struct taskqgroup *qgroup, struct grouptask *gtask,
sys/kern/subr_gtaskqueue.c
689
gtask->gt_uniq = uniq;
sys/kern/subr_gtaskqueue.c
690
ksnprintf(gtask->gt_name, GROUPTASK_NAMELEN, "%s", name ? name : "grouptask");
sys/kern/subr_gtaskqueue.c
691
gtask->gt_dev = dev;
sys/kern/subr_gtaskqueue.c
692
gtask->gt_irq = irq;
sys/kern/subr_gtaskqueue.c
693
gtask->gt_cpu = cpu;
sys/kern/subr_gtaskqueue.c
704
__func__, gtask->gt_name, cpu);
sys/kern/subr_gtaskqueue.c
708
LIST_INSERT_HEAD(&qgroup->tqg_queue[qid].tgc_tasks, gtask, gt_list);
sys/kern/subr_gtaskqueue.c
709
gtask->gt_taskqueue = qgroup->tqg_queue[qid].tgc_taskq;
sys/kern/subr_gtaskqueue.c
725
__func__, gtask->gt_name, error);
sys/kern/subr_gtaskqueue.c
732
taskqgroup_detach(struct taskqgroup *qgroup, struct grouptask *gtask)
sys/kern/subr_gtaskqueue.c
736
grouptask_block(gtask);
sys/kern/subr_gtaskqueue.c
739
if (qgroup->tqg_queue[i].tgc_taskq == gtask->gt_taskqueue)
sys/kern/subr_gtaskqueue.c
742
panic("%s: task %s not in group", __func__, gtask->gt_name);
sys/kern/subr_gtaskqueue.c
744
LIST_REMOVE(gtask, gt_list);
sys/kern/subr_gtaskqueue.c
746
gtask->gt_taskqueue = NULL;
sys/kern/subr_gtaskqueue.c
747
gtask->gt_task.ta_flags &= ~TASK_NOENQUEUE;
sys/kern/subr_gtaskqueue.c
753
struct taskq_bind_task *gtask;
sys/kern/subr_gtaskqueue.c
755
gtask = ctx;
sys/kern/subr_gtaskqueue.c
756
lwkt_migratecpu(gtask->bt_cpuid);
sys/kern/subr_gtaskqueue.c
757
kfree(gtask, M_DEVBUF);
sys/kern/subr_gtaskqueue.c
763
struct taskq_bind_task *gtask;
sys/kern/subr_gtaskqueue.c
774
gtask = kmalloc(sizeof(*gtask), M_DEVBUF, M_WAITOK);
sys/kern/subr_gtaskqueue.c
775
GTASK_INIT(&gtask->bt_task, 0, 0, taskqgroup_binder, gtask);
sys/kern/subr_gtaskqueue.c
776
gtask->bt_cpuid = qgroup->tqg_queue[i].tgc_cpu;
sys/kern/subr_gtaskqueue.c
778
&gtask->bt_task);
sys/kern/subr_gtaskqueue.c
92
gtask_dump(struct gtask *gtask)
sys/kern/subr_gtaskqueue.c
96
gtask, gtask->ta_flags, gtask->ta_priority,
sys/kern/subr_gtaskqueue.c
97
gtask->ta_func, gtask->ta_context);
sys/sys/gtaskqueue.h
101
#define GTASK_INIT(gtask, flags, priority, func, context) do { \
sys/sys/gtaskqueue.h
102
(gtask)->ta_flags = (flags); \
sys/sys/gtaskqueue.h
103
(gtask)->ta_priority = (priority); \
sys/sys/gtaskqueue.h
104
(gtask)->ta_func = (func); \
sys/sys/gtaskqueue.h
105
(gtask)->ta_context = (context); \
sys/sys/gtaskqueue.h
108
#define GROUPTASK_INIT(gtask, priority, func, context) \
sys/sys/gtaskqueue.h
109
GTASK_INIT(&(gtask)->gt_task, 0, priority, func, context)
sys/sys/gtaskqueue.h
111
#define GROUPTASK_ENQUEUE(gtask) \
sys/sys/gtaskqueue.h
112
grouptaskqueue_enqueue((gtask)->gt_taskqueue, &(gtask)->gt_task)
sys/sys/gtaskqueue.h
55
STAILQ_ENTRY(gtask) ta_link; /* (q) link for queue */
sys/sys/gtaskqueue.h
69
struct gtask gt_task;
sys/sys/gtaskqueue.h
82
int gtaskqueue_cancel(struct gtaskqueue *queue, struct gtask *gtask);
sys/sys/gtaskqueue.h
83
void gtaskqueue_drain(struct gtaskqueue *queue, struct gtask *task);
sys/sys/gtaskqueue.h
88
int grouptaskqueue_enqueue(struct gtaskqueue *queue, struct gtask *task);
sys/sys/gtaskqueue.h
95
void taskqgroup_detach(struct taskqgroup *qgroup, struct grouptask *gtask);