aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorScott Long <scottl@FreeBSD.org>2004-01-02 07:23:40 +0000
committerScott Long <scottl@FreeBSD.org>2004-01-02 07:23:40 +0000
commit24b4e9d17f7019cec452d38d4d76cf92a236584b (patch)
tree0399599f9a663a5291df1c600b5ef77c9cb3b59f
parent8da0249608aaab3be9c2aaec546174245146e13b (diff)
Notes
-rw-r--r--share/man/man9/taskqueue.910
1 files changed, 10 insertions, 0 deletions
diff --git a/share/man/man9/taskqueue.9 b/share/man/man9/taskqueue.9
index ccb194f01234..e7d6b82e4062 100644
--- a/share/man/man9/taskqueue.9
+++ b/share/man/man9/taskqueue.9
@@ -62,6 +62,8 @@ struct task {
.Fn taskqueue_find "const char *name"
.Ft int
.Fn taskqueue_enqueue "struct taskqueue *queue" "struct task *task"
+.Ft int
+.Fn taskqueue_enqueue_fast "struct taskqueue *queue" "struct task *task"
.Ft void
.Fn taskqueue_run "struct taskqueue *queue"
.Fn TASK_INIT "struct task *task" "int priority" "task_fn_t *func" "void *context"
@@ -119,6 +121,14 @@ This function will return
.Er EPIPE
if the queue is being freed.
.Pp
+The function
+.Fn taskqueue_enqueue_fast
+should be used in place of
+.Fn taskqueue_enqueue
+when the enqueuing must happen from a fast interrupt handler.
+This method uses spin locks to avoid the possibility of sleeping in the fast
+interrupt context.
+.Pp
To execute all the tasks on a queue,
call
.Fn taskqueue_run .