Defined in 1 files as a function:

Referenced in 4 files:

Smatch caller information:

kernel/rcu/tree.c check_cpu_stall() -> rcu_seq_state()

Type Parameter Key Value
CAPPED_DATA 0 s 1
CAPPED_DATA 0 s 1
RX_PATH
TASK_NOT_RUNNING

kernel/rcu/tree.c rcu_advance_cbs_nowake() -> rcu_seq_state()

Type Parameter Key Value
HALF_LOCKED2 &rdp->nocb_lock

kernel/rcu/tree.c rcu_advance_cbs_nowake() -> rcu_seq_state()

Type Parameter Key Value
LOCK2 &rnp->lock
HALF_LOCKED2 &rdp->nocb_lock
TYPE_LOCK (struct rcu_node)->lock

kernel/rcu/tree.c rcu_barrier_entrain() -> rcu_seq_state()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &rcu_state.barrier_lock
HALF_LOCKED2 flags
HALF_LOCKED2 global &rcu_state.barrier_mutex
TYPE_LOCK (struct rcu_state)->barrier_lock

kernel/rcu/tree.c rcu_barrier_entrain() -> rcu_seq_state()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &rcu_state.barrier_lock
HALF_LOCKED2 flags
HALF_LOCKED2 global &rcu_state.barrier_mutex
TYPE_LOCK (struct rcu_state)->barrier_lock

kernel/rcu/tree.c rcu_gp_in_progress() -> rcu_seq_state()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &rnp->lock
HALF_LOCKED2 flags
HALF_LOCKED2 global &rcu_fwd_mutex
HALF_LOCKED2 irq

kernel/rcu/tree.c rcu_poll_gp_seq_start() -> rcu_seq_state()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &rnp->lock
HALF_LOCKED2 irq

kernel/rcu/tree.c rcu_seq_end() -> rcu_seq_state()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &rnp->lock
HALF_LOCKED2 global &rcu_state.barrier_mutex
HALF_LOCKED2 global &rcu_state.exp_wake_mutex
HALF_LOCKED2 irq

kernel/rcu/tree.c rcu_seq_start() -> rcu_seq_state()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &rnp->lock
HALF_LOCKED2 flags
HALF_LOCKED2 global &rcu_state.barrier_lock
HALF_LOCKED2 global &rcu_state.barrier_mutex
HALF_LOCKED2 global &rcu_state.exp_mutex
HALF_LOCKED2 irq

kernel/rcu/tree.c rcu_start_this_gp() -> rcu_seq_state()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &rnp->lock
HALF_LOCKED2 &rnp_start->lock
HALF_LOCKED2 flags
TYPE_LOCK (struct rcu_node)->lock

kernel/rcu/tree.c rcu_start_this_gp() -> rcu_seq_state()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &rnp->lock
HALF_LOCKED2 &rnp_start->lock
HALF_LOCKED2 flags

kernel/rcu/srcutree.c check_init_srcu_struct() -> rcu_seq_state()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING

kernel/rcu/srcutree.c check_init_srcu_struct() -> rcu_seq_state()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &(ssp->srcu_sup)->lock
LOCK2 flags

kernel/rcu/srcutree.c cleanup_srcu_struct() -> rcu_seq_state()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &ctrl->subsys->lock
HALF_LOCKED2 &qdev->dev_lock
HALF_LOCKED2 &xdna->client_lock
HALF_LOCKED2 &xdna->dev_lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 clk

kernel/rcu/srcutree.c cleanup_srcu_struct() -> rcu_seq_state()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &ctrl->subsys->lock
HALF_LOCKED2 &qdev->dev_lock
HALF_LOCKED2 &xdna->client_lock
HALF_LOCKED2 &xdna->dev_lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 clk

kernel/rcu/srcutree.c rcu_seq_end() -> rcu_seq_state()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &ssp->srcu_sup->srcu_barrier_mutex
HALF_LOCKED2 &ssp->srcu_sup->srcu_gp_mutex
HALF_LOCKED2 &sup->lock
HALF_LOCKED2 &sup->srcu_cb_mutex
HALF_LOCKED2 irq

kernel/rcu/srcutree.c rcu_seq_start() -> rcu_seq_state()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &ssp->srcu_sup->srcu_barrier_mutex

kernel/rcu/srcutree.c srcu_advance_state() -> rcu_seq_state()

Type Parameter Key Value
LOCK2 &ssp->srcu_sup->srcu_gp_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct srcu_usage)->srcu_gp_mutex

kernel/rcu/srcutree.c srcu_advance_state() -> rcu_seq_state()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
LOCK2 &(ssp->srcu_sup)->lock
LOCK2 &ssp->srcu_sup->srcu_gp_mutex
LOCK2 irq
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct srcu_usage)->srcu_gp_mutex

kernel/rcu/srcutree.c srcu_advance_state() -> rcu_seq_state()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
LOCK2 &(ssp->srcu_sup)->lock
LOCK2 &ssp->srcu_sup->srcu_gp_mutex
LOCK2 irq
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct srcu_usage)->srcu_gp_mutex

kernel/rcu/srcutree.c srcu_advance_state() -> rcu_seq_state()

Type Parameter Key Value
LOCK2 &ssp->srcu_sup->srcu_gp_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct srcu_usage)->srcu_gp_mutex

kernel/rcu/srcutree.c srcu_advance_state() -> rcu_seq_state()

Type Parameter Key Value
LOCK2 &ssp->srcu_sup->srcu_gp_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct srcu_usage)->srcu_gp_mutex

kernel/rcu/srcutree.c srcu_funnel_gp_start() -> rcu_seq_state()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &(ssp->srcu_sup)->lock
HALF_LOCKED2 flags

kernel/rcu/srcutree.c srcu_get_delay() -> rcu_seq_state()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &(ssp->srcu_sup)->lock
HALF_LOCKED2 &ssp->srcu_sup->srcu_gp_mutex
HALF_LOCKED2 flags
HALF_LOCKED2 irq

kernel/rcu/srcutree.c srcu_gp_end() -> rcu_seq_state()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
LOCK2 &ssp->srcu_sup->srcu_gp_mutex
LOCK2 &sup->lock
LOCK2 &sup->srcu_cb_mutex
LOCK2 irq
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct srcu_usage)->lock
TYPE_LOCK (struct srcu_usage)->srcu_cb_mutex
TYPE_LOCK (struct srcu_usage)->srcu_gp_mutex

kernel/rcu/srcutree.c srcu_gp_end() -> rcu_seq_state()

Type Parameter Key Value
DATA_SOURCE 0 s r rcu_seq_current
PREEMPT_ADD <- disables preempt
LOCK2 &ssp->srcu_sup->srcu_gp_mutex
LOCK2 &sup->lock
LOCK2 irq
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct srcu_usage)->lock

kernel/rcu/srcutree.c srcu_gp_start() -> rcu_seq_state()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &(ssp->srcu_sup)->lock
HALF_LOCKED2 &ssp->srcu_sup->srcu_gp_mutex
HALF_LOCKED2 &sup->lock
HALF_LOCKED2 irq

kernel/rcu/srcutree.c srcu_module_going() -> rcu_seq_state()

Type Parameter Key Value

kernel/rcu/srcutree.c srcu_reschedule() -> rcu_seq_state()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
LOCK2 &(ssp->srcu_sup)->lock
LOCK2 irq
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &ssp->srcu_sup->srcu_gp_mutex

kernel/rcu/srcutree.c srcu_reschedule() -> rcu_seq_state()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
LOCK2 &(ssp->srcu_sup)->lock
LOCK2 irq
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &ssp->srcu_sup->srcu_gp_mutex

kernel/rcu/update.c rcu_seq_end() -> rcu_seq_state()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &rtp->barrier_q_mutex
HALF_LOCKED2 &rtp->tasks_gp_mutex

kernel/rcu/update.c rcu_seq_start() -> rcu_seq_state()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &rtp->barrier_q_mutex
HALF_LOCKED2 &rtp->tasks_gp_mutex