Defined in 2 files as a function:

Referenced in 6 files:

Smatch caller information:

kernel/sched/build_policy.c dl_task_timer() -> __rq_lockp()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
DATA_SOURCE 0 rq r _task_rq_lock
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 irq

kernel/sched/build_policy.c dl_task_timer() -> __rq_lockp()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
CAPPED_DATA 0 rq 1
DATA_SOURCE 0 rq r dl_task_offline_migration
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 rq->fair_server.dl_runtime
HALF_LOCKED2 irq

kernel/sched/build_policy.c double_rq_unlock() -> __rq_lockp()

Type Parameter Key Value
DATA_SOURCE 0 rq $0
PREEMPT_ADD
LOCK2 &p->pi_lock
LOCK2 irq
TYPE_LOCK (struct task_struct)->pi_lock

kernel/sched/build_policy.c double_rq_unlock() -> __rq_lockp()

Type Parameter Key Value
DATA_SOURCE 0 rq $1
PREEMPT_ADD
LOCK2 &p->pi_lock
LOCK2 irq
TYPE_LOCK (struct task_struct)->pi_lock

kernel/sched/build_policy.c double_unlock_balance() -> __rq_lockp()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
BUF_SIZE 0 rq->next_class (-1),248
CAPPED_DATA 0 rq 1
DATA_SOURCE 0 rq $0
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 rq->fair_server.dl_runtime
NO_OVERFLOW_SIMPLE 0 rq->fair_server.pi_se->dl_runtime
HALF_LOCKED2 0 rq

kernel/sched/build_policy.c double_unlock_balance() -> __rq_lockp()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
CAPPED_DATA 0 rq 1
DATA_SOURCE 0 rq $1
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 rq->fair_server.dl_runtime

kernel/sched/build_policy.c double_unlock_balance() -> __rq_lockp()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
BUF_SIZE 0 rq->next_class (-1),248
CAPPED_DATA 0 rq 1
DATA_SOURCE 0 rq $0
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 rq->fair_server.dl_runtime
NO_OVERFLOW_SIMPLE 0 rq->fair_server.pi_se->dl_runtime
HALF_LOCKED2 0 rq

kernel/sched/build_policy.c lockdep_assert_rq_held() -> __rq_lockp()

Type Parameter Key Value
BUF_SIZE 0 rq->next_class (-1),248
DATA_SOURCE 0 rq $0
STR_LEN 0 rq (-1),8-9,11-29,31-34,38
STR_LEN 0 rq (-1),8-9,11-29,31-34,38
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 rq->fair_server.dl_runtime
NO_OVERFLOW_SIMPLE 0 rq->fair_server.pi_se->dl_runtime
HALF_LOCKED2 &rt_rq->rt_runtime_lock
HALF_LOCKED2 irq
HALF_LOCKED2 0 rq

kernel/sched/build_policy.c lockdep_assert_rq_held() -> __rq_lockp()

Type Parameter Key Value
BUF_SIZE 0 rq->next_class (-1),248
DATA_SOURCE 0 rq $0
STR_LEN 0 rq (-1),8-9,11-29,31-34,38
STR_LEN 0 rq (-1),8-9,11-29,31-34,38
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 rq->fair_server.dl_runtime
NO_OVERFLOW_SIMPLE 0 rq->fair_server.pi_se->dl_runtime
HALF_LOCKED2 &rt_rq->rt_runtime_lock
HALF_LOCKED2 irq
HALF_LOCKED2 0 rq

kernel/sched/build_policy.c rq_pin_lock() -> __rq_lockp()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
DATA_SOURCE 0 rq $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 irq
HALF_LOCKED2 0 rq

kernel/sched/build_policy.c rq_repin_lock() -> __rq_lockp()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
CAPPED_DATA 0 rq 1
DATA_SOURCE 0 rq $0
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 rq->fair_server.dl_runtime
HALF_LOCKED2 irq

kernel/sched/build_policy.c rq_unpin_lock() -> __rq_lockp()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
DATA_SOURCE 0 rq $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 rq->fair_server.dl_runtime
HALF_LOCKED2 irq

kernel/sched/build_utility.c lockdep_assert_rq_held() -> __rq_lockp()

Type Parameter Key Value
DATA_SOURCE 0 rq $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 rq->fair_server.dl_runtime
NO_OVERFLOW_SIMPLE 0 rq->fair_server.pi_se->dl_runtime

kernel/sched/build_utility.c lockdep_assert_rq_held() -> __rq_lockp()

Type Parameter Key Value
DATA_SOURCE 0 rq $0
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 rq->fair_server.dl_runtime
NO_OVERFLOW_SIMPLE 0 rq->fair_server.pi_se->dl_runtime

kernel/sched/build_utility.c rq_pin_lock() -> __rq_lockp()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
DATA_SOURCE 0 rq $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 global &cgroup_mutex
HALF_LOCKED2 irq
HALF_LOCKED2 rf->flags
HALF_LOCKED2 0 rq

kernel/sched/build_utility.c rq_unpin_lock() -> __rq_lockp()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
DATA_SOURCE 0 rq $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 irq
HALF_LOCKED2 0 rq

kernel/sched/fair.c deref_task_numa_group() -> __rq_lockp()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING

kernel/sched/fair.c lockdep_assert_rq_held() -> __rq_lockp()

Type Parameter Key Value
BUF_SIZE 0 rq (-1),24
BUF_SIZE 0 rq (-1),24
BUF_SIZE 0 rq->next_class (-1),248
DATA_SOURCE 0 rq $0
STR_LEN 0 rq (-1),8-9,11-29,31-34,38
STR_LEN 0 rq (-1),8-9,11-29,31-34,38
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 rq->fair_server.dl_runtime
NO_OVERFLOW_SIMPLE 0 rq->fair_server.pi_se->dl_runtime
HALF_LOCKED2 _T->lock
HALF_LOCKED2 _T->rf.flags
HALF_LOCKED2 busiest
HALF_LOCKED2 busiest_rq
HALF_LOCKED2 irq
HALF_LOCKED2 rcu_read
HALF_LOCKED2 rf.flags
HALF_LOCKED2 0 rq

kernel/sched/fair.c lockdep_assert_rq_held() -> __rq_lockp()

Type Parameter Key Value
BUF_SIZE 0 rq (-1),24
BUF_SIZE 0 rq (-1),24
BUF_SIZE 0 rq->next_class (-1),248
DATA_SOURCE 0 rq $0
STR_LEN 0 rq (-1),8-9,11-29,31-34,38
STR_LEN 0 rq (-1),8-9,11-29,31-34,38
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 rq->fair_server.dl_runtime
NO_OVERFLOW_SIMPLE 0 rq->fair_server.pi_se->dl_runtime
HALF_LOCKED2 _T->lock
HALF_LOCKED2 _T->rf.flags
HALF_LOCKED2 busiest
HALF_LOCKED2 busiest_rq
HALF_LOCKED2 irq
HALF_LOCKED2 rcu_read
HALF_LOCKED2 rf.flags
HALF_LOCKED2 0 rq

kernel/sched/fair.c rq_pin_lock() -> __rq_lockp()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
DATA_SOURCE 0 rq $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 irq
HALF_LOCKED2 rf->flags
HALF_LOCKED2 0 rq

kernel/sched/fair.c rq_repin_lock() -> __rq_lockp()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
DATA_SOURCE 0 rq $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 irq

kernel/sched/fair.c rq_unpin_lock() -> __rq_lockp()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
DATA_SOURCE 0 rq $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 irq
HALF_LOCKED2 0 rq

kernel/sched/core.c double_rq_lock() -> __rq_lockp()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
PARAM_VALUE 0 rq->core 4096-ptr_max
BUF_SIZE 0 rq->next_class (-1),248
DATA_SOURCE 0 rq $0 [m]
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 rq->fair_server.dl_runtime
NO_OVERFLOW_SIMPLE 0 rq->fair_server.pi_se->dl_runtime
HALF_LOCKED2 &p->pi_lock
HALF_LOCKED2 irq

kernel/sched/core.c double_rq_lock() -> __rq_lockp()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
PARAM_VALUE 0 rq->core 4096-ptr_max
DATA_SOURCE 0 rq $1 [m]
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 rq->fair_server.dl_runtime
HALF_LOCKED2 &p->pi_lock
HALF_LOCKED2 irq

kernel/sched/core.c double_rq_unlock() -> __rq_lockp()

Type Parameter Key Value
DATA_SOURCE 0 rq $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 rcu_read

kernel/sched/core.c double_rq_unlock() -> __rq_lockp()

Type Parameter Key Value
DATA_SOURCE 0 rq $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 rcu_read

kernel/sched/core.c double_unlock_balance() -> __rq_lockp()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
CAPPED_DATA 0 rq 1
DATA_SOURCE 0 rq $0
PREEMPT_ADD
LOCK2 &p->pi_lock
LOCK2 irq
TYPE_LOCK (struct task_struct)->pi_lock

kernel/sched/core.c double_unlock_balance() -> __rq_lockp()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
DATA_SOURCE 0 rq $1
PREEMPT_ADD
NO_OVERFLOW_SIMPLE 0 rq->fair_server.dl_runtime
LOCK2 &p->pi_lock
LOCK2 irq
TYPE_LOCK (struct task_struct)->pi_lock

kernel/sched/core.c double_unlock_balance() -> __rq_lockp()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
CAPPED_DATA 0 rq 1
DATA_SOURCE 0 rq $0
LOCK2 &p->pi_lock
LOCK2 irq
TYPE_LOCK (struct task_struct)->pi_lock

kernel/sched/core.c finish_lock_switch() -> __rq_lockp()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
DATA_SOURCE 0 rq $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 irq

kernel/sched/core.c lockdep_assert_rq_held() -> __rq_lockp()

Type Parameter Key Value
BUF_SIZE 0 rq (-1),24
BUF_SIZE 0 rq (-1),24
BUF_SIZE 0 rq->next_class (-1),248
DATA_SOURCE 0 rq $0
STR_LEN 0 rq (-1),2,8-9,11-29,31-34,38
STR_LEN 0 rq (-1),2,8-9,11-29,31-34,38
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 rq->fair_server.dl_runtime
NO_OVERFLOW_SIMPLE 0 rq->fair_server.pi_se->dl_runtime
HALF_LOCKED2 &p->pi_lock
HALF_LOCKED2 irq
HALF_LOCKED2 rf.flags
HALF_LOCKED2 0 rq

kernel/sched/core.c lockdep_assert_rq_held() -> __rq_lockp()

Type Parameter Key Value
BUF_SIZE 0 rq (-1),24
BUF_SIZE 0 rq (-1),24
BUF_SIZE 0 rq->next_class (-1),248
DATA_SOURCE 0 rq $0
STR_LEN 0 rq (-1),2,8-9,11-29,31-34,38
STR_LEN 0 rq (-1),2,8-9,11-29,31-34,38
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 rq->fair_server.dl_runtime
NO_OVERFLOW_SIMPLE 0 rq->fair_server.pi_se->dl_runtime
HALF_LOCKED2 &p->pi_lock
HALF_LOCKED2 irq
HALF_LOCKED2 rf.flags
HALF_LOCKED2 0 rq

kernel/sched/core.c prepare_lock_switch() -> __rq_lockp()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
CAPPED_DATA 0 rq 1
DATA_SOURCE 0 rq $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 irq

kernel/sched/core.c raw_spin_rq_lock_nested() -> __rq_lockp()

Type Parameter Key Value
BUF_SIZE 0 rq->balance_callback (-1),16
BUF_SIZE 0 rq->next_class (-1),248
DATA_SOURCE 0 rq $0
STR_LEN 0 rq (-1),8-9,11-29,31-34,38
STR_LEN 0 rq (-1),8-9,11-29,31-34,38
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 rq->fair_server.dl_runtime
NO_OVERFLOW_SIMPLE 0 rq->fair_server.pi_se->dl_runtime
HALF_LOCKED2 irq
HALF_LOCKED2 0 rq

kernel/sched/core.c raw_spin_rq_lock_nested() -> __rq_lockp()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
BUF_SIZE 0 rq->balance_callback (-1),16
BUF_SIZE 0 rq->next_class (-1),248
DATA_SOURCE 0 rq $0
STR_LEN 0 rq (-1),8-9,11-29,31-34,38
STR_LEN 0 rq (-1),8-9,11-29,31-34,38
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 rq->fair_server.dl_runtime
NO_OVERFLOW_SIMPLE 0 rq->fair_server.pi_se->dl_runtime
LOCK2 lock
HALF_LOCKED2 irq
HALF_LOCKED2 0 rq

kernel/sched/core.c raw_spin_rq_trylock() -> __rq_lockp()

Type Parameter Key Value
DATA_SOURCE 0 rq $0

kernel/sched/core.c raw_spin_rq_trylock() -> __rq_lockp()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
DATA_SOURCE 0 rq $0
LOCK2 lock

kernel/sched/core.c rq_pin_lock() -> __rq_lockp()

Type Parameter Key Value
DATA_SOURCE 0 rq $0
STR_LEN 0 rq (-1),8-9,11-29,31-34,38
STR_LEN 0 rq (-1),8-9,11-29,31-34,38
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &p->pi_lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 irq
HALF_LOCKED2 rf->flags
HALF_LOCKED2 0 rq

kernel/sched/core.c rq_repin_lock() -> __rq_lockp()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
CAPPED_DATA 0 rq 1
DATA_SOURCE 0 rq $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 rq->fair_server.dl_runtime
HALF_LOCKED2 &p->pi_lock
HALF_LOCKED2 irq
HALF_LOCKED2 rf.flags
HALF_LOCKED2 0 rq

kernel/sched/core.c rq_unpin_lock() -> __rq_lockp()

Type Parameter Key Value
PARAM_VALUE 0 rq 4096-ptr_max
BUF_SIZE 0 rq->balance_callback (-1)-0,16
BUF_SIZE 0 rq->next_class (-1),248
DATA_SOURCE 0 rq $0
STR_LEN 0 rq (-1),8-9,11-29,31-34,38
STR_LEN 0 rq (-1),8-9,11-29,31-34,38
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 rq->fair_server.dl_runtime
HALF_LOCKED2 &p->pi_lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 irq
HALF_LOCKED2 rf.flags
HALF_LOCKED2 0 rq

kernel/sched/core.c set_task_cpu() -> __rq_lockp()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &p->pi_lock
HALF_LOCKED2 irq
HALF_LOCKED2 rf.flags
HALF_LOCKED2 rq
TYPE_LOCK (struct task_struct)->pi_lock