Lines Matching full:server

69     /* link to server */
81 /* lock by server */
93 /* link to server */
104 /* lock and clean by server */
108 /* lock by server */
118 /* hash table to server */
126 MppDevBatServ *server; member
179 MppDevBatTask *batch_add(MppDevBatServ *server) in batch_add() argument
181 MppDevBatTask *batch = (MppDevBatTask *)mpp_mem_pool_get(server->batch_pool); in batch_add()
192 (server->max_task_in_batch * MAX_REQ_SEND_CNT); in batch_add()
194 (server->max_task_in_batch * MAX_REQ_WAIT_CNT)); in batch_add()
197 list_add_tail(&batch->link_server, &server->list_batch_free); in batch_add()
198 server->batch_free++; in batch_add()
200 mpp_serv_dbg_flow("batch add free count %d:%d\n", server->batch_run, server->batch_free); in batch_add()
204 void batch_del(MppDevBatServ *server, MppDevBatTask *batch) in batch_del() argument
212 mpp_mem_pool_put(server->batch_pool, batch); in batch_del()
213 server->batch_free--; in batch_del()
214 mpp_serv_dbg_flow("batch del free count %d:%d\n", server->batch_run, server->batch_free); in batch_del()
217 void batch_send(MppDevBatServ *server, MppDevBatTask *batch) in batch_send() argument
223 ret = mpp_service_ioctl_request(server->server_fd, batch->send_reqs); in batch_send()
232 list_add_tail(&batch->link_server, &server->list_batch); in batch_send()
233 server->batch_free--; in batch_send()
234 server->batch_run++; in batch_send()
241 MppDevBatServ *server = (MppDevBatServ *)p; in process_task() local
242 Mutex *lock = server->lock; in process_task()
255 batch = list_first_entry_or_null(&server->list_batch, MppDevBatTask, link_server); in process_task()
260 ret = mpp_service_ioctl_request(server->server_fd, batch->wait_reqs); in process_task()
268 mpp_assert(batch_slot_id < server->max_task_in_batch); in process_task()
305 list_add_tail(&batch->link_server, &server->list_batch_free); in process_task()
306 server->batch_run--; in process_task()
307 server->batch_free++; in process_task()
317 mpp_timer_set_enable(server->timer, 0); in process_task()
324 pending = server->pending_count; in process_task()
325 if (!pending && !server->batch_run && !server->session_count) { in process_task()
326 mpp_timer_set_enable(server->timer, 0); in process_task()
332 pending, server->batch_run, server->batch_free, server->batch_max_count); in process_task()
336 if (!server->batch_free) { in process_task()
338 if (server->batch_free + server->batch_run >= server->batch_max_count) { in process_task()
343 batch_add(server); in process_task()
345 mpp_assert(server->batch_free); in process_task()
349 if (!server->batch_free) { in process_task()
354 batch = list_first_entry_or_null(&server->list_batch_free, MppDevBatTask, link_server); in process_task()
357 mpp_log_f("batch run %d free %d\n", server->batch_run, server->batch_free); in process_task()
363 batch_send(server, batch); in process_task()
372 if (!server->batch_free) { in process_task()
377 batch = list_first_entry_or_null(&server->list_batch_free, MppDevBatTask, link_server); in process_task()
383 task = list_first_entry_or_null(&server->pending_task, MppDevTask, link_server); in process_task()
385 server->pending_count--; in process_task()
391 batch->batch_id = server->batch_id++; in process_task()
395 mpp_assert(task->batch_slot_id < server->max_task_in_batch); in process_task()
397 if (batch->fill_cnt >= server->max_task_in_batch) in process_task()
425 mpp_assert(batch->send_req_cnt <= server->max_task_in_batch * MAX_REQ_NUM); in process_task()
448 list_add_tail(&batch->link_server, &server->list_batch); in process_task()
451 batch_send(server, batch); in process_task()
468 if (NULL == session || NULL == session->server) { in send_task()
473 MppDevBatServ *server = session->server; in send_task() local
490 server->lock->lock(); in send_task()
491 task->task_id = server->task_id++; in send_task()
493 list_add_tail(&task->link_server, &server->pending_task); in send_task()
494 server->pending_count++; in send_task()
496 session->client, task->slot_idx, server->pending_count); in send_task()
498 mpp_timer_set_enable(server->timer, 1); in send_task()
499 server->lock->unlock(); in send_task()
662 MppDevBatServ *server = NULL; in bat_server_get() local
666 server = mBatServer[client_type]; in bat_server_get()
667 if (server) in bat_server_get()
668 return server; in bat_server_get()
670 server = mpp_calloc(MppDevBatServ, 1); in bat_server_get()
671 if (NULL == server) { in bat_server_get()
672 mpp_err("mpp server failed to get bat server\n"); in bat_server_get()
676 server->server_fd = open(mServerName, O_RDWR | O_CLOEXEC); in bat_server_get()
677 if (server->server_fd < 0) { in bat_server_get()
678 mpp_err("mpp server get bat server failed to open device\n"); in bat_server_get()
687 server->timer = mpp_timer_get(timer_name); in bat_server_get()
688 if (NULL == server->timer) { in bat_server_get()
689 mpp_err("mpp server get bat server failed to create timer\n"); in bat_server_get()
693 server->lock = new Mutex(); in bat_server_get()
694 if (NULL == server->lock) { in bat_server_get()
695 mpp_err("mpp server get bat server failed to create mutex\n"); in bat_server_get()
699 mpp_timer_set_callback(server->timer, mpp_server_thread, server); in bat_server_get()
701 mpp_timer_set_timing(server->timer, 10, 10); in bat_server_get()
703 INIT_LIST_HEAD(&server->session_list); in bat_server_get()
704 INIT_LIST_HEAD(&server->list_batch); in bat_server_get()
705 INIT_LIST_HEAD(&server->list_batch_free); in bat_server_get()
706 INIT_LIST_HEAD(&server->pending_task); in bat_server_get()
708 server->batch_pool = mBatchPool; in bat_server_get()
709 server->max_task_in_batch = mMaxTaskInBatch; in bat_server_get()
711 mBatServer[client_type] = server; in bat_server_get()
712 return server; in bat_server_get()
715 if (server) { in bat_server_get()
716 if (server->timer) { in bat_server_get()
717 mpp_timer_put(server->timer); in bat_server_get()
718 server->timer = NULL; in bat_server_get()
721 if (server->server_fd >= 0) { in bat_server_get()
722 close(server->server_fd); in bat_server_get()
723 server->server_fd = -1; in bat_server_get()
725 if (server->lock) { in bat_server_get()
726 delete server->lock; in bat_server_get()
727 server->lock = NULL; in bat_server_get()
730 MPP_FREE(server); in bat_server_get()
731 return server; in bat_server_get()
737 MppDevBatServ *server = NULL; in bat_server_put() local
743 server = mBatServer[client_type]; in bat_server_put()
746 mpp_assert(server->batch_run == 0); in bat_server_put()
747 mpp_assert(list_empty(&server->list_batch)); in bat_server_put()
748 mpp_assert(server->pending_count == 0); in bat_server_put()
751 if (server->timer) { in bat_server_put()
752 mpp_timer_put(server->timer); in bat_server_put()
753 server->timer = NULL; in bat_server_put()
756 if (server->batch_free) { in bat_server_put()
757 list_for_each_entry_safe(batch, n, &server->list_batch_free, MppDevBatTask, link_server) { in bat_server_put()
758 batch_del(server, batch); in bat_server_put()
761 mpp_assert(list_empty(&server->list_batch_free)); in bat_server_put()
764 if (server->server_fd >= 0) { in bat_server_put()
765 close(server->server_fd); in bat_server_put()
766 server->server_fd = -1; in bat_server_put()
768 if (server->lock) { in bat_server_put()
769 delete server->lock; in bat_server_put()
770 server->lock = NULL; in bat_server_put()
772 MPP_FREE(server); in bat_server_put()
781 mpp_err("mpp server failed for %s\n", mServerError); in attach()
788 mpp_err("mpp server attach failed with invalid client type %d\n", client_type); in attach()
792 /* if client type server is not created create it first */ in attach()
793 MppDevBatServ *server = bat_server_get(client_type); in attach() local
794 if (NULL == server) { in attach()
795 mpp_err("mpp server get bat server with client type %d failed\n", client_type); in attach()
799 AutoMutex auto_lock(server->lock); in attach()
809 session->server = server; in attach()
829 list_add_tail(&session->list_server, &server->session_list); in attach()
834 ctx->server = server->server_fd; in attach()
837 ctx->server = ctx->client; in attach()
840 server->batch_max_count++; in attach()
841 server->session_count++; in attach()
849 mpp_err("mpp server failed for %s\n", mServerError); in detach()
855 MppDevBatServ *server = bat_server_get(client_type); in detach() local
858 mpp_assert(server); in detach()
860 AutoMutex auto_lock(server->lock); in detach()
864 ctx->server = ctx->client; in detach()
868 mpp_assert(server); in detach()
882 server->batch_max_count++; in detach()
883 server->session_count++; in detach()
891 mpp_err("mpp server failed for %s\n", mServerError); in check_status()