Lines Matching defs:resources
353 struct spdk_nvmf_rdma_resources *resources;
421 struct spdk_nvmf_rdma_resources *resources;
651 if (rqpair->resources->reqs[i].state != RDMA_REQUEST_STATE_FREE) {
652 nvmf_rdma_dump_request(&rqpair->resources->reqs[i]);
658 nvmf_rdma_resources_destroy(struct spdk_nvmf_rdma_resources *resources)
660 spdk_free(resources->cmds);
661 spdk_free(resources->cpls);
662 spdk_free(resources->bufs);
663 spdk_free(resources->reqs);
664 spdk_free(resources->recvs);
665 free(resources);
672 struct spdk_nvmf_rdma_resources *resources;
682 resources = calloc(1, sizeof(struct spdk_nvmf_rdma_resources));
683 if (!resources) {
684 SPDK_ERRLOG("Unable to allocate resources for receive queue.\n");
688 resources->reqs = spdk_zmalloc(opts->max_queue_depth * sizeof(*resources->reqs),
690 resources->recvs = spdk_zmalloc(opts->max_queue_depth * sizeof(*resources->recvs),
692 resources->cmds = spdk_zmalloc(opts->max_queue_depth * sizeof(*resources->cmds),
694 resources->cpls = spdk_zmalloc(opts->max_queue_depth * sizeof(*resources->cpls),
698 resources->bufs = spdk_zmalloc(opts->max_queue_depth * opts->in_capsule_data_size,
703 if (!resources->reqs || !resources->recvs || !resources->cmds ||
704 !resources->cpls || (opts->in_capsule_data_size && !resources->bufs)) {
710 resources->cmds, opts->max_queue_depth * sizeof(*resources->cmds));
712 resources->cpls, opts->max_queue_depth * sizeof(*resources->cpls));
713 if (resources->bufs) {
715 resources->bufs, opts->max_queue_depth *
720 STAILQ_INIT(&resources->incoming_queue);
721 STAILQ_INIT(&resources->free_queue);
730 rdma_recv = &resources->recvs[i];
734 if (resources->bufs) {
735 rdma_recv->buf = (void *)((uintptr_t)resources->bufs + (i *
741 rdma_recv->sgl[0].addr = (uintptr_t)&resources->cmds[i];
742 rdma_recv->sgl[0].length = sizeof(resources->cmds[i]);
743 rc = spdk_rdma_utils_get_translation(opts->map, &resources->cmds[i], sizeof(resources->cmds[i]),
773 rdma_req = &resources->reqs[i];
785 rdma_req->req.rsp = &resources->cpls[i];
787 rdma_req->rsp.sgl[0].addr = (uintptr_t)&resources->cpls[i];
788 rdma_req->rsp.sgl[0].length = sizeof(resources->cpls[i]);
789 rc = spdk_rdma_utils_get_translation(opts->map, &resources->cpls[i], sizeof(resources->cpls[i]),
814 STAILQ_INSERT_TAIL(&resources->free_queue, rdma_req, state_link);
827 return resources;
830 nvmf_rdma_resources_destroy(resources);
870 } else if (rqpair->poller && rqpair->resources) {
876 req = &rqpair->resources->reqs[i];
889 if (rqpair->srq != NULL && rqpair->resources != NULL) {
891 STAILQ_FOREACH_SAFE(rdma_recv, &rqpair->resources->incoming_queue, link, recv_tmp) {
893 STAILQ_REMOVE(&rqpair->resources->incoming_queue, rdma_recv, spdk_nvmf_rdma_recv, link);
915 if (rqpair->srq == NULL && rqpair->resources != NULL) {
916 nvmf_rdma_resources_destroy(rqpair->resources);
1039 rqpair->resources = nvmf_rdma_resources_create(&opts);
1041 if (!rqpair->resources) {
1042 SPDK_ERRLOG("Unable to allocate resources for receive queue.\n");
1047 rqpair->resources = rqpair->poller->resources;
1335 * responder_resources - Specifies the number of responder resources that is requested by the recipient.
1351 * The initiator_depth field must match the responder resources specified by the remote node when running
1994 STAILQ_INSERT_HEAD(&rqpair->resources->free_queue, rdma_req, state_link);
2110 * to release resources. */
3385 struct spdk_nvmf_rdma_resources *resources;
3422 resources = rqpair->resources;
3423 while (!STAILQ_EMPTY(&resources->free_queue) && !STAILQ_EMPTY(&resources->incoming_queue)) {
3424 rdma_req = STAILQ_FIRST(&resources->free_queue);
3425 STAILQ_REMOVE_HEAD(&resources->free_queue, state_link);
3426 rdma_req->recv = STAILQ_FIRST(&resources->incoming_queue);
3427 STAILQ_REMOVE_HEAD(&resources->incoming_queue, link);
3442 if (!STAILQ_EMPTY(&resources->incoming_queue) && STAILQ_EMPTY(&resources->free_queue)) {
3737 * Once these events are sent to SPDK, we should release all IB resources and
3740 * resources are already cleaned. */
4084 poller->resources = nvmf_rdma_resources_create(&opts);
4085 if (!poller->resources) {
4086 SPDK_ERRLOG("Unable to allocate resources for shared receive queue.\n");
4260 if (poller->resources) {
4261 nvmf_rdma_resources_destroy(poller->resources);
4771 STAILQ_INSERT_HEAD(&rqpair->resources->incoming_queue, rdma_recv, link);
5126 rdma_req = &rqpair->resources->reqs[i];