| 564 | } |
| 565 | |
| 566 | void |
| 567 | soaio_enqueue(struct task *task) |
| 568 | { |
| 569 | |
| 570 | mtx_lock(&soaio_jobs_lock); |
| 571 | MPASS(task->ta_pending == 0); |
| 572 | task->ta_pending++; |
| 573 | STAILQ_INSERT_TAIL(&soaio_jobs, task, ta_link); |
| 574 | soaio_queued++; |
| 575 | if (soaio_queued <= soaio_idle) |
| 576 | wakeup_one(&soaio_idle); |
| 577 | else if (soaio_num_procs < soaio_max_procs) |
| 578 | taskqueue_enqueue(taskqueue_thread, &soaio_kproc_task); |
| 579 | mtx_unlock(&soaio_jobs_lock); |
| 580 | } |
| 581 | |
| 582 | static void |
| 583 | soaio_init(void) |
no test coverage detected