Lines Matching refs:server

132     MppDevBatServ       *server;  member
202 MppDevBatTask *batch_add(MppDevBatServ *server) in batch_add() argument
204 MppDevBatTask *batch = (MppDevBatTask *)mpp_mem_pool_get_f(server->batch_pool); in batch_add()
215 (server->max_task_in_batch * MAX_REQ_SEND_CNT); in batch_add()
217 (server->max_task_in_batch * MAX_REQ_WAIT_CNT)); in batch_add()
220 list_add_tail(&batch->link_server, &server->list_batch_free); in batch_add()
221 server->batch_free++; in batch_add()
223 mpp_serv_dbg_flow("batch add free count %d:%d\n", server->batch_run, server->batch_free); in batch_add()
227 void batch_del(MppDevBatServ *server, MppDevBatTask *batch) in batch_del() argument
235 mpp_mem_pool_put_f(server->batch_pool, batch); in batch_del()
236 server->batch_free--; in batch_del()
237 mpp_serv_dbg_flow("batch del free count %d:%d\n", server->batch_run, server->batch_free); in batch_del()
240 void batch_send(MppDevBatServ *server, MppDevBatTask *batch) in batch_send() argument
246 ret = mpp_service_ioctl_request(server->server_fd, batch->send_reqs); in batch_send()
255 list_add_tail(&batch->link_server, &server->list_batch); in batch_send()
256 server->batch_free--; in batch_send()
257 server->batch_run++; in batch_send()
264 MppDevBatServ *server = (MppDevBatServ *)p; in process_task() local
265 MppMutex *lock = &server->lock; in process_task()
278 batch = list_first_entry_or_null(&server->list_batch, MppDevBatTask, link_server); in process_task()
283 ret = mpp_service_ioctl_request(server->server_fd, batch->wait_reqs); in process_task()
291 mpp_assert(batch_slot_id < server->max_task_in_batch); in process_task()
328 list_add_tail(&batch->link_server, &server->list_batch_free); in process_task()
329 server->batch_run--; in process_task()
330 server->batch_free++; in process_task()
340 mpp_timer_set_enable(server->timer, 0); in process_task()
347 pending = server->pending_count; in process_task()
348 if (!pending && !server->batch_run && !server->session_count) { in process_task()
349 mpp_timer_set_enable(server->timer, 0); in process_task()
355 pending, server->batch_run, server->batch_free, server->batch_max_count); in process_task()
359 if (!server->batch_free) { in process_task()
361 if (server->batch_free + server->batch_run >= server->batch_max_count) { in process_task()
366 batch_add(server); in process_task()
368 mpp_assert(server->batch_free); 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()
380 mpp_log_f("batch run %d free %d\n", server->batch_run, server->batch_free); in process_task()
386 batch_send(server, batch); in process_task()
395 if (!server->batch_free) { in process_task()
400 batch = list_first_entry_or_null(&server->list_batch_free, MppDevBatTask, link_server); in process_task()
406 task = list_first_entry_or_null(&server->pending_task, MppDevTask, link_server); in process_task()
408 server->pending_count--; in process_task()
414 batch->batch_id = server->batch_id++; in process_task()
418 mpp_assert(task->batch_slot_id < server->max_task_in_batch); in process_task()
420 if (batch->fill_cnt >= server->max_task_in_batch) in process_task()
448 mpp_assert(batch->send_req_cnt <= server->max_task_in_batch * MAX_REQ_NUM); in process_task()
471 list_add_tail(&batch->link_server, &server->list_batch); in process_task()
474 batch_send(server, batch); in process_task()
491 if (!session || !session->server) { in send_task()
496 MppDevBatServ *server = session->server; in send_task() local
513 mpp_mutex_lock(&server->lock); in send_task()
514 task->task_id = server->task_id++; in send_task()
516 list_add_tail(&task->link_server, &server->pending_task); in send_task()
517 server->pending_count++; in send_task()
519 session->client, task->slot_idx, server->pending_count); in send_task()
521 mpp_timer_set_enable(server->timer, 1); in send_task()
522 mpp_mutex_unlock(&server->lock); in send_task()
560 MppDevBatServ *server = NULL; in bat_server_get() local
565 server = srv->bat_server[client_type]; in bat_server_get()
566 if (server) { in bat_server_get()
568 return server; in bat_server_get()
571 server = mpp_calloc(MppDevBatServ, 1); in bat_server_get()
572 if (!server) { in bat_server_get()
578 server->server_fd = open(srv->server_name, O_RDWR | O_CLOEXEC); in bat_server_get()
579 if (server->server_fd < 0) { in bat_server_get()
587 server->timer = mpp_timer_get(timer_name); in bat_server_get()
588 if (!server->timer) { in bat_server_get()
593 mpp_mutex_init(&server->lock); in bat_server_get()
595 mpp_timer_set_callback(server->timer, mpp_server_thread, server); in bat_server_get()
597 mpp_timer_set_timing(server->timer, 10, 10); in bat_server_get()
599 INIT_LIST_HEAD(&server->session_list); in bat_server_get()
600 INIT_LIST_HEAD(&server->list_batch); in bat_server_get()
601 INIT_LIST_HEAD(&server->list_batch_free); in bat_server_get()
602 INIT_LIST_HEAD(&server->pending_task); in bat_server_get()
604 server->batch_pool = srv->batch_pool; in bat_server_get()
605 server->max_task_in_batch = srv->max_task_in_batch; in bat_server_get()
607 srv->bat_server[client_type] = server; in bat_server_get()
610 return server; in bat_server_get()
613 if (server) { in bat_server_get()
614 if (server->timer) { in bat_server_get()
615 mpp_timer_put(server->timer); in bat_server_get()
616 server->timer = NULL; in bat_server_get()
619 if (server->server_fd >= 0) { in bat_server_get()
620 close(server->server_fd); in bat_server_get()
621 server->server_fd = -1; in bat_server_get()
623 mpp_mutex_destroy(&server->lock); in bat_server_get()
625 MPP_FREE(server); in bat_server_get()
633 MppDevBatServ *server = NULL; in bat_server_put() local
643 server = srv->bat_server[client_type]; in bat_server_put()
646 mpp_assert(server->batch_run == 0); in bat_server_put()
647 mpp_assert(list_empty(&server->list_batch)); in bat_server_put()
648 mpp_assert(server->pending_count == 0); in bat_server_put()
651 if (server->timer) { in bat_server_put()
652 mpp_timer_put(server->timer); in bat_server_put()
653 server->timer = NULL; in bat_server_put()
656 if (server->batch_free) { in bat_server_put()
657 list_for_each_entry_safe(batch, n, &server->list_batch_free, MppDevBatTask, link_server) { in bat_server_put()
658 batch_del(server, batch); in bat_server_put()
661 mpp_assert(list_empty(&server->list_batch_free)); in bat_server_put()
664 if (server->server_fd >= 0) { in bat_server_put()
665 close(server->server_fd); in bat_server_put()
666 server->server_fd = -1; in bat_server_put()
668 mpp_mutex_destroy(&server->lock); in bat_server_put()
669 MPP_FREE(server); in bat_server_put()
678 MppDevBatServ *server; in server_attach() local
688 server = bat_server_get(srv, client_type); in server_attach()
689 if (!server) { in server_attach()
707 session->server = server; in server_attach()
727 list_add_tail(&session->list_server, &server->session_list); in server_attach()
732 ctx->server = server->server_fd; in server_attach()
735 ctx->server = ctx->client; in server_attach()
738 server->batch_max_count++; in server_attach()
739 server->session_count++; in server_attach()
748 MppDevBatServ *server = bat_server_get(srv, client_type); in server_detach() local
751 mpp_assert(server); in server_detach()
759 ctx->server = ctx->client; in server_detach()
763 mpp_assert(server); in server_detach()
774 server->batch_max_count++; in server_detach()
775 server->session_count++; in server_detach()