Lines Matching defs:rib_stat

223  * rib_stat: private data pointer used when registering
227 static rpcib_state_t *rib_stat = NULL;
506 rw_enter(&rib_stat->hcas_list_lock, RW_WRITER);
507 hca = rib_stat->hcas_list;
508 rib_stat->hcas_list = NULL;
509 rw_exit(&rib_stat->hcas_list_lock);
514 rib_stat->nhca_inited--;
530 rw_enter(&rib_stat->service_list_lock, RW_WRITER);
531 while (rib_stat->service_list != NULL) {
532 service = rib_stat->service_list;
535 rw_exit(&rib_stat->service_list_lock);
542 ret = ibt_deregister_service(rib_stat->ibt_clnt_hdl,
545 rw_exit(&rib_stat->service_list_lock);
552 rib_stat->service_list = service->next;
555 rw_exit(&rib_stat->service_list_lock);
593 if (rib_stat == NULL) {
594 rib_stat = kmem_zalloc(sizeof (*rib_stat), KM_SLEEP);
595 mutex_init(&rib_stat->open_hca_lock, NULL, MUTEX_DRIVER, NULL);
596 rw_init(&rib_stat->hcas_list_lock, NULL, RW_DRIVER, NULL);
597 mutex_init(&rib_stat->listen_lock, NULL, MUTEX_DRIVER, NULL);
600 rib_stat->hca_count = ibt_get_hca_list(NULL);
601 if (rib_stat->hca_count < 1) {
602 mutex_destroy(&rib_stat->listen_lock);
603 rw_destroy(&rib_stat->hcas_list_lock);
604 mutex_destroy(&rib_stat->open_hca_lock);
605 kmem_free(rib_stat, sizeof (*rib_stat));
606 rib_stat = NULL;
611 (void *)rib_stat, &rib_stat->ibt_clnt_hdl);
614 mutex_destroy(&rib_stat->listen_lock);
615 rw_destroy(&rib_stat->hcas_list_lock);
616 mutex_destroy(&rib_stat->open_hca_lock);
617 kmem_free(rib_stat, sizeof (*rib_stat));
618 rib_stat = NULL;
622 rib_stat->service_list = NULL;
623 rw_init(&rib_stat->service_list_lock, NULL, RW_DRIVER, NULL);
624 mutex_enter(&rib_stat->open_hca_lock);
625 if (rpcib_open_hcas(rib_stat) != RDMA_SUCCESS) {
626 mutex_exit(&rib_stat->open_hca_lock);
629 mutex_exit(&rib_stat->open_hca_lock);
653 (void) ibt_detach(rib_stat->ibt_clnt_hdl);
656 mutex_destroy(&rib_stat->listen_lock);
657 rw_destroy(&rib_stat->hcas_list_lock);
658 mutex_destroy(&rib_stat->open_hca_lock);
659 rw_destroy(&rib_stat->service_list_lock);
660 kmem_free(rib_stat, sizeof (*rib_stat));
661 rib_stat = NULL;
690 (void) ibt_detach(rib_stat->ibt_clnt_hdl);
691 mutex_destroy(&rib_stat->listen_lock);
692 rw_destroy(&rib_stat->hcas_list_lock);
693 mutex_destroy(&rib_stat->open_hca_lock);
694 rw_destroy(&rib_stat->service_list_lock);
696 kmem_free(rib_stat, sizeof (*rib_stat));
697 rib_stat = NULL;
983 rib_mod.rdma_count = rib_stat->nhca_inited;
1423 svc_queuereq((queue_t *)rib_stat->q, mp);
1449 mutex_enter(&rib_stat->open_hca_lock);
1450 (void) rpcib_open_hcas(rib_stat);
1452 mutex_exit(&rib_stat->open_hca_lock);
1956 rw_enter(&rib_stat->hcas_list_lock, RW_READER);
1957 for (hca = rib_stat->hcas_list; hca; hca = hca->next) {
1980 ibt_status = ibt_get_ip_paths(rib_stat->ibt_clnt_hdl,
2005 rw_exit(&rib_stat->hcas_list_lock);
2974 mutex_enter(&rib_stat->open_hca_lock);
2975 q = rib_stat->q;
2976 mutex_exit(&rib_stat->open_hca_lock);
3276 rw_enter(&rib_stat->service_list_lock, RW_WRITER);
3282 for (service = rib_stat->service_list;
3304 rw_exit(&rib_stat->service_list_lock);
3320 service->next = rib_stat->service_list;
3321 rib_stat->service_list = service;
3392 rw_exit(&rib_stat->service_list_lock);
3417 mutex_enter(&rib_stat->listen_lock);
3419 * if rd parameter is NULL then it means that rib_stat->q is
3425 if (rib_stat->q == NULL) {
3426 mutex_exit(&rib_stat->listen_lock);
3430 rib_stat->q = &rd->q;
3432 rw_enter(&rib_stat->hcas_list_lock, RW_READER);
3433 for (hca = rib_stat->hcas_list; hca; hca = hca->next) {
3455 rw_exit(&rib_stat->hcas_list_lock);
3470 mutex_exit(&rib_stat->listen_lock);
3480 mutex_enter(&rib_stat->listen_lock);
3493 rw_enter(&rib_stat->hcas_list_lock, RW_READER);
3494 for (hca = rib_stat->hcas_list; hca; hca = hca->next) {
3507 rw_exit(&rib_stat->hcas_list_lock);
3514 rib_stat->q = NULL;
3515 mutex_exit(&rib_stat->listen_lock);
3544 rw_enter(&rib_stat->service_list_lock, RW_READER);
3545 for (sc = rib_stat->service_list;
3551 * probably just removed completely through rib_stat.
3556 rw_exit(&rib_stat->service_list_lock);
4342 rw_enter(&rib_stat->hcas_list_lock, RW_READER);
4343 for (hca = rib_stat->hcas_list; hca; hca = hca->next) {
4350 rw_exit(&rib_stat->hcas_list_lock);
4356 rw_exit(&rib_stat->hcas_list_lock);
4830 if ((rib_stat->hcas_list == NULL) && stats_enabled) {
4874 rw_enter(&rib_stat->hcas_list_lock, RW_WRITER);
4875 for (hcap = &rib_stat->hcas_list; *hcap; hcap = &(*hcap)->next) {
4885 rib_stat->nhca_inited--;
4892 rw_exit(&rib_stat->hcas_list_lock);
5386 rw_enter(&rib_stat->hcas_list_lock, RW_READER);
5387 for (hca = rib_stat->hcas_list; hca; hca = hca->next) {
5397 rw_exit(&rib_stat->hcas_list_lock);