Home
last modified time | relevance | path

Searched refs:rnp (Results 1 – 7 of 7) sorted by relevance

/linux/kernel/rcu/
H A Dtree.c159 static void rcu_report_qs_rnp(unsigned long mask, struct rcu_node *rnp,
163 static void check_cb_ovld_locked(struct rcu_data *rdp, struct rcu_node *rnp);
801 static void rcu_gpnum_ovf(struct rcu_node *rnp, struct rcu_data *rdp) in rcu_gpnum_ovf() argument
803 raw_lockdep_assert_held_rcu_node(rnp); in rcu_gpnum_ovf()
805 rnp->gp_seq)) { in rcu_gpnum_ovf()
809 if (ULONG_CMP_LT(rdp->rcu_iw_gp_seq + ULONG_MAX / 4, rnp->gp_seq)) in rcu_gpnum_ovf()
810 rdp->rcu_iw_gp_seq = rnp->gp_seq + ULONG_MAX / 4; in rcu_gpnum_ovf()
858 struct rcu_node *rnp = rdp->mynode; in rcu_watching_snap_recheck() local
870 rcu_gpnum_ovf(rnp, rdp); in rcu_watching_snap_recheck()
896 __func__, rnp->grplo, rnp->grphi, rnp->level, in rcu_watching_snap_recheck()
[all …]
H A Dtree.h146 #define leaf_node_cpu_bit(rnp, cpu) (BIT((cpu) - (rnp)->grplo)) argument
483 static int rcu_preempt_blocked_readers_cgp(struct rcu_node *rnp);
485 static bool rcu_preempt_has_tasks(struct rcu_node *rnp);
487 static int rcu_print_task_exp_stall(struct rcu_node *rnp);
488 static void rcu_preempt_check_blocked_tasks(struct rcu_node *rnp);
490 static void dump_blkd_tasks(struct rcu_node *rnp, int ncheck);
492 static void rcu_initiate_boost(struct rcu_node *rnp, unsigned long flags);
493 static void rcu_preempt_boost_start_gp(struct rcu_node *rnp);
496 static void rcu_spawn_one_boost_kthread(struct rcu_node *rnp);
497 static bool rcu_preempt_has_tasks(struct rcu_node *rnp);
[all …]
H A Dtree_nocb.h182 static struct swait_queue_head *rcu_nocb_gp_get(struct rcu_node *rnp) in rcu_nocb_gp_get() argument
184 return &rnp->nocb_gp_wq[rcu_seq_ctr(rnp->gp_seq) & 0x1]; in rcu_nocb_gp_get()
187 static void rcu_init_one_nocb(struct rcu_node *rnp) in rcu_init_one_nocb() argument
189 init_swait_queue_head(&rnp->nocb_gp_wq[0]); in rcu_init_one_nocb()
190 init_swait_queue_head(&rnp->nocb_gp_wq[1]); in rcu_init_one_nocb()
661 struct rcu_node *rnp; in nocb_gp_wait() local
724 rnp = rdp->mynode; in nocb_gp_wait()
731 rcu_seq_done(&rnp->gp_seq, cur_gp_seq))) { in nocb_gp_wait()
732 raw_spin_lock_rcu_node(rnp); /* irqs disabled. */ in nocb_gp_wait()
733 needwake_gp = rcu_advance_cbs(rnp, rdp); in nocb_gp_wait()
[all …]
/linux/Documentation/RCU/Design/Memory-Ordering/
H A DTree-RCU-Memory-Ordering.rst84 5 raw_spin_lock_rcu_node(rnp);
87 8 raw_spin_unlock_rcu_node(rnp);
92 13 raw_spin_lock_rcu_node(rnp);
95 16 raw_spin_unlock_rcu_node(rnp);
206 5 struct rcu_node *rnp;
232 31 rnp = rdp->mynode;
233 32 raw_spin_lock_rcu_node(rnp); /* irqs already disabled. */
234 33 needwake = rcu_accelerate_cbs(rnp, rdp);
235 34 raw_spin_unlock_rcu_node(rnp); /* irqs remain disabled. */
/linux/Documentation/RCU/Design/Requirements/
H A DRequirements.rst1981 rcu_for_each_leaf_node(rnp) {
1982 rnp->qsmaskinit = rnp->qsmaskinitnext;
1985 rnp->qsmaskinitnext |= mask;
1997 rnp->qsmask = rnp->qsmaskinit;
2030 // Must release rnp->lock to wake GP kthread
2039 rnp->qsmask = rnp->qsmaskinit
2040 mask = rnp->qsmask & ~rnp->qsmaskinitnext
2043 rnp->qsmaskinitnext &= ~mask // Finally clears bit
2052 the vulnerable window when rcu_report_qs_rnp() has released ``rnp->lock``::
2056 rcu_for_each_leaf_node(rnp) {
[all …]
/linux/Documentation/RCU/Design/Data-Structures/
H A DData-Structures.rst308 | 3. But rnp->qsmask isn't initialized yet (happens later in |
1139 6 #define rcu_for_each_node_breadth_first(rsp, rnp) \
1140 7 for ((rnp) = &(rsp)->node[0]; \
1141 8 (rnp) < &(rsp)->node[NUM_RCU_NODES]; (rnp)++)
1143 10 #define rcu_for_each_leaf_node(rsp, rnp) \
1144 11 for ((rnp) = (rsp)->level[NUM_RCU_LVLS - 1]; \
1145 12 (rnp) < &(rsp)->node[NUM_RCU_NODES]; (rnp)++)
/linux/Documentation/admin-guide/
H A Dkernel-parameters.txt5978 rdp and rnp's gp_seq before setting overflow flag.