Documented in 1 files:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/infiniband/sw/rdmavt/qp.c rvt_get_rwqe() -> rvt_get_rq_count()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
PARAM_VALUE 2 tail 0-4294967294
BUF_SIZE 0 rq 192
CAPPED_DATA 0 rq->size 1
CAPPED_DATA 2 tail 1
DATA_SOURCE 1 head r get_rvt_head
FUZZY_MAX 2 tail 0
PARAM_COMPARE 0 rq->size >= $2
PARAM_COMPARE 2 tail <= $0->size
PREEMPT_ADD <- disables preempt
TASK_NOT_RUNNING
UNITS 2 tail unit_byte
LOCK2 flags
LOCK2 flags
LOCK2 rcu_read
LOCK2 0 &rq->kwq->c_lock
HALF_LOCKED2 &packet->qp->r_lock
HALF_LOCKED2 &qp->r_lock
HALF_LOCKED2 ps.flags
TYPE_LOCK (struct rvt_krwq)->c_lock
TYPE_LOCK (struct rvt_qp)->r_lock

drivers/infiniband/sw/rdmavt/qp.c rvt_get_rwqe() -> rvt_get_rq_count()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
PARAM_VALUE 2 tail 0-4294967294
BUF_SIZE 0 rq 192
CAPPED_DATA 0 rq->size 1
FUZZY_MAX 2 tail 0
PREEMPT_ADD <- disables preempt
TASK_NOT_RUNNING
UNITS 2 tail unit_byte
LOCK2 flags
LOCK2 flags
LOCK2 rcu_read
LOCK2 0 &rq->kwq->c_lock
HALF_LOCKED2 &packet->qp->r_lock
HALF_LOCKED2 &qp->r_lock
HALF_LOCKED2 ps.flags
TYPE_LOCK (struct rvt_krwq)->c_lock
TYPE_LOCK (struct rvt_qp)->r_lock

drivers/infiniband/sw/rdmavt/rc.c rvt_compute_aeth() -> rvt_get_rq_count()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
PARAM_VALUE 1 head 0-4294967294
PARAM_VALUE 2 tail 0-4294967294
CAPPED_DATA 1 head 1
CAPPED_DATA 2 tail 1
FUZZY_MAX 1 head 0
FUZZY_MAX 2 tail 0
PREEMPT_ADD
TASK_NOT_RUNNING
UNITS 1 head unit_byte
UNITS 2 tail unit_byte
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &qp->s_lock
HALF_LOCKED2 ps.flags
HALF_LOCKED2 rcu_read