Lines Matching refs:snfq

2079 struct sendfile_queue *snfq;  variable
2089 snfq = kmem_zalloc(sizeof (struct sendfile_queue), KM_SLEEP); in sendfile_init()
2091 mutex_init(&snfq->snfq_lock, NULL, MUTEX_DEFAULT, NULL); in sendfile_init()
2092 cv_init(&snfq->snfq_cv, NULL, CV_DEFAULT, NULL); in sendfile_init()
2093 snfq->snfq_max_threads = max_ncpus; in sendfile_init()
2284 CALLB_CPR_INIT(&cprinfo, &snfq->snfq_lock, callb_generic_cpr, "snfq"); in snf_async_thread()
2286 mutex_enter(&snfq->snfq_lock); in snf_async_thread()
2292 while ((sr = snfq->snfq_req_head) == NULL) { in snf_async_thread()
2295 snfq->snfq_svc_threads--; in snf_async_thread()
2300 snfq->snfq_idle_cnt++; in snf_async_thread()
2302 time_left = cv_reltimedwait(&snfq->snfq_cv, in snf_async_thread()
2303 &snfq->snfq_lock, snfq_timeout, TR_CLOCK_TICK); in snf_async_thread()
2304 snfq->snfq_idle_cnt--; in snf_async_thread()
2306 CALLB_CPR_SAFE_END(&cprinfo, &snfq->snfq_lock); in snf_async_thread()
2308 snfq->snfq_req_head = sr->sr_next; in snf_async_thread()
2309 snfq->snfq_req_cnt--; in snf_async_thread()
2310 mutex_exit(&snfq->snfq_lock); in snf_async_thread()
2312 mutex_enter(&snfq->snfq_lock); in snf_async_thread()
2353 mutex_enter(&snfq->snfq_lock); in create_thread()
2354 if (snfq->snfq_req_cnt >= snfq->snfq_idle_cnt && in create_thread()
2355 snfq->snfq_svc_threads < snfq->snfq_max_threads) { in create_thread()
2358 snfq->snfq_svc_threads++; in create_thread()
2360 if (snfq->snfq_req_head == NULL) { in create_thread()
2361 snfq->snfq_req_head = snfq->snfq_req_tail = sr; in create_thread()
2362 cv_signal(&snfq->snfq_cv); in create_thread()
2364 snfq->snfq_req_tail->sr_next = sr; in create_thread()
2365 snfq->snfq_req_tail = sr; in create_thread()
2367 snfq->snfq_req_cnt++; in create_thread()
2368 mutex_exit(&snfq->snfq_lock); in create_thread()