1
0
mirror of https://git.FreeBSD.org/src.git synced 2025-01-01 12:19:28 +00:00

Document taskqueue_enqueue_fast()

This commit is contained in:
Scott Long 2004-01-02 07:23:40 +00:00
parent 8da0249608
commit 24b4e9d17f
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=124066

View File

@ -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 .