summaryrefslogtreecommitdiffstats
path: root/sys/cddl/compat/opensolaris/kern
diff options
context:
space:
mode:
authoravg <avg@FreeBSD.org>2014-01-16 14:34:53 +0000
committeravg <avg@FreeBSD.org>2014-01-16 14:34:53 +0000
commita4ee4e9fb09b34a005aa5d3419f6f11315b33b22 (patch)
tree2d91d8fef744bd0b49b0838ae98faf63886f692a /sys/cddl/compat/opensolaris/kern
parent16f4d5cb308e45e3fe74758e164b70dfc0f56d64 (diff)
downloadFreeBSD-src-a4ee4e9fb09b34a005aa5d3419f6f11315b33b22.zip
FreeBSD-src-a4ee4e9fb09b34a005aa5d3419f6f11315b33b22.tar.gz
MFC r258630: 734 taskq_dispatch_prealloc() desired
Diffstat (limited to 'sys/cddl/compat/opensolaris/kern')
-rw-r--r--sys/cddl/compat/opensolaris/kern/opensolaris_taskq.c38
1 files changed, 18 insertions, 20 deletions
diff --git a/sys/cddl/compat/opensolaris/kern/opensolaris_taskq.c b/sys/cddl/compat/opensolaris/kern/opensolaris_taskq.c
index f8f06d8..d5766c7 100644
--- a/sys/cddl/compat/opensolaris/kern/opensolaris_taskq.c
+++ b/sys/cddl/compat/opensolaris/kern/opensolaris_taskq.c
@@ -46,7 +46,7 @@ static void
system_taskq_init(void *arg)
{
- taskq_zone = uma_zcreate("taskq_zone", sizeof(struct ostask),
+ taskq_zone = uma_zcreate("taskq_zone", sizeof(taskq_ent_t),
NULL, NULL, NULL, NULL, 0, 0);
system_taskq = taskq_create("system_taskq", mp_ncpus, 0, 0, 0, 0);
}
@@ -104,9 +104,9 @@ taskq_member(taskq_t *tq, kthread_t *thread)
static void
taskq_run(void *arg, int pending __unused)
{
- struct ostask *task = arg;
+ taskq_ent_t *task = arg;
- task->ost_func(task->ost_arg);
+ task->tqent_func(task->tqent_arg);
uma_zfree(taskq_zone, task);
}
@@ -114,7 +114,7 @@ taskq_run(void *arg, int pending __unused)
taskqid_t
taskq_dispatch(taskq_t *tq, task_func_t func, void *arg, uint_t flags)
{
- struct ostask *task;
+ taskq_ent_t *task;
int mflag, prio;
if ((flags & (TQ_SLEEP | TQ_NOQUEUE)) == TQ_SLEEP)
@@ -131,26 +131,26 @@ taskq_dispatch(taskq_t *tq, task_func_t func, void *arg, uint_t flags)
if (task == NULL)
return (0);
- task->ost_func = func;
- task->ost_arg = arg;
+ task->tqent_func = func;
+ task->tqent_arg = arg;
- TASK_INIT(&task->ost_task, prio, taskq_run, task);
- taskqueue_enqueue(tq->tq_queue, &task->ost_task);
+ TASK_INIT(&task->tqent_task, prio, taskq_run, task);
+ taskqueue_enqueue(tq->tq_queue, &task->tqent_task);
return ((taskqid_t)(void *)task);
}
static void
-taskq_run_safe(void *arg, int pending __unused)
+taskq_run_ent(void *arg, int pending __unused)
{
- struct ostask *task = arg;
+ taskq_ent_t *task = arg;
- task->ost_func(task->ost_arg);
+ task->tqent_func(task->tqent_arg);
}
-taskqid_t
-taskq_dispatch_safe(taskq_t *tq, task_func_t func, void *arg, u_int flags,
- struct ostask *task)
+void
+taskq_dispatch_ent(taskq_t *tq, task_func_t func, void *arg, u_int flags,
+ taskq_ent_t *task)
{
int prio;
@@ -160,11 +160,9 @@ taskq_dispatch_safe(taskq_t *tq, task_func_t func, void *arg, u_int flags,
*/
prio = !!(flags & TQ_FRONT);
- task->ost_func = func;
- task->ost_arg = arg;
+ task->tqent_func = func;
+ task->tqent_arg = arg;
- TASK_INIT(&task->ost_task, prio, taskq_run_safe, task);
- taskqueue_enqueue(tq->tq_queue, &task->ost_task);
-
- return ((taskqid_t)(void *)task);
+ TASK_INIT(&task->tqent_task, prio, taskq_run_ent, task);
+ taskqueue_enqueue(tq->tq_queue, &task->tqent_task);
}
OpenPOWER on IntegriCloud