/* Global system-wide dynamic task queue available for all consumers */
extern taskq_t *system_taskq;
-extern taskqid_t __taskq_dispatch(taskq_t *, task_func_t, void *, uint_t);
-extern void __taskq_dispatch_ent(taskq_t *, task_func_t, void *, uint_t, taskq_ent_t *);
-extern int __taskq_empty_ent(taskq_ent_t *);
-extern void __taskq_init_ent(taskq_ent_t *);
-extern taskq_t *__taskq_create(const char *, int, pri_t, int, int, uint_t);
-extern void __taskq_destroy(taskq_t *);
-extern void __taskq_wait_id(taskq_t *, taskqid_t);
-extern void __taskq_wait(taskq_t *);
-extern int __taskq_member(taskq_t *, void *);
+extern taskqid_t taskq_dispatch(taskq_t *, task_func_t, void *, uint_t);
+extern void taskq_dispatch_ent(taskq_t *, task_func_t, void *, uint_t,
+ taskq_ent_t *);
+extern int taskq_empty_ent(taskq_ent_t *);
+extern void taskq_init_ent(taskq_ent_t *);
+extern taskq_t *taskq_create(const char *, int, pri_t, int, int, uint_t);
+extern void taskq_destroy(taskq_t *);
+extern void taskq_wait_id(taskq_t *, taskqid_t);
+extern void taskq_wait(taskq_t *);
+extern int taskq_member(taskq_t *, void *);
+
+#define taskq_create_proc(name, nthreads, pri, min, max, proc, flags) \
+ taskq_create(name, nthreads, pri, min, max, flags)
+#define taskq_create_sysdc(name, nthreads, min, max, proc, dc, flags) \
+ taskq_create(name, nthreads, maxclsyspri, min, max, flags)
int spl_taskq_init(void);
void spl_taskq_fini(void);
-#define taskq_member(tq, t) __taskq_member(tq, t)
-#define taskq_wait_id(tq, id) __taskq_wait_id(tq, id)
-#define taskq_wait(tq) __taskq_wait(tq)
-#define taskq_dispatch(tq, f, p, fl) __taskq_dispatch(tq, f, p, fl)
-#define taskq_dispatch_ent(tq, f, p, fl, t) \
- __taskq_dispatch_ent(tq, f, p, fl, t)
-#define taskq_empty_ent(t) __taskq_empty_ent(t)
-#define taskq_init_ent(t) __taskq_init_ent(t)
-#define taskq_create(n, th, p, mi, ma, fl) \
- __taskq_create(n, th, p, mi, ma, fl)
-#define taskq_create_proc(n, th, p, mi, ma, pr, fl) \
- __taskq_create(n, th, p, mi, ma, fl)
-#define taskq_create_sysdc(n, th, mi, ma, pr, dc, fl) \
- __taskq_create(n, th, maxclsyspri, mi, ma, fl)
-#define taskq_destroy(tq) __taskq_destroy(tq)
-
#endif /* _SPL_TASKQ_H */
}
void
-__taskq_wait_id(taskq_t *tq, taskqid_t id)
+taskq_wait_id(taskq_t *tq, taskqid_t id)
{
SENTRY;
ASSERT(tq);
SEXIT;
}
-EXPORT_SYMBOL(__taskq_wait_id);
+EXPORT_SYMBOL(taskq_wait_id);
void
-__taskq_wait(taskq_t *tq)
+taskq_wait(taskq_t *tq)
{
taskqid_t id;
SENTRY;
id = tq->tq_next_id - 1;
spin_unlock_irqrestore(&tq->tq_lock, tq->tq_lock_flags);
- __taskq_wait_id(tq, id);
+ taskq_wait_id(tq, id);
SEXIT;
}
-EXPORT_SYMBOL(__taskq_wait);
+EXPORT_SYMBOL(taskq_wait);
int
-__taskq_member(taskq_t *tq, void *t)
+taskq_member(taskq_t *tq, void *t)
{
struct list_head *l;
taskq_thread_t *tqt;
SRETURN(0);
}
-EXPORT_SYMBOL(__taskq_member);
+EXPORT_SYMBOL(taskq_member);
taskqid_t
-__taskq_dispatch(taskq_t *tq, task_func_t func, void *arg, uint_t flags)
+taskq_dispatch(taskq_t *tq, task_func_t func, void *arg, uint_t flags)
{
taskq_ent_t *t;
taskqid_t rc = 0;
spin_unlock_irqrestore(&tq->tq_lock, tq->tq_lock_flags);
SRETURN(rc);
}
-EXPORT_SYMBOL(__taskq_dispatch);
+EXPORT_SYMBOL(taskq_dispatch);
void
-__taskq_dispatch_ent(taskq_t *tq, task_func_t func, void *arg, uint_t flags,
+taskq_dispatch_ent(taskq_t *tq, task_func_t func, void *arg, uint_t flags,
taskq_ent_t *t)
{
SENTRY;
spin_unlock_irqrestore(&tq->tq_lock, tq->tq_lock_flags);
SEXIT;
}
-EXPORT_SYMBOL(__taskq_dispatch_ent);
+EXPORT_SYMBOL(taskq_dispatch_ent);
int
-__taskq_empty_ent(taskq_ent_t *t)
+taskq_empty_ent(taskq_ent_t *t)
{
return list_empty(&t->tqent_list);
}
-EXPORT_SYMBOL(__taskq_empty_ent);
+EXPORT_SYMBOL(taskq_empty_ent);
void
-__taskq_init_ent(taskq_ent_t *t)
+taskq_init_ent(taskq_ent_t *t)
{
spin_lock_init(&t->tqent_lock);
INIT_LIST_HEAD(&t->tqent_list);
t->tqent_arg = NULL;
t->tqent_flags = 0;
}
-EXPORT_SYMBOL(__taskq_init_ent);
+EXPORT_SYMBOL(taskq_init_ent);
/*
* Returns the lowest incomplete taskqid_t. The taskqid_t may
}
taskq_t *
-__taskq_create(const char *name, int nthreads, pri_t pri,
+taskq_create(const char *name, int nthreads, pri_t pri,
int minalloc, int maxalloc, uint_t flags)
{
taskq_t *tq;
wait_event(tq->tq_wait_waitq, tq->tq_nthreads == j);
if (rc) {
- __taskq_destroy(tq);
+ taskq_destroy(tq);
tq = NULL;
}
SRETURN(tq);
}
-EXPORT_SYMBOL(__taskq_create);
+EXPORT_SYMBOL(taskq_create);
void
-__taskq_destroy(taskq_t *tq)
+taskq_destroy(taskq_t *tq)
{
struct task_struct *thread;
taskq_thread_t *tqt;
spin_unlock_irqrestore(&tq->tq_lock, tq->tq_lock_flags);
/* TQ_ACTIVE cleared prevents new tasks being added to pending */
- __taskq_wait(tq);
+ taskq_wait(tq);
spin_lock_irqsave(&tq->tq_lock, tq->tq_lock_flags);
SEXIT;
}
-EXPORT_SYMBOL(__taskq_destroy);
+EXPORT_SYMBOL(taskq_destroy);
int
spl_taskq_init(void)