Symbol: aiosp
sys/kern/sys_aio.c
1133
aiosp_validate_conflicts(struct aiosp *aiosp, const void *uptr)
sys/kern/sys_aio.c
1138
mutex_enter(&aiosp->mtx);
sys/kern/sys_aio.c
1141
TAILQ_FOREACH(st, &aiosp->active, list) {
sys/kern/sys_aio.c
1144
mutex_exit(&aiosp->mtx);
sys/kern/sys_aio.c
1151
mutex_exit(&aiosp->mtx);
sys/kern/sys_aio.c
1161
mutex_exit(&aiosp->mtx);
sys/kern/sys_aio.c
1169
aiosp_error(struct aiosp *aiosp, const void *uptr, register_t *retval)
sys/kern/sys_aio.c
1174
error = aiocbp_lookup_job(aiosp, uptr, &job);
sys/kern/sys_aio.c
1194
aiosp_return(struct aiosp *aiosp, const void *uptr, register_t *retval)
sys/kern/sys_aio.c
1200
error = aiocbp_remove_job(aiosp, uptr, &job, &handle);
sys/kern/sys_aio.c
1256
aiocbp_lookup_job(struct aiosp *aiosp, const void *uptr,
sys/kern/sys_aio.c
1264
hash = aiocbp_hash(uptr) & aiosp->aio_hash_mask;
sys/kern/sys_aio.c
1266
mutex_enter(&aiosp->aio_hash_mtx);
sys/kern/sys_aio.c
1267
TAILQ_FOREACH(aiocbp, &aiosp->aio_hash[hash], list) {
sys/kern/sys_aio.c
1274
mutex_exit(&aiosp->aio_hash_mtx);
sys/kern/sys_aio.c
1279
mutex_exit(&aiosp->aio_hash_mtx);
sys/kern/sys_aio.c
1289
aiocbp_remove_job(struct aiosp *aiosp, const void *uptr,
sys/kern/sys_aio.c
130
static int aiost_create(struct aiosp *, struct aiost **);
sys/kern/sys_aio.c
1300
hash = aiocbp_hash(uptr) & aiosp->aio_hash_mask;
sys/kern/sys_aio.c
1302
mutex_enter(&aiosp->aio_hash_mtx);
sys/kern/sys_aio.c
1303
TAILQ_FOREACH(aiocbp, &aiosp->aio_hash[hash], list) {
sys/kern/sys_aio.c
1310
TAILQ_REMOVE(&aiosp->aio_hash[hash], aiocbp, list);
sys/kern/sys_aio.c
1311
mutex_exit(&aiosp->aio_hash_mtx);
sys/kern/sys_aio.c
1320
mutex_exit(&aiosp->aio_hash_mtx);
sys/kern/sys_aio.c
1329
aiocbp_insert(struct aiosp *aiosp, struct aiocbp *aiocbp)
sys/kern/sys_aio.c
1336
hash = aiocbp_hash(uptr) & aiosp->aio_hash_mask;
sys/kern/sys_aio.c
1338
mutex_enter(&aiosp->aio_hash_mtx);
sys/kern/sys_aio.c
1339
TAILQ_FOREACH(found, &aiosp->aio_hash[hash], list) {
sys/kern/sys_aio.c
134
static int aiosp_worker_extract(struct aiosp *, struct aiost **);
sys/kern/sys_aio.c
1342
mutex_exit(&aiosp->aio_hash_mtx);
sys/kern/sys_aio.c
1347
TAILQ_INSERT_HEAD(&aiosp->aio_hash[hash], aiocbp, list);
sys/kern/sys_aio.c
1348
mutex_exit(&aiosp->aio_hash_mtx);
sys/kern/sys_aio.c
1357
aiocbp_init(struct aiosp *aiosp, u_int hashsize)
sys/kern/sys_aio.c
1363
aiosp->aio_hash = kmem_zalloc(hashsize * sizeof(*aiosp->aio_hash),
sys/kern/sys_aio.c
1366
aiosp->aio_hash_mask = hashsize - 1;
sys/kern/sys_aio.c
1367
aiosp->aio_hash_size = hashsize;
sys/kern/sys_aio.c
1369
mutex_init(&aiosp->aio_hash_mtx, MUTEX_DEFAULT, IPL_NONE);
sys/kern/sys_aio.c
1372
TAILQ_INIT(&aiosp->aio_hash[i]);
sys/kern/sys_aio.c
1382
aiocbp_destroy(struct aiosp *aiosp)
sys/kern/sys_aio.c
1384
if (aiosp->aio_hash == NULL) {
sys/kern/sys_aio.c
1390
mutex_enter(&aiosp->aio_hash_mtx);
sys/kern/sys_aio.c
1391
for (size_t i = 0; i < aiosp->aio_hash_size; i++) {
sys/kern/sys_aio.c
1393
TAILQ_FOREACH_SAFE(aiocbp, &aiosp->aio_hash[i], list, tmp) {
sys/kern/sys_aio.c
1394
TAILQ_REMOVE(&aiosp->aio_hash[i], aiocbp, list);
sys/kern/sys_aio.c
1398
mutex_exit(&aiosp->aio_hash_mtx);
sys/kern/sys_aio.c
1400
kmem_free(aiosp->aio_hash,
sys/kern/sys_aio.c
1401
aiosp->aio_hash_size * sizeof(*aiosp->aio_hash));
sys/kern/sys_aio.c
1402
aiosp->aio_hash = NULL;
sys/kern/sys_aio.c
1403
aiosp->aio_hash_mask = 0;
sys/kern/sys_aio.c
1404
aiosp->aio_hash_size = 0;
sys/kern/sys_aio.c
1405
mutex_destroy(&aiosp->aio_hash_mtx);
sys/kern/sys_aio.c
149
static void aiocbp_destroy(struct aiosp *);
sys/kern/sys_aio.c
150
static int aiocbp_init(struct aiosp *, u_int);
sys/kern/sys_aio.c
151
static int aiocbp_insert(struct aiosp *, struct aiocbp *);
sys/kern/sys_aio.c
152
static int aiocbp_lookup_job(struct aiosp *, const void *,
sys/kern/sys_aio.c
154
static int aiocbp_remove_job(struct aiosp *, const void *,
sys/kern/sys_aio.c
1621
error = aiosp_validate_conflicts(&aio->aiosp, aiocb_uptr);
sys/kern/sys_aio.c
1677
error = aiocbp_insert(&aio->aiosp, aiocbp);
sys/kern/sys_aio.c
1701
error = aiosp_enqueue_job(&aio->aiosp, a_job);
sys/kern/sys_aio.c
1716
aiocbp_remove_job(&aio->aiosp, aiocb_uptr, &a_job, NULL);
sys/kern/sys_aio.c
1740
struct aiosp *aiosp;
sys/kern/sys_aio.c
1767
aiosp = &aio->aiosp;
sys/kern/sys_aio.c
1770
mutex_enter(&aiosp->mtx);
sys/kern/sys_aio.c
1777
fg = RB_FIND(aiost_file_tree, aiosp->fg_root, &find);
sys/kern/sys_aio.c
1788
error = aiocbp_lookup_job(aiosp, aiocbp_uptr, &job);
sys/kern/sys_aio.c
1807
aio_job_cancel(aiosp, job);
sys/kern/sys_aio.c
1818
TAILQ_FOREACH_SAFE(job, &aiosp->jobs, list, tmp) {
sys/kern/sys_aio.c
1820
aio_job_cancel(aiosp, job);
sys/kern/sys_aio.c
1835
mutex_exit(&aiosp->mtx);
sys/kern/sys_aio.c
1853
return aiosp_error(&aio->aiosp, uptr, retval);
sys/kern/sys_aio.c
1885
return aiosp_distribute_jobs(&aio->aiosp);
sys/kern/sys_aio.c
1900
return aiosp_return(&aio->aiosp, uptr, retval);
sys/kern/sys_aio.c
1936
error = aiosp_suspend(&aio->aiosp, list, nent, SCARG(uap, timeout) ?
sys/kern/sys_aio.c
1957
return aiosp_distribute_jobs(&aio->aiosp);
sys/kern/sys_aio.c
2044
error = aiosp_distribute_jobs(&aio->aiosp);
sys/kern/sys_aio.c
2058
error = aiosp_suspend(&aio->aiosp, aiocbp_list, nent,
sys/kern/sys_aio.c
2173
struct aiosp *sp;
sys/kern/sys_aio.c
2188
sp = &aio->aiosp;
sys/kern/sys_aio.c
274
error = aiosp_initialize(&aio->aiosp);
sys/kern/sys_aio.c
280
error = aiocbp_init(&aio->aiosp, 256);
sys/kern/sys_aio.c
282
aiosp_destroy(&aio->aiosp, NULL);
sys/kern/sys_aio.c
317
aiocbp_destroy(&aio->aiosp);
sys/kern/sys_aio.c
318
aiosp_destroy(&aio->aiosp, NULL);
sys/kern/sys_aio.c
399
aio_job_cancel(struct aiosp *aiosp, struct aio_job *job)
sys/kern/sys_aio.c
402
TAILQ_REMOVE(&aiosp->jobs, job, list);
sys/kern/sys_aio.c
403
aiosp->jobs_pending--;
sys/kern/sys_aio.c
413
aiosp_fg_teardown_locked(struct aiosp *sp, struct aiost_file_group *fg)
sys/kern/sys_aio.c
428
aiosp_fg_teardown(struct aiosp *sp, struct aiost_file_group *fg)
sys/kern/sys_aio.c
445
aiosp_distribute_jobs(struct aiosp *sp)
sys/kern/sys_aio.c
530
aiosp_suspend(struct aiosp *aiosp, struct aiocb **aiocbp_list, int nent,
sys/kern/sys_aio.c
554
error = aiocbp_lookup_job(aiosp, aiocbp_list[i], &job);
sys/kern/sys_aio.c
607
struct aiosp *aiosp = &aio->aiosp;
sys/kern/sys_aio.c
609
return aiosp_suspend(aiosp, aiocbp_list, nent, ts, AIOSP_SUSPEND_ANY);
sys/kern/sys_aio.c
616
aiosp_initialize(struct aiosp *sp)
sys/kern/sys_aio.c
632
aiosp_worker_extract(struct aiosp *sp, struct aiost **aiost)
sys/kern/sys_aio.c
659
aiosp_destroy(struct aiosp *sp, int *cn)
sys/kern/sys_aio.c
700
aiosp_enqueue_job(struct aiosp *aiosp, struct aio_job *job)
sys/kern/sys_aio.c
702
mutex_enter(&aiosp->mtx);
sys/kern/sys_aio.c
704
TAILQ_INSERT_TAIL(&aiosp->jobs, job, list);
sys/kern/sys_aio.c
705
aiosp->jobs_pending++;
sys/kern/sys_aio.c
708
mutex_exit(&aiosp->mtx);
sys/kern/sys_aio.c
717
aiost_create(struct aiosp *sp, struct aiost **ret)
sys/kern/sys_aio.c
729
st->aiosp = sp;
sys/kern/sys_aio.c
774
aiost_process_fg(struct aiosp *sp, struct aiost_file_group *fg)
sys/kern/sys_aio.c
800
struct aiosp *sp = st->aiosp;
sys/sys/aio.h
148
struct aiosp;
sys/sys/aio.h
151
struct aiosp *aiosp; /* Servicing pool of this thread */
sys/sys/aio.h
198
struct aiosp aiosp; /* Per-process service pool */
sys/sys/aio.h
210
int aiosp_initialize(struct aiosp *);
sys/sys/aio.h
211
int aiosp_destroy(struct aiosp *, int *);
sys/sys/aio.h
212
int aiosp_distribute_jobs(struct aiosp *);
sys/sys/aio.h
213
int aiosp_enqueue_job(struct aiosp *, struct aio_job *);
sys/sys/aio.h
214
int aiosp_suspend(struct aiosp *, struct aiocb **, int, struct timespec *,
sys/sys/aio.h
216
int aiosp_flush(struct aiosp *);
sys/sys/aio.h
217
int aiosp_validate_conflicts(struct aiosp *, const void *);
sys/sys/aio.h
218
int aiosp_error(struct aiosp *, const void *, register_t *);
sys/sys/aio.h
219
int aiosp_return(struct aiosp *, const void *, register_t *);