Lines Matching refs:aiop
101 aio_req_t *reqlist, aio_t *aiop, model_t model);
102 static int aio_reqlist_concat(aio_t *aiop, aio_req_t **reqlist, int max);
403 aio_t *aiop; in aionotify() local
405 aiop = curproc->p_aio; in aionotify()
406 if (aiop == NULL) in aionotify()
409 mutex_enter(&aiop->aio_mutex); in aionotify()
410 aiop->aio_notifycnt++; in aionotify()
411 cv_broadcast(&aiop->aio_waitcv); in aionotify()
412 mutex_exit(&aiop->aio_mutex); in aionotify()
527 aio_t *aiop; in aiowait() local
535 aiop = curproc->p_aio; in aiowait()
536 if (aiop == NULL) in aiowait()
552 mutex_enter(&aiop->aio_mutex); in aiowait()
555 if (aiop->aio_pollq) { in aiowait()
556 mutex_exit(&aiop->aio_mutex); in aiowait()
558 mutex_enter(&aiop->aio_mutex); in aiowait()
565 if (aiop->aio_notifycnt > 0) { in aiowait()
566 aiop->aio_notifycnt--; in aiowait()
571 if (aiop->aio_outstanding == 0 && dontblockflg) { in aiowait()
576 status = cv_waituntil_sig(&aiop->aio_waitcv, in aiowait()
577 &aiop->aio_mutex, rqtp, timecheck); in aiowait()
590 mutex_exit(&aiop->aio_mutex); in aiowait()
594 mutex_enter(&aiop->aio_mutex); in aiowait()
595 aio_req_free(aiop, reqp); in aiowait()
596 mutex_exit(&aiop->aio_mutex); in aiowait()
612 aio_t *aiop; in aiowaitn() local
625 aiop = curproc->p_aio; in aiowaitn()
626 if (aiop == NULL || nent == 0 || nent > _AIO_LISTIO_MAX) in aiowaitn()
629 if (aiop->aio_outstanding == 0) in aiowaitn()
671 mutex_enter(&aiop->aio_mutex); in aiowaitn()
673 while (aiop->aio_flags & AIO_WAITN) { in aiowaitn()
675 mutex_exit(&aiop->aio_mutex); in aiowaitn()
680 aiop->aio_flags |= AIO_WAITN_PENDING; in aiowaitn()
681 if (!cv_wait_sig(&aiop->aio_waitncv, &aiop->aio_mutex)) { in aiowaitn()
682 mutex_exit(&aiop->aio_mutex); in aiowaitn()
697 if (iocbsz > aiop->aio_iocbsz && aiop->aio_iocb != NULL) { in aiowaitn()
698 kmem_free(aiop->aio_iocb, aiop->aio_iocbsz); in aiowaitn()
699 aiop->aio_iocb = NULL; in aiowaitn()
702 if (aiop->aio_iocb == NULL) { in aiowaitn()
705 mutex_exit(&aiop->aio_mutex); in aiowaitn()
708 aiop->aio_iocb = (aiocb_t **)iocblist; in aiowaitn()
709 aiop->aio_iocbsz = iocbsz; in aiowaitn()
711 iocblist = (char *)aiop->aio_iocb; in aiowaitn()
714 aiop->aio_waitncnt = waitcnt; in aiowaitn()
715 aiop->aio_flags |= AIO_WAITN; in aiowaitn()
719 if (aiop->aio_pollq) { in aiowaitn()
720 mutex_exit(&aiop->aio_mutex); in aiowaitn()
722 mutex_enter(&aiop->aio_mutex); in aiowaitn()
726 if (aiop->aio_doneq) { in aiowaitn()
727 cnt += aio_reqlist_concat(aiop, &reqlist, nent - cnt); in aiowaitn()
728 aiop->aio_waitncnt = waitcnt - cnt; in aiowaitn()
732 if (aiop->aio_notifycnt > 0) { in aiowaitn()
733 aiop->aio_notifycnt--; in aiowaitn()
746 if ((cnt >= waitcnt) || (cnt > 0 && aiop->aio_pending == 0 && in aiowaitn()
747 aiop->aio_doneq == NULL)) { in aiowaitn()
753 int rval = cv_waituntil_sig(&aiop->aio_waitcv, in aiowaitn()
754 &aiop->aio_mutex, rqtp, timecheck); in aiowaitn()
767 mutex_exit(&aiop->aio_mutex); in aiowaitn()
772 aiop, model); in aiowaitn()
787 mutex_enter(&aiop->aio_mutex); in aiowaitn()
788 aiop->aio_flags &= ~AIO_WAITN; in aiowaitn()
789 if (aiop->aio_flags & AIO_WAITN_PENDING) { in aiowaitn()
790 aiop->aio_flags &= ~AIO_WAITN_PENDING; in aiowaitn()
791 cv_signal(&aiop->aio_waitncv); in aiowaitn()
793 mutex_exit(&aiop->aio_mutex); in aiowaitn()
811 aio_t *aiop, in aio_unlock_requests() argument
823 mutex_enter(&aiop->aio_mutex); in aio_unlock_requests()
824 aio_req_free(aiop, reqp); in aio_unlock_requests()
825 mutex_exit(&aiop->aio_mutex); in aio_unlock_requests()
836 mutex_enter(&aiop->aio_mutex); in aio_unlock_requests()
837 aio_req_free(aiop, reqp); in aio_unlock_requests()
838 mutex_exit(&aiop->aio_mutex); in aio_unlock_requests()
854 aio_reqlist_concat(aio_t *aiop, aio_req_t **reqlist, int max) in aio_reqlist_concat() argument
860 q2 = aiop->aio_doneq; in aio_reqlist_concat()
874 aiop->aio_doneq = NULL; in aio_reqlist_concat()
884 aiop->aio_doneq = q2work; in aio_reqlist_concat()
898 aio_t *aiop; in aiosuspend() local
916 aiop = curproc->p_aio; in aiosuspend()
917 if (aiop == NULL || nent <= 0 || nent > _AIO_LISTIO_MAX) in aiosuspend()
937 if (!blocking && (aiop->aio_pollq == NULL) && in aiosuspend()
938 (aiop->aio_doneq == NULL)) { in aiosuspend()
963 mutex_enter(&aiop->aio_cleanupq_mutex); in aiosuspend()
964 mutex_enter(&aiop->aio_mutex); in aiosuspend()
967 if (aiop->aio_pollq) { in aiosuspend()
968 mutex_exit(&aiop->aio_mutex); in aiosuspend()
969 mutex_exit(&aiop->aio_cleanupq_mutex); in aiosuspend()
971 mutex_enter(&aiop->aio_cleanupq_mutex); in aiosuspend()
972 mutex_enter(&aiop->aio_mutex); in aiosuspend()
975 if (aiop->aio_doneq) { in aiosuspend()
1019 if (aiop->aio_doneq == NULL) in aiosuspend()
1025 if (aiop->aio_notifycnt > 0) { in aiosuspend()
1031 aiop->aio_notifycnt--; in aiosuspend()
1037 if (aiop->aio_outstanding == 0) { in aiosuspend()
1046 mutex_exit(&aiop->aio_cleanupq_mutex); in aiosuspend()
1047 rv = cv_waituntil_sig(&aiop->aio_waitcv, in aiosuspend()
1048 &aiop->aio_mutex, rqtp, timecheck); in aiosuspend()
1053 mutex_exit(&aiop->aio_mutex); in aiosuspend()
1054 mutex_enter(&aiop->aio_cleanupq_mutex); in aiosuspend()
1055 mutex_enter(&aiop->aio_mutex); in aiosuspend()
1067 mutex_exit(&aiop->aio_mutex); in aiosuspend()
1068 mutex_exit(&aiop->aio_cleanupq_mutex); in aiosuspend()
1073 mutex_enter(&aiop->aio_mutex); in aiosuspend()
1074 aio_req_free(aiop, reqp); in aiosuspend()
1075 mutex_exit(&aiop->aio_mutex); in aiosuspend()
1090 aio_t *aiop; in aioinit() local
1092 if ((aiop = p->p_aio) == NULL) { in aioinit()
1093 aiop = aio_aiop_alloc(); in aioinit()
1094 p->p_aio = aiop; in aioinit()
1097 if (aiop == NULL) in aioinit()
1119 aio_t *aiop; in aiostart() local
1125 if ((aiop = p->p_aio) == NULL) in aiostart()
1128 first = aiop->aio_ok; in aiostart()
1129 if (aiop->aio_ok == 0) in aiostart()
1130 aiop->aio_ok = 1; in aiostart()
1134 return (aio_cleanup_thread(aiop)); in aiostart()
1202 aio_t *aiop; in alio() local
1226 aiop = curproc->p_aio; in alio()
1227 if (aiop == NULL || nent <= 0 || nent > _AIO_LISTIO_MAX) in alio()
1273 mutex_enter(&aiop->aio_mutex); in alio()
1275 mutex_exit(&aiop->aio_mutex); in alio()
1323 mutex_enter(&aiop->aio_mutex); in alio()
1326 mutex_exit(&aiop->aio_mutex); in alio()
1336 mutex_enter(&aiop->aio_mutex); in alio()
1339 mutex_exit(&aiop->aio_mutex); in alio()
1348 mutex_enter(&aiop->aio_mutex); in alio()
1351 mutex_exit(&aiop->aio_mutex); in alio()
1364 mutex_enter(&aiop->aio_mutex); in alio()
1367 mutex_exit(&aiop->aio_mutex); in alio()
1387 mutex_enter(&aiop->aio_mutex); in alio()
1390 mutex_exit(&aiop->aio_mutex); in alio()
1399 error = aio_req_setup(&reqp, aiop, aiocb, in alio()
1405 mutex_enter(&aiop->aio_mutex); in alio()
1408 mutex_exit(&aiop->aio_mutex); in alio()
1486 mutex_enter(&aiop->aio_mutex); in alio()
1489 mutex_exit(&aiop->aio_mutex); in alio()
1511 mutex_enter(&aiop->aio_mutex); in alio()
1513 if (!cv_wait_sig(&head->lio_notify, &aiop->aio_mutex)) { in alio()
1514 mutex_exit(&aiop->aio_mutex); in alio()
1519 mutex_exit(&aiop->aio_mutex); in alio()
1520 alio_cleanup(aiop, (aiocb_t **)cbplist, nent, AIO_64); in alio()
1555 aio_t *aiop; in aliowait() local
1568 aiop = curproc->p_aio; in aliowait()
1569 if (aiop == NULL || nent <= 0 || nent > _AIO_LISTIO_MAX) in aliowait()
1654 mutex_enter(&aiop->aio_mutex); in aliowait()
1656 if (!cv_wait_sig(&head->lio_notify, &aiop->aio_mutex)) { in aliowait()
1657 mutex_exit(&aiop->aio_mutex); in aliowait()
1662 mutex_exit(&aiop->aio_mutex); in aliowait()
1663 alio_cleanup(aiop, (aiocb_t **)cbplist, nent, run_mode); in aliowait()
1673 aio_t *aiop; in aio_list_get() local
1678 aiop = curproc->p_aio; in aio_list_get()
1679 if (aiop == NULL) in aio_list_get()
1684 bucket = &aiop->aio_hash[index]; in aio_list_get()
1725 alio_cleanup(aio_t *aiop, aiocb_t **cbp, int nent, int run_mode) in alio_cleanup() argument
1766 mutex_enter(&aiop->aio_cleanupq_mutex); in alio_cleanup()
1767 mutex_enter(&aiop->aio_mutex); in alio_cleanup()
1769 mutex_exit(&aiop->aio_mutex); in alio_cleanup()
1770 mutex_exit(&aiop->aio_cleanupq_mutex); in alio_cleanup()
1774 mutex_enter(&aiop->aio_mutex); in alio_cleanup()
1775 aio_req_free(aiop, reqp); in alio_cleanup()
1776 mutex_exit(&aiop->aio_mutex); in alio_cleanup()
1788 aio_t *aiop; in aioerror() local
1792 aiop = curproc->p_aio; in aioerror()
1793 if (aiop == NULL || cb == NULL) in aioerror()
1817 mutex_enter(&aiop->aio_cleanupq_mutex); in aioerror()
1818 mutex_enter(&aiop->aio_mutex); in aioerror()
1820 mutex_exit(&aiop->aio_mutex); in aioerror()
1821 mutex_exit(&aiop->aio_cleanupq_mutex); in aioerror()
1825 mutex_enter(&aiop->aio_mutex); in aioerror()
1826 aio_req_free(aiop, reqp); in aioerror()
1827 mutex_exit(&aiop->aio_mutex); in aioerror()
1845 aio_t *aiop; in aio_cancel() local
1860 aiop = curproc->p_aio; in aio_cancel()
1861 if (aiop == NULL) in aio_cancel()
1864 if (aiop->aio_outstanding == 0) { in aio_cancel()
1869 mutex_enter(&aiop->aio_mutex); in aio_cancel()
1889 bucket = &aiop->aio_hash[index]; in aio_cancel()
1893 mutex_exit(&aiop->aio_mutex); in aio_cancel()
1897 mutex_exit(&aiop->aio_mutex); in aio_cancel()
1902 mutex_exit(&aiop->aio_mutex); in aio_cancel()
1908 bucket = &aiop->aio_hash[index]; in aio_cancel()
1912 mutex_exit(&aiop->aio_mutex); in aio_cancel()
1919 mutex_exit(&aiop->aio_mutex); in aio_cancel()
1941 aio_t *aiop; in arw() local
1949 aiop = curproc->p_aio; in arw()
1950 if (aiop == NULL) in arw()
1977 error = aio_req_setup(&reqp, aiop, &aiocb, resultp, vp, 1); in arw()
1984 error = aio_req_setupLF(&reqp, aiop, &aiocb64, resultp, vp, 1); in arw()
2014 mutex_enter(&aiop->aio_mutex); in arw()
2015 aio_req_free(aiop, reqp); in arw()
2016 aiop->aio_pending--; in arw()
2017 if (aiop->aio_flags & AIO_REQ_BLOCK) in arw()
2018 cv_signal(&aiop->aio_cleanupcv); in arw()
2019 mutex_exit(&aiop->aio_mutex); in arw()
2048 aio_t *aiop; in aiorw() local
2057 aiop = curproc->p_aio; in aiorw()
2058 if (aiop == NULL) in aiorw()
2167 error = aio_req_setupLF(&reqp, aiop, &aiocb64, resultp, vp, 0); in aiorw()
2169 error = aio_req_setup(&reqp, aiop, &aiocb, resultp, vp, 0); in aiorw()
2215 mutex_enter(&aiop->aio_mutex); in aiorw()
2217 aio_deq(&aiop->aio_portpending, reqp); in aiorw()
2218 aio_req_free(aiop, reqp); in aiorw()
2219 aiop->aio_pending--; in aiorw()
2220 if (aiop->aio_flags & AIO_REQ_BLOCK) in aiorw()
2221 cv_signal(&aiop->aio_cleanupcv); in aiorw()
2222 mutex_exit(&aiop->aio_mutex); in aiorw()
2236 aio_t *aiop = curproc->p_aio; in lio_set_error() local
2238 if (aiop == NULL) in lio_set_error()
2241 mutex_enter(&aiop->aio_mutex); in lio_set_error()
2243 aio_deq(&aiop->aio_portpending, reqp); in lio_set_error()
2244 aiop->aio_pending--; in lio_set_error()
2254 aio_req_free(aiop, reqp); in lio_set_error()
2255 if (aiop->aio_flags & AIO_REQ_BLOCK) in lio_set_error()
2256 cv_signal(&aiop->aio_cleanupcv); in lio_set_error()
2257 mutex_exit(&aiop->aio_mutex); in lio_set_error()
2270 aio_t *aiop = curproc->p_aio; in aio_req_done() local
2273 ASSERT(MUTEX_HELD(&aiop->aio_cleanupq_mutex)); in aio_req_done()
2274 ASSERT(MUTEX_HELD(&aiop->aio_mutex)); in aio_req_done()
2278 bucket = &aiop->aio_hash[index]; in aio_req_done()
2306 aio_t *aiop = curproc->p_aio; in aio_req_find() local
2309 ASSERT(MUTEX_HELD(&aiop->aio_cleanupq_mutex)); in aio_req_find()
2310 ASSERT(MUTEX_HELD(&aiop->aio_mutex)); in aio_req_find()
2313 bucket = &aiop->aio_hash[index]; in aio_req_find()
2333 aio_t *aiop = curproc->p_aio; in aio_req_remove() local
2335 ASSERT(MUTEX_HELD(&aiop->aio_mutex)); in aio_req_remove()
2341 if (reqp == aiop->aio_doneq) { in aio_req_remove()
2342 aiop->aio_doneq = NULL; in aio_req_remove()
2344 ASSERT(reqp == aiop->aio_cleanupq); in aio_req_remove()
2345 aiop->aio_cleanupq = NULL; in aio_req_remove()
2354 if (reqp == aiop->aio_doneq) in aio_req_remove()
2355 aiop->aio_doneq = reqp->aio_req_next; in aio_req_remove()
2357 if (reqp == aiop->aio_cleanupq) in aio_req_remove()
2358 aiop->aio_cleanupq = reqp->aio_req_next; in aio_req_remove()
2363 } else if ((reqp = aiop->aio_doneq) != NULL) { in aio_req_remove()
2367 aiop->aio_doneq = NULL; in aio_req_remove()
2371 aiop->aio_doneq = reqp->aio_req_next; in aio_req_remove()
2377 if (aiop->aio_doneq == NULL && (aiop->aio_flags & AIO_WAITN)) in aio_req_remove()
2378 cv_broadcast(&aiop->aio_waitcv); in aio_req_remove()
2383 aio_req_setup(aio_req_t **reqpp, aio_t *aiop, aiocb_t *arg, in aio_req_setup() argument
2409 mutex_enter(&aiop->aio_mutex); in aio_req_setup()
2411 if (aiop->aio_flags & AIO_REQ_BLOCK) { in aio_req_setup()
2412 mutex_exit(&aiop->aio_mutex); in aio_req_setup()
2422 mutex_exit(&aiop->aio_mutex); in aio_req_setup()
2427 aiop->aio_pending++; in aio_req_setup()
2428 aiop->aio_outstanding++; in aio_req_setup()
2433 aiop->aio_flags |= AIO_SOLARIS_REQ; in aio_req_setup()
2437 aio_enq(&aiop->aio_portpending, reqp, 0); in aio_req_setup()
2438 mutex_exit(&aiop->aio_mutex); in aio_req_setup()
2462 aio_t *aiop; in aio_aiop_alloc() local
2466 aiop = kmem_zalloc(sizeof (struct aio), KM_NOSLEEP); in aio_aiop_alloc()
2467 if (aiop) { in aio_aiop_alloc()
2468 mutex_init(&aiop->aio_mutex, NULL, MUTEX_DEFAULT, NULL); in aio_aiop_alloc()
2469 mutex_init(&aiop->aio_cleanupq_mutex, NULL, MUTEX_DEFAULT, in aio_aiop_alloc()
2471 mutex_init(&aiop->aio_portq_mutex, NULL, MUTEX_DEFAULT, NULL); in aio_aiop_alloc()
2473 return (aiop); in aio_aiop_alloc()
2483 aio_t *aiop = curproc->p_aio; in aio_req_alloc() local
2485 ASSERT(MUTEX_HELD(&aiop->aio_mutex)); in aio_req_alloc()
2487 if ((reqp = aiop->aio_free) != NULL) { in aio_req_alloc()
2488 aiop->aio_free = reqp->aio_req_next; in aio_req_alloc()
2508 if (aio_hash_insert(reqp, aiop)) { in aio_req_alloc()
2509 reqp->aio_req_next = aiop->aio_free; in aio_req_alloc()
2510 aiop->aio_free = reqp; in aio_req_alloc()
2524 aio_t *aiop = curproc->p_aio; in aio_lio_alloc() local
2526 ASSERT(MUTEX_HELD(&aiop->aio_mutex)); in aio_lio_alloc()
2528 if ((liop = aiop->aio_lio_free) != NULL) { in aio_lio_alloc()
2529 aiop->aio_lio_free = liop->lio_next; in aio_lio_alloc()
2560 aio_cleanup_thread(aio_t *aiop) in aio_cleanup_thread() argument
2582 mutex_enter(&aiop->aio_mutex); in aio_cleanup_thread()
2583 if ((aiop->aio_flags & AIO_CLEANUP) == 0) { in aio_cleanup_thread()
2584 aiop->aio_flags |= AIO_CLEANUP; in aio_cleanup_thread()
2586 if (aiop->aio_rqclnup) { in aio_cleanup_thread()
2587 aiop->aio_rqclnup = 0; in aio_cleanup_thread()
2591 if (aiop->aio_doneq) { in aio_cleanup_thread()
2592 aio_req_t *doneqhead = aiop->aio_doneq; in aio_cleanup_thread()
2593 aiop->aio_doneq = NULL; in aio_cleanup_thread()
2594 aio_cleanupq_concat(aiop, doneqhead, AIO_DONEQ); in aio_cleanup_thread()
2597 mutex_exit(&aiop->aio_mutex); in aio_cleanup_thread()
2603 cvp = &aiop->aio_cleanupcv; in aio_cleanup_thread()
2604 mutex_enter(&aiop->aio_mutex); in aio_cleanup_thread()
2606 if (aiop->aio_pollq != NULL || aiop->aio_cleanupq != NULL || in aio_cleanup_thread()
2607 aiop->aio_notifyq != NULL || in aio_cleanup_thread()
2608 aiop->aio_portcleanupq != NULL) { in aio_cleanup_thread()
2609 mutex_exit(&aiop->aio_mutex); in aio_cleanup_thread()
2637 (aiop->aio_pending == 0))) { in aio_cleanup_thread()
2638 aiop->aio_flags &= ~(AIO_CLEANUP | AIO_CLEANUP_PORT); in aio_cleanup_thread()
2642 mutex_exit(&aiop->aio_mutex); in aio_cleanup_thread()
2663 mutex_enter(&aiop->aio_mutex); in aio_cleanup_thread()
2664 aiop->aio_flags |= AIO_REQ_BLOCK; in aio_cleanup_thread()
2665 while (aiop->aio_pending != 0) in aio_cleanup_thread()
2666 cv_wait(&aiop->aio_cleanupcv, in aio_cleanup_thread()
2667 &aiop->aio_mutex); in aio_cleanup_thread()
2668 mutex_exit(&aiop->aio_mutex); in aio_cleanup_thread()
2712 if (aiop->aio_rqclnup && in aio_cleanup_thread()
2713 (aiop->aio_flags & AIO_CLEANUP) == 0) in aio_cleanup_thread()
2718 if (aiop->aio_outstanding != 0) in aio_cleanup_thread()
2737 aio_t *aiop) in aio_hash_insert() argument
2745 nextp = &aiop->aio_hash[index]; in aio_hash_insert()
2895 aio_t *aiop; in alioLF() local
2922 aiop = curproc->p_aio; in alioLF()
2923 if (aiop == NULL || nent <= 0 || nent > _AIO_LISTIO_MAX) in alioLF()
2972 mutex_enter(&aiop->aio_mutex); in alioLF()
2974 mutex_exit(&aiop->aio_mutex); in alioLF()
3023 mutex_enter(&aiop->aio_mutex); in alioLF()
3026 mutex_exit(&aiop->aio_mutex); in alioLF()
3036 mutex_enter(&aiop->aio_mutex); in alioLF()
3039 mutex_exit(&aiop->aio_mutex); in alioLF()
3048 mutex_enter(&aiop->aio_mutex); in alioLF()
3051 mutex_exit(&aiop->aio_mutex); in alioLF()
3064 mutex_enter(&aiop->aio_mutex); in alioLF()
3067 mutex_exit(&aiop->aio_mutex); in alioLF()
3087 mutex_enter(&aiop->aio_mutex); in alioLF()
3090 mutex_exit(&aiop->aio_mutex); in alioLF()
3101 error = aio_req_setup(&reqp, aiop, &aiocb_n, in alioLF()
3104 error = aio_req_setupLF(&reqp, aiop, aiocb, in alioLF()
3111 mutex_enter(&aiop->aio_mutex); in alioLF()
3114 mutex_exit(&aiop->aio_mutex); in alioLF()
3192 mutex_enter(&aiop->aio_mutex); in alioLF()
3195 mutex_exit(&aiop->aio_mutex); in alioLF()
3217 mutex_enter(&aiop->aio_mutex); in alioLF()
3219 if (!cv_wait_sig(&head->lio_notify, &aiop->aio_mutex)) { in alioLF()
3220 mutex_exit(&aiop->aio_mutex); in alioLF()
3225 mutex_exit(&aiop->aio_mutex); in alioLF()
3226 alio_cleanup(aiop, (aiocb_t **)cbplist, nent, AIO_LARGEFILE); in alioLF()
3277 aio_t *aiop, in aio_req_setupLF() argument
3306 mutex_enter(&aiop->aio_mutex); in aio_req_setupLF()
3308 if (aiop->aio_flags & AIO_REQ_BLOCK) { in aio_req_setupLF()
3309 mutex_exit(&aiop->aio_mutex); in aio_req_setupLF()
3319 mutex_exit(&aiop->aio_mutex); in aio_req_setupLF()
3324 aiop->aio_pending++; in aio_req_setupLF()
3325 aiop->aio_outstanding++; in aio_req_setupLF()
3330 aiop->aio_flags |= AIO_SOLARIS_REQ; in aio_req_setupLF()
3334 aio_enq(&aiop->aio_portpending, reqp, 0); in aio_req_setupLF()
3335 mutex_exit(&aiop->aio_mutex); in aio_req_setupLF()
3370 aio_t *aiop; in alio32() local
3405 aiop = curproc->p_aio; in alio32()
3406 if (aiop == NULL || nent <= 0 || nent > _AIO_LISTIO_MAX) in alio32()
3457 mutex_enter(&aiop->aio_mutex); in alio32()
3459 mutex_exit(&aiop->aio_mutex); in alio32()
3514 mutex_enter(&aiop->aio_mutex); in alio32()
3517 mutex_exit(&aiop->aio_mutex); in alio32()
3533 mutex_enter(&aiop->aio_mutex); in alio32()
3536 mutex_exit(&aiop->aio_mutex); in alio32()
3545 mutex_enter(&aiop->aio_mutex); in alio32()
3548 mutex_exit(&aiop->aio_mutex); in alio32()
3561 mutex_enter(&aiop->aio_mutex); in alio32()
3564 mutex_exit(&aiop->aio_mutex); in alio32()
3584 mutex_enter(&aiop->aio_mutex); in alio32()
3587 mutex_exit(&aiop->aio_mutex); in alio32()
3596 error = aio_req_setup(&reqp, aiop, aiocb, in alio32()
3602 mutex_enter(&aiop->aio_mutex); in alio32()
3605 mutex_exit(&aiop->aio_mutex); in alio32()
3697 mutex_enter(&aiop->aio_mutex); in alio32()
3700 mutex_exit(&aiop->aio_mutex); in alio32()
3722 mutex_enter(&aiop->aio_mutex); in alio32()
3724 if (!cv_wait_sig(&head->lio_notify, &aiop->aio_mutex)) { in alio32()
3725 mutex_exit(&aiop->aio_mutex); in alio32()
3730 mutex_exit(&aiop->aio_mutex); in alio32()
3731 alio_cleanup(aiop, (aiocb_t **)cbplist, nent, AIO_32); in alio32()
3795 aio_t *aiop = curproc->p_aio; in aio_port_callback() local
3806 mutex_enter(&aiop->aio_portq_mutex); in aio_port_callback()
3808 aio_req_remove_portq(aiop, reqp); /* remove request from portq */ in aio_port_callback()
3809 mutex_exit(&aiop->aio_portq_mutex); in aio_port_callback()
3811 mutex_enter(&aiop->aio_mutex); in aio_port_callback()
3813 aio_req_free_port(aiop, reqp); /* back to free list */ in aio_port_callback()
3814 mutex_exit(&aiop->aio_mutex); in aio_port_callback()
3823 aio_req_free_port(aiop, reqp); /* request struct back to free list */ in aio_port_callback()
3824 mutex_exit(&aiop->aio_mutex); in aio_port_callback()