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 |