Symbol: gtask
sys/compat/linuxkpi/common/src/linux_tasklet.c
117
GROUPTASK_INIT(&tw->gtask, 0, tasklet_handler, tw);
sys/compat/linuxkpi/common/src/linux_tasklet.c
119
taskqgroup_attach_cpu(qgroup_softirq, &tw->gtask,
sys/compat/linuxkpi/common/src/linux_tasklet.c
139
taskqgroup_detach(qgroup_softirq, &tw->gtask);
sys/compat/linuxkpi/common/src/linux_tasklet.c
204
GROUPTASK_ENQUEUE(&tw->gtask);
sys/compat/linuxkpi/common/src/linux_tasklet.c
54
struct grouptask gtask;
sys/dev/isp/isp_freebsd.c
146
TASK_INIT(&fc->gtask, 1, isp_gdt_task, fc);
sys/dev/isp/isp_freebsd.c
2031
taskqueue_enqueue(taskqueue_thread, &fc->gtask);
sys/dev/isp/isp_freebsd.h
219
struct task gtask;
sys/dev/wg/if_wg.c
255
#define GROUPTASK_DRAIN(gtask) \
sys/dev/wg/if_wg.c
256
gtaskqueue_drain((gtask)->gt_taskqueue, &(gtask)->gt_task)
sys/kern/subr_gtaskqueue.c
107
gtask_dump(struct gtask *gtask)
sys/kern/subr_gtaskqueue.c
110
gtask, gtask->ta_flags, gtask->ta_priority, gtask->ta_func, gtask->ta_context);
sys/kern/subr_gtaskqueue.c
191
struct gtask *gtask = &grouptask->gt_task;
sys/kern/subr_gtaskqueue.c
195
gtask_dump(gtask);
sys/kern/subr_gtaskqueue.c
200
gtask->ta_flags |= TASK_NOENQUEUE;
sys/kern/subr_gtaskqueue.c
201
gtaskqueue_drain_locked(queue, gtask);
sys/kern/subr_gtaskqueue.c
209
struct gtask *gtask = &grouptask->gt_task;
sys/kern/subr_gtaskqueue.c
213
gtask_dump(gtask);
sys/kern/subr_gtaskqueue.c
218
gtask->ta_flags &= ~TASK_NOENQUEUE;
sys/kern/subr_gtaskqueue.c
223
grouptaskqueue_enqueue(struct gtaskqueue *queue, struct gtask *gtask)
sys/kern/subr_gtaskqueue.c
227
gtask_dump(gtask);
sys/kern/subr_gtaskqueue.c
232
if (gtask->ta_flags & TASK_ENQUEUED) {
sys/kern/subr_gtaskqueue.c
236
if (gtask->ta_flags & TASK_NOENQUEUE) {
sys/kern/subr_gtaskqueue.c
240
STAILQ_INSERT_TAIL(&queue->tq_queue, gtask, ta_link);
sys/kern/subr_gtaskqueue.c
241
gtask->ta_flags |= TASK_ENQUEUED;
sys/kern/subr_gtaskqueue.c
261
struct gtask t_barrier;
sys/kern/subr_gtaskqueue.c
344
struct gtask *gtask;
sys/kern/subr_gtaskqueue.c
353
while ((gtask = STAILQ_FIRST(&queue->tq_queue)) != NULL) {
sys/kern/subr_gtaskqueue.c
355
gtask->ta_flags &= ~TASK_ENQUEUED;
sys/kern/subr_gtaskqueue.c
356
tb.tb_running = gtask;
sys/kern/subr_gtaskqueue.c
360
KASSERT(gtask->ta_func != NULL, ("task->ta_func is NULL"));
sys/kern/subr_gtaskqueue.c
361
if (TASK_IS_NET(gtask)) {
sys/kern/subr_gtaskqueue.c
368
gtask->ta_func(gtask->ta_context);
sys/kern/subr_gtaskqueue.c
375
wakeup(gtask);
sys/kern/subr_gtaskqueue.c
383
task_is_running(struct gtaskqueue *queue, struct gtask *gtask)
sys/kern/subr_gtaskqueue.c
389
if (tb->tb_running == gtask)
sys/kern/subr_gtaskqueue.c
396
gtaskqueue_cancel_locked(struct gtaskqueue *queue, struct gtask *gtask)
sys/kern/subr_gtaskqueue.c
399
if (gtask->ta_flags & TASK_ENQUEUED)
sys/kern/subr_gtaskqueue.c
400
STAILQ_REMOVE(&queue->tq_queue, gtask, gtask, ta_link);
sys/kern/subr_gtaskqueue.c
401
gtask->ta_flags &= ~TASK_ENQUEUED;
sys/kern/subr_gtaskqueue.c
402
return (task_is_running(queue, gtask) ? EBUSY : 0);
sys/kern/subr_gtaskqueue.c
406
gtaskqueue_cancel(struct gtaskqueue *queue, struct gtask *gtask)
sys/kern/subr_gtaskqueue.c
411
error = gtaskqueue_cancel_locked(queue, gtask);
sys/kern/subr_gtaskqueue.c
418
gtaskqueue_drain_locked(struct gtaskqueue *queue, struct gtask *gtask)
sys/kern/subr_gtaskqueue.c
420
while ((gtask->ta_flags & TASK_ENQUEUED) || task_is_running(queue, gtask))
sys/kern/subr_gtaskqueue.c
421
TQ_SLEEP(queue, gtask, "gtq_drain");
sys/kern/subr_gtaskqueue.c
425
gtaskqueue_drain(struct gtaskqueue *queue, struct gtask *gtask)
sys/kern/subr_gtaskqueue.c
432
gtaskqueue_drain_locked(queue, gtask);
sys/kern/subr_gtaskqueue.c
51
static int task_is_running(struct gtaskqueue *queue, struct gtask *gtask);
sys/kern/subr_gtaskqueue.c
52
static void gtaskqueue_drain_locked(struct gtaskqueue *queue, struct gtask *gtask);
sys/kern/subr_gtaskqueue.c
57
struct gtask *tb_running;
sys/kern/subr_gtaskqueue.c
608
struct gtask bt_task;
sys/kern/subr_gtaskqueue.c
65
STAILQ_HEAD(, gtask) tq_queue;
sys/kern/subr_gtaskqueue.c
670
taskqgroup_attach(struct taskqgroup *qgroup, struct grouptask *gtask,
sys/kern/subr_gtaskqueue.c
678
gtask->gt_uniq = uniq;
sys/kern/subr_gtaskqueue.c
679
snprintf(gtask->gt_name, GROUPTASK_NAMELEN, "%s", name ? name : "grouptask");
sys/kern/subr_gtaskqueue.c
680
gtask->gt_dev = dev;
sys/kern/subr_gtaskqueue.c
681
gtask->gt_irq = irq;
sys/kern/subr_gtaskqueue.c
682
gtask->gt_cpu = -1;
sys/kern/subr_gtaskqueue.c
686
LIST_INSERT_HEAD(&qgroup->tqg_queue[qid].tgc_tasks, gtask, gt_list);
sys/kern/subr_gtaskqueue.c
687
gtask->gt_taskqueue = qgroup->tqg_queue[qid].tgc_taskq;
sys/kern/subr_gtaskqueue.c
690
gtask->gt_cpu = cpu;
sys/kern/subr_gtaskqueue.c
695
__func__, gtask->gt_name, error);
sys/kern/subr_gtaskqueue.c
701
taskqgroup_attach_cpu(struct taskqgroup *qgroup, struct grouptask *gtask,
sys/kern/subr_gtaskqueue.c
706
gtask->gt_uniq = uniq;
sys/kern/subr_gtaskqueue.c
707
snprintf(gtask->gt_name, GROUPTASK_NAMELEN, "%s", name ? name : "grouptask");
sys/kern/subr_gtaskqueue.c
708
gtask->gt_dev = dev;
sys/kern/subr_gtaskqueue.c
709
gtask->gt_irq = irq;
sys/kern/subr_gtaskqueue.c
710
gtask->gt_cpu = cpu;
sys/kern/subr_gtaskqueue.c
719
printf("%s: qid not found for %s cpu=%d\n", __func__, gtask->gt_name, cpu);
sys/kern/subr_gtaskqueue.c
723
LIST_INSERT_HEAD(&qgroup->tqg_queue[qid].tgc_tasks, gtask, gt_list);
sys/kern/subr_gtaskqueue.c
724
gtask->gt_taskqueue = qgroup->tqg_queue[qid].tgc_taskq;
sys/kern/subr_gtaskqueue.c
732
__func__, gtask->gt_name, error);
sys/kern/subr_gtaskqueue.c
738
taskqgroup_detach(struct taskqgroup *qgroup, struct grouptask *gtask)
sys/kern/subr_gtaskqueue.c
742
grouptask_block(gtask);
sys/kern/subr_gtaskqueue.c
745
if (qgroup->tqg_queue[i].tgc_taskq == gtask->gt_taskqueue)
sys/kern/subr_gtaskqueue.c
748
panic("%s: task %s not in group", __func__, gtask->gt_name);
sys/kern/subr_gtaskqueue.c
750
LIST_REMOVE(gtask, gt_list);
sys/kern/subr_gtaskqueue.c
752
gtask->gt_taskqueue = NULL;
sys/kern/subr_gtaskqueue.c
753
gtask->gt_task.ta_flags &= ~TASK_NOENQUEUE;
sys/kern/subr_gtaskqueue.c
759
struct taskq_bind_task *gtask;
sys/kern/subr_gtaskqueue.c
763
gtask = ctx;
sys/kern/subr_gtaskqueue.c
765
CPU_SET(gtask->bt_cpuid, &mask);
sys/kern/subr_gtaskqueue.c
768
sched_bind(curthread, gtask->bt_cpuid);
sys/kern/subr_gtaskqueue.c
773
free(gtask, M_DEVBUF);
sys/kern/subr_gtaskqueue.c
779
struct taskq_bind_task *gtask;
sys/kern/subr_gtaskqueue.c
790
gtask = malloc(sizeof(*gtask), M_DEVBUF, M_WAITOK);
sys/kern/subr_gtaskqueue.c
791
GTASK_INIT(&gtask->bt_task, 0, 0, taskqgroup_binder, gtask);
sys/kern/subr_gtaskqueue.c
792
gtask->bt_cpuid = qgroup->tqg_queue[i].tgc_cpu;
sys/kern/subr_gtaskqueue.c
794
&gtask->bt_task);
sys/net/iflib.c
1548
struct grouptask *gtask = info->ifi_task;
sys/net/iflib.c
1558
GROUPTASK_ENQUEUE(gtask);
sys/net/iflib.c
1566
struct grouptask *gtask = info->ifi_task;
sys/net/iflib.c
1606
GROUPTASK_ENQUEUE(gtask);
sys/net/iflib.c
6148
int qid, struct grouptask *gtask, struct taskqgroup *tqg, void *uniq,
sys/net/iflib.c
6158
err = taskqgroup_attach_cpu(tqg, gtask, uniq, cpuid, dev,
sys/net/iflib.c
6188
struct grouptask *gtask;
sys/net/iflib.c
6207
gtask = &subctx->ifc_rxqs[qid].ifr_task;
sys/net/iflib.c
6211
NET_GROUPTASK_INIT(gtask, 0, fn, q);
sys/net/iflib.c
6221
info->ifi_task = gtask;
sys/net/iflib.c
6224
NET_GROUPTASK_INIT(gtask, 0, fn, q);
sys/net/iflib.c
6235
err = iflib_irq_set_affinity(ctx, irq, type, qid, gtask, tqg, q,
sys/net/iflib.c
6240
taskqgroup_attach(tqg, gtask, q, dev, irq->ii_res, name);
sys/net/iflib.c
6252
struct grouptask *gtask;
sys/net/iflib.c
6268
gtask = &ctx->ifc_txqs[qid].ift_task;
sys/net/iflib.c
6272
GROUPTASK_INIT(gtask, 0, fn, q);
sys/net/iflib.c
6278
gtask = &ctx->ifc_rxqs[qid].ifr_task;
sys/net/iflib.c
6282
NET_GROUPTASK_INIT(gtask, 0, fn, q);
sys/net/iflib.c
6287
gtask = &ctx->ifc_rxqs[qid].ifr_task;
sys/net/iflib.c
6291
NET_GROUPTASK_INIT(gtask, 0, fn, q);
sys/net/iflib.c
6297
gtask = NULL;
sys/net/iflib.c
6308
info->ifi_task = gtask;
sys/net/iflib.c
6321
err = iflib_irq_set_affinity(ctx, irq, type, qid, gtask, tqg, q,
sys/net/iflib.c
6326
taskqgroup_attach(tqg, gtask, q, dev, irq->ii_res, name);
sys/net/iflib.c
6337
struct grouptask *gtask;
sys/net/iflib.c
6346
gtask = &ctx->ifc_txqs[qid].ift_task;
sys/net/iflib.c
6349
GROUPTASK_INIT(gtask, 0, fn, q);
sys/net/iflib.c
6353
gtask = &ctx->ifc_rxqs[qid].ifr_task;
sys/net/iflib.c
6356
NET_GROUPTASK_INIT(gtask, 0, fn, q);
sys/net/iflib.c
6364
err = iflib_irq_set_affinity(ctx, irq, type, qid, gtask, tqg, q, name);
sys/net/iflib.c
6367
taskqgroup_attach(tqg, gtask, q, dev, irq ? irq->ii_res : NULL,
sys/net/iflib.c
6392
struct grouptask *gtask;
sys/net/iflib.c
6398
gtask = &rxq->ifr_task;
sys/net/iflib.c
6405
info->ifi_task = gtask;
sys/net/iflib.c
6414
NET_GROUPTASK_INIT(gtask, 0, _task_fn_rx, rxq);
sys/net/iflib.c
6416
taskqgroup_attach(qgroup_if_io_tqg, gtask, rxq, dev, res, name);
sys/sys/_task.h
76
STAILQ_ENTRY(gtask) ta_link; /* (q) link for queue */
sys/sys/epoch.h
113
#define NET_GROUPTASK_INIT(gtask, prio, func, ctx) \
sys/sys/epoch.h
114
GTASK_INIT(&(gtask)->gt_task, TASK_NETWORK, (prio), (func), (ctx))
sys/sys/gtaskqueue.h
50
struct gtask gt_task;
sys/sys/gtaskqueue.h
64
int gtaskqueue_cancel(struct gtaskqueue *queue, struct gtask *gtask);
sys/sys/gtaskqueue.h
65
void gtaskqueue_drain(struct gtaskqueue *queue, struct gtask *task);
sys/sys/gtaskqueue.h
70
int grouptaskqueue_enqueue(struct gtaskqueue *queue, struct gtask *task);
sys/sys/gtaskqueue.h
77
void taskqgroup_detach(struct taskqgroup *qgroup, struct grouptask *gtask);
sys/sys/gtaskqueue.h
83
#define GTASK_INIT(gtask, flags, priority, func, context) do { \
sys/sys/gtaskqueue.h
84
(gtask)->ta_flags = flags; \
sys/sys/gtaskqueue.h
85
(gtask)->ta_priority = (priority); \
sys/sys/gtaskqueue.h
86
(gtask)->ta_func = (func); \
sys/sys/gtaskqueue.h
87
(gtask)->ta_context = (context); \
sys/sys/gtaskqueue.h
90
#define GROUPTASK_INIT(gtask, priority, func, context) \
sys/sys/gtaskqueue.h
91
GTASK_INIT(&(gtask)->gt_task, 0, priority, func, context)
sys/sys/gtaskqueue.h
93
#define GROUPTASK_ENQUEUE(gtask) \
sys/sys/gtaskqueue.h
94
grouptaskqueue_enqueue((gtask)->gt_taskqueue, &(gtask)->gt_task)