Lines Matching refs:rib_stat
228 static rpcib_state_t *rib_stat = NULL; variable
507 rw_enter(&rib_stat->hcas_list_lock, RW_WRITER); in rpcib_free_hca_list()
508 hca = rib_stat->hcas_list; in rpcib_free_hca_list()
509 rib_stat->hcas_list = NULL; in rpcib_free_hca_list()
510 rw_exit(&rib_stat->hcas_list_lock); in rpcib_free_hca_list()
515 rib_stat->nhca_inited--; in rpcib_free_hca_list()
531 rw_enter(&rib_stat->service_list_lock, RW_WRITER); in rpcib_free_service_list()
532 while (rib_stat->service_list != NULL) { in rpcib_free_service_list()
533 service = rib_stat->service_list; in rpcib_free_service_list()
536 rw_exit(&rib_stat->service_list_lock); in rpcib_free_service_list()
543 ret = ibt_deregister_service(rib_stat->ibt_clnt_hdl, in rpcib_free_service_list()
546 rw_exit(&rib_stat->service_list_lock); in rpcib_free_service_list()
553 rib_stat->service_list = service->next; in rpcib_free_service_list()
556 rw_exit(&rib_stat->service_list_lock); in rpcib_free_service_list()
594 if (rib_stat == NULL) { in rpcib_attach()
595 rib_stat = kmem_zalloc(sizeof (*rib_stat), KM_SLEEP); in rpcib_attach()
596 mutex_init(&rib_stat->open_hca_lock, NULL, MUTEX_DRIVER, NULL); in rpcib_attach()
597 rw_init(&rib_stat->hcas_list_lock, NULL, RW_DRIVER, NULL); in rpcib_attach()
598 mutex_init(&rib_stat->listen_lock, NULL, MUTEX_DRIVER, NULL); in rpcib_attach()
601 rib_stat->hca_count = ibt_get_hca_list(NULL); in rpcib_attach()
602 if (rib_stat->hca_count < 1) { in rpcib_attach()
603 mutex_destroy(&rib_stat->listen_lock); in rpcib_attach()
604 rw_destroy(&rib_stat->hcas_list_lock); in rpcib_attach()
605 mutex_destroy(&rib_stat->open_hca_lock); in rpcib_attach()
606 kmem_free(rib_stat, sizeof (*rib_stat)); in rpcib_attach()
607 rib_stat = NULL; in rpcib_attach()
612 (void *)rib_stat, &rib_stat->ibt_clnt_hdl); in rpcib_attach()
615 mutex_destroy(&rib_stat->listen_lock); in rpcib_attach()
616 rw_destroy(&rib_stat->hcas_list_lock); in rpcib_attach()
617 mutex_destroy(&rib_stat->open_hca_lock); in rpcib_attach()
618 kmem_free(rib_stat, sizeof (*rib_stat)); in rpcib_attach()
619 rib_stat = NULL; in rpcib_attach()
623 rib_stat->service_list = NULL; in rpcib_attach()
624 rw_init(&rib_stat->service_list_lock, NULL, RW_DRIVER, NULL); in rpcib_attach()
625 mutex_enter(&rib_stat->open_hca_lock); in rpcib_attach()
626 if (rpcib_open_hcas(rib_stat) != RDMA_SUCCESS) { in rpcib_attach()
627 mutex_exit(&rib_stat->open_hca_lock); in rpcib_attach()
630 mutex_exit(&rib_stat->open_hca_lock); in rpcib_attach()
654 (void) ibt_detach(rib_stat->ibt_clnt_hdl); in rpcib_attach()
657 mutex_destroy(&rib_stat->listen_lock); in rpcib_attach()
658 rw_destroy(&rib_stat->hcas_list_lock); in rpcib_attach()
659 mutex_destroy(&rib_stat->open_hca_lock); in rpcib_attach()
660 rw_destroy(&rib_stat->service_list_lock); in rpcib_attach()
661 kmem_free(rib_stat, sizeof (*rib_stat)); in rpcib_attach()
662 rib_stat = NULL; in rpcib_attach()
691 (void) ibt_detach(rib_stat->ibt_clnt_hdl); in rpcib_detach()
692 mutex_destroy(&rib_stat->listen_lock); in rpcib_detach()
693 rw_destroy(&rib_stat->hcas_list_lock); in rpcib_detach()
694 mutex_destroy(&rib_stat->open_hca_lock); in rpcib_detach()
695 rw_destroy(&rib_stat->service_list_lock); in rpcib_detach()
697 kmem_free(rib_stat, sizeof (*rib_stat)); in rpcib_detach()
698 rib_stat = NULL; in rpcib_detach()
984 rib_mod.rdma_count = rib_stat->nhca_inited; in rpcib_open_hcas()
1424 (void) svc_queuereq((queue_t *)rib_stat->q, mp, in rib_svc_rcq_handler()
1451 mutex_enter(&rib_stat->open_hca_lock); in rib_attach_hca()
1452 (void) rpcib_open_hcas(rib_stat); in rib_attach_hca()
1454 mutex_exit(&rib_stat->open_hca_lock); in rib_attach_hca()
1958 rw_enter(&rib_stat->hcas_list_lock, RW_READER); in rib_ping_srv()
1959 for (hca = rib_stat->hcas_list; hca; hca = hca->next) { in rib_ping_srv()
1982 ibt_status = ibt_get_ip_paths(rib_stat->ibt_clnt_hdl, in rib_ping_srv()
2007 rw_exit(&rib_stat->hcas_list_lock); in rib_ping_srv()
2976 mutex_enter(&rib_stat->open_hca_lock); in rib_srv_cm_handler()
2977 q = rib_stat->q; in rib_srv_cm_handler()
2978 mutex_exit(&rib_stat->open_hca_lock); in rib_srv_cm_handler()
3278 rw_enter(&rib_stat->service_list_lock, RW_WRITER); in rib_register_service()
3284 for (service = rib_stat->service_list; in rib_register_service()
3306 rw_exit(&rib_stat->service_list_lock); in rib_register_service()
3322 service->next = rib_stat->service_list; in rib_register_service()
3323 rib_stat->service_list = service; in rib_register_service()
3394 rw_exit(&rib_stat->service_list_lock); in rib_register_service()
3419 mutex_enter(&rib_stat->listen_lock); in rib_listen()
3427 if (rib_stat->q == NULL) { in rib_listen()
3428 mutex_exit(&rib_stat->listen_lock); in rib_listen()
3432 rib_stat->q = &rd->q; in rib_listen()
3434 rw_enter(&rib_stat->hcas_list_lock, RW_READER); in rib_listen()
3435 for (hca = rib_stat->hcas_list; hca; hca = hca->next) { in rib_listen()
3457 rw_exit(&rib_stat->hcas_list_lock); in rib_listen()
3472 mutex_exit(&rib_stat->listen_lock); in rib_listen()
3482 mutex_enter(&rib_stat->listen_lock); in rib_listen_stop()
3495 rw_enter(&rib_stat->hcas_list_lock, RW_READER); in rib_listen_stop()
3496 for (hca = rib_stat->hcas_list; hca; hca = hca->next) { in rib_listen_stop()
3509 rw_exit(&rib_stat->hcas_list_lock); in rib_listen_stop()
3516 rib_stat->q = NULL; in rib_listen_stop()
3517 mutex_exit(&rib_stat->listen_lock); in rib_listen_stop()
3546 rw_enter(&rib_stat->service_list_lock, RW_READER); in rib_stop_services()
3547 for (sc = rib_stat->service_list; in rib_stop_services()
3558 rw_exit(&rib_stat->service_list_lock); in rib_stop_services()
4344 rw_enter(&rib_stat->hcas_list_lock, RW_READER); in rib_connect()
4345 for (hca = rib_stat->hcas_list; hca; hca = hca->next) { in rib_connect()
4352 rw_exit(&rib_stat->hcas_list_lock); in rib_connect()
4358 rw_exit(&rib_stat->hcas_list_lock); in rib_connect()
4832 if ((rib_stat->hcas_list == NULL) && stats_enabled) { in rib_stop_hca_services()
4876 rw_enter(&rib_stat->hcas_list_lock, RW_WRITER); in rib_detach_hca()
4877 for (hcap = &rib_stat->hcas_list; *hcap; hcap = &(*hcap)->next) { in rib_detach_hca()
4887 rib_stat->nhca_inited--; in rib_detach_hca()
4894 rw_exit(&rib_stat->hcas_list_lock); in rib_detach_hca()
5388 rw_enter(&rib_stat->hcas_list_lock, RW_READER); in rpcib_cache_kstat_update()
5389 for (hca = rib_stat->hcas_list; hca; hca = hca->next) { in rpcib_cache_kstat_update()
5399 rw_exit(&rib_stat->hcas_list_lock); in rpcib_cache_kstat_update()