Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/nvme/host/rdma.c nvme_rdma_create_cq() -> nvme_rdma_queue_idx()

Type Parameter Key Value
PARAM_VALUE 0 queue 4096-ptr_max
BUF_SIZE 0 queue s32min-(-2),1-s32max
BUF_SIZE 0 queue s32min-(-2),1-s32max
BUF_SIZE 0 queue->device (-1),48
CAPPED_DATA 0 queue->device->num_inline_segments 1
DATA_SOURCE 0 queue $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &id_priv->handler_mutex
HALF_LOCKED2 &listen_id->handler_mutex

drivers/nvme/host/rdma.c nvme_rdma_create_queue_ib() -> nvme_rdma_queue_idx()

Type Parameter Key Value
PARAM_VALUE 0 queue 4096-ptr_max
PARAM_VALUE 0 queue->ctrl 4096-ptr_max
BUF_SIZE 0 queue s32min-(-2),1-s32max
BUF_SIZE 0 queue s32min-(-2),1-s32max
BUF_SIZE 0 queue->device (-1),48
BUF_SIZE 0 queue->rsp_ring s32min-s32max
CAPPED_DATA 0 queue->cm_id->device 1
CAPPED_DATA 0 queue->device->num_inline_segments 1
CAPPED_DATA 0 queue->device->pd->device 1
CAPPED_DATA 0 queue->queue_size 1
CAPPED_DATA 0 &queue->qp->rdma_mrs 1
DATA_SOURCE 0 queue $0
PARAM_COMPARE 0 queue->cm_id->device == $0->device->pd->device
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 queue->ib_cq->cqe_used
NO_OVERFLOW_SIMPLE 0 queue->queue_size
HALF_LOCKED2 &id_priv->handler_mutex
HALF_LOCKED2 &listen_id->handler_mutex

drivers/nvme/host/rdma.c nvme_rdma_create_queue_ib() -> nvme_rdma_queue_idx()

Type Parameter Key Value
PARAM_VALUE 0 queue 4096-ptr_max
PARAM_VALUE 0 queue->ctrl 4096-ptr_max
BUF_SIZE 0 queue s32min-(-2),1-s32max
BUF_SIZE 0 queue s32min-(-2),1-s32max
BUF_SIZE 0 queue->device (-1),48
BUF_SIZE 0 queue->rsp_ring s32min-s32max
CAPPED_DATA 0 queue->cm_id->device 1
CAPPED_DATA 0 queue->device->num_inline_segments 1
CAPPED_DATA 0 queue->device->pd->device 1
CAPPED_DATA 0 queue->queue_size 1
CAPPED_DATA 0 &queue->qp->rdma_mrs 1
CAPPED_DATA 0 &queue->qp->sig_mrs 1
DATA_SOURCE 0 queue $0
PARAM_COMPARE 0 queue->cm_id->device == $0->device->pd->device
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 queue->ib_cq->cqe_used
NO_OVERFLOW_SIMPLE 0 queue->queue_size
HALF_LOCKED2 &id_priv->handler_mutex
HALF_LOCKED2 &listen_id->handler_mutex

drivers/nvme/host/rdma.c nvme_rdma_map_data() -> nvme_rdma_queue_idx()

Type Parameter Key Value
PARAM_VALUE 0 queue 4096-ptr_max
PARAM_VALUE 0 queue->ctrl 4096-ptr_max
BUF_SIZE 0 queue 736,816,848,1000-s32max
BUF_SIZE 0 queue 736,816,848,1000-s32max
DATA_SOURCE 0 queue $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 queue unit_byte
HALF_LOCKED2 __tag_set->srcu
HALF_LOCKED2 rcu_read

drivers/nvme/host/rdma.c nvme_rdma_poll_queue() -> nvme_rdma_queue_idx()

Type Parameter Key Value
PARAM_VALUE 0 queue 4096-ptr_max
BUF_SIZE 0 queue s32min-(-1),1-s32max
BUF_SIZE 0 queue s32min-(-1),1-s32max
BUF_SIZE 0 queue->cm_id (-1),560
BUF_SIZE 0 queue->device (-1),48
DATA_SOURCE 0 queue $0
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 queue->ctrl->ctrl.queue_count
NO_OVERFLOW_SIMPLE 0 queue->ib_cq->cqe_used
NO_OVERFLOW_SIMPLE 0 queue->queue_size

drivers/nvme/host/rdma.c nvme_rdma_recv_done() -> nvme_rdma_queue_idx()

Type Parameter Key Value
PARAM_VALUE 0 queue 4096-ptr_max
BUF_SIZE 0 queue s32min-(-2),1-s32max
BUF_SIZE 0 queue s32min-(-2),1-s32max
RX_PATH
TASK_NOT_RUNNING
UNITS 0 queue unit_byte

drivers/nvme/host/rdma.c nvme_rdma_route_resolved() -> nvme_rdma_queue_idx()

Type Parameter Key Value
PARAM_VALUE 0 queue 4096-ptr_max
BUF_SIZE 0 queue s32min-(-2),1-s32max
BUF_SIZE 0 queue s32min-(-2),1-s32max
DATA_SOURCE 0 queue $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &id_priv->handler_mutex
HALF_LOCKED2 &listen_id->handler_mutex

drivers/nvme/host/rdma.c nvme_rdma_tagset() -> nvme_rdma_queue_idx()

Type Parameter Key Value
PARAM_VALUE 0 queue 4096-ptr_max
PARAM_VALUE 0 queue->ctrl 4096-ptr_max
BUF_SIZE 0 queue s32min-(-2),1-s32max
BUF_SIZE 0 queue s32min-(-2),1-s32max
DATA_SOURCE 0 queue $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 queue unit_byte
HALF_LOCKED2 &pool->lock

drivers/nvme/host/rdma.c nvme_rdma_timeout() -> nvme_rdma_queue_idx()

Type Parameter Key Value
PARAM_VALUE 0 queue 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &khd->lock