| /Linux-v5.10/kernel/rcu/ | 
| D | tree.h | 40 struct rcu_node {  struct84 	struct rcu_node *parent;  argument
 160 	struct rcu_node *mynode;	/* This CPU's leaf of hierarchy */
 296 	struct rcu_node node[NUM_RCU_NODES];	/* Hierarchy. */
 297 	struct rcu_node *level[RCU_NUM_LVLS + 1];
 404 static int rcu_preempt_blocked_readers_cgp(struct rcu_node *rnp);
 406 static bool rcu_preempt_has_tasks(struct rcu_node *rnp);
 408 static int rcu_print_task_exp_stall(struct rcu_node *rnp);
 409 static void rcu_preempt_check_blocked_tasks(struct rcu_node *rnp);
 411 static void dump_blkd_tasks(struct rcu_node *rnp, int ncheck);
 [all …]
 
 | 
| D | tree_exp.h | 13 static int rcu_print_task_exp_stall(struct rcu_node *rnp);80 	struct rcu_node *rnp;  in sync_exp_reset_tree_hotplug()
 81 	struct rcu_node *rnp_up;  in sync_exp_reset_tree_hotplug()
 133 	struct rcu_node *rnp;  in sync_exp_reset_tree()
 150 static bool sync_rcu_exp_done(struct rcu_node *rnp)  in sync_rcu_exp_done()
 161 static bool sync_rcu_exp_done_unlocked(struct rcu_node *rnp)  in sync_rcu_exp_done_unlocked()
 182 static void __rcu_report_exp_rnp(struct rcu_node *rnp,  in __rcu_report_exp_rnp()
 218 static void __maybe_unused rcu_report_exp_rnp(struct rcu_node *rnp, bool wake)  in rcu_report_exp_rnp()
 230 static void rcu_report_exp_cpu_mult(struct rcu_node *rnp,  in rcu_report_exp_cpu_mult()
 283 	struct rcu_node *rnp = rdp->mynode;  in exp_funnel_lock()
 [all …]
 
 | 
| D | tree_plugin.h | 88 static void rcu_report_exp_rnp(struct rcu_node *rnp, bool wake);134 static void rcu_preempt_ctxt_queue(struct rcu_node *rnp, struct rcu_data *rdp)  in rcu_preempt_ctxt_queue()
 293 	struct rcu_node *rnp;  in rcu_note_context_switch()
 346 static int rcu_preempt_blocked_readers_cgp(struct rcu_node *rnp)  in rcu_preempt_blocked_readers_cgp()
 414 					     struct rcu_node *rnp)  in rcu_next_node_entry()
 428 static bool rcu_preempt_has_tasks(struct rcu_node *rnp)  in rcu_preempt_has_tasks()
 447 	struct rcu_node *rnp;  in rcu_preempt_deferred_qs_irqrestore()
 614 		struct rcu_node *rnp = rdp->mynode;  in rcu_read_unlock_special()
 655 static void rcu_preempt_check_blocked_tasks(struct rcu_node *rnp)  in rcu_preempt_check_blocked_tasks()
 742 dump_blkd_tasks(struct rcu_node *rnp, int ncheck)  in dump_blkd_tasks()
 [all …]
 
 | 
| D | tree.c | 145 static void rcu_report_qs_rnp(unsigned long mask, struct rcu_node *rnp,147 static void rcu_init_new_rnp(struct rcu_node *rnp_leaf);
 148 static void rcu_cleanup_dead_rnp(struct rcu_node *rnp_leaf);
 149 static void rcu_boost_kthread_setaffinity(struct rcu_node *rnp, int outgoingcpu);
 153 static void check_cb_ovld_locked(struct rcu_data *rdp, struct rcu_node *rnp);
 207 static unsigned long rcu_rnp_online_cpus(struct rcu_node *rnp)  in rcu_rnp_online_cpus()
 590 static struct rcu_node *rcu_get_root(void)  in rcu_get_root()
 1144 	struct rcu_node *rnp;  in rcu_lockdep_current_cpu_online()
 1168 static void rcu_gpnum_ovf(struct rcu_node *rnp, struct rcu_data *rdp)  in rcu_gpnum_ovf()
 1205 	struct rcu_node *rnp = rdp->mynode;  in rcu_implicit_dynticks_qs()
 [all …]
 
 | 
| D | tree_stall.h | 182 	struct rcu_node *rnp;  in rcu_iw_handler()204 static void rcu_print_detail_task_stall_rnp(struct rcu_node *rnp)  in rcu_print_detail_task_stall_rnp()
 254 static int rcu_print_task_stall(struct rcu_node *rnp, unsigned long flags)  in rcu_print_task_stall()
 300 static void rcu_print_detail_task_stall_rnp(struct rcu_node *rnp)  in rcu_print_detail_task_stall_rnp()
 308 static int rcu_print_task_stall(struct rcu_node *rnp, unsigned long flags)  in rcu_print_task_stall()
 325 	struct rcu_node *rnp;  in rcu_dump_cpu_stacks()
 472 	struct rcu_node *rnp;  in print_other_cpu_stall()
 538 	struct rcu_node *rnp = rcu_get_root();  in print_cpu_stall()
 593 	struct rcu_node *rnp;  in check_cpu_stall()
 669 	struct rcu_node *rnp;  in show_rcu_gp_kthreads()
 [all …]
 
 | 
| D | Kconfig | 159 	  lock contention on the leaf-level rcu_node structures unless166 	  kernel boot parameter to avoid contention on the rcu_node
 
 | 
| /Linux-v5.10/Documentation/RCU/Design/Data-Structures/ | 
| D | Data-Structures.rst | 28 of ``rcu_node`` structures. Each leaf node of the ``rcu_node`` tree has up34 which results in a three-level ``rcu_node`` tree.
 36 at boot time, resulting in an ``rcu_node`` tree with only a single node.
 43 and other events are recorded by the leaf-level ``rcu_node``
 46 grace periods are completed at the tree's root ``rcu_node``
 66 | ``rcu_node`` structures than further up the tree. Therefore, if the   |
 67 | leaf ``rcu_node`` structures have fanout of 64, the contention on     |
 70 | for the leaves of the ``rcu_node`` tree.                              |
 74 | ``rcu_node`` structures must also be reduced. Such reduction can be   |
 77 | on the non-leaf ``rcu_node`` structures, you may use the              |
 [all …]
 
 | 
| /Linux-v5.10/Documentation/RCU/Design/Memory-Ordering/ | 
| D | Tree-RCU-Memory-Ordering.rst | 50 critical section for the ``rcu_node`` structure's62 Therefore, for any given ``rcu_node`` structure, any access
 71 on different ``rcu_node`` structures.
 137 | by the CPU's leaf ``rcu_node`` structure's ``->lock`` as described    |
 165 the ``rcu_node`` structure's ``->lock`` field, so much so that it is
 178     6   struct rcu_node *rnp;
 221 .. kernel-figure:: rcu_node-lock.svg
 223 The box represents the ``rcu_node`` structure's ``->lock`` critical
 281 ``rcu_node`` structure's ``->lock``. In all cases, there is full
 282 ordering against any prior critical section for that same ``rcu_node``
 [all …]
 
 | 
| /Linux-v5.10/Documentation/RCU/Design/Expedited-Grace-Periods/ | 
| D | Expedited-Grace-Periods.rst | 156    the ``rcu_node`` structure's ``->expmaskinitnext`` field. The157    ``rcu_node`` structure's ``->expmaskinit`` field tracks the
 162    that is, when the ``rcu_node`` structure's ``->expmaskinitnext``
 164    period, which triggers an update of each ``rcu_node`` structure's
 166 #. Each ``rcu_node`` structure's ``->expmaskinit`` field is used to
 171 #. Any CPU that goes offline will clear its bit in its leaf ``rcu_node``
 215 | bitmasks in the ``rcu_node`` tree.                                    |
 289 the expedited grace period is to use the ``rcu_node`` combining tree, as
 291 corresponding to a given grace period arriving at a given ``rcu_node``
 298 ``->exp_lock`` field in the ``rcu_node`` structure synchronizes access
 [all …]
 
 | 
| /Linux-v5.10/Documentation/RCU/ | 
| D | stallwarn.rst | 277 which is way less than 23807.  Finally, the root rcu_node structure's326 rcu_node structure correspond to CPUs and/or tasks that are blocking the
 329 rcu_node structures in the tree.
 
 | 
| /Linux-v5.10/drivers/net/ethernet/chelsio/inline_crypto/chtls/ | 
| D | chtls.h | 234 	struct list_head rcu_node;  member
 | 
| /Linux-v5.10/include/linux/ | 
| D | sched.h | 54 struct rcu_node;730 	struct rcu_node			*rcu_blocked_node;
 
 | 
| /Linux-v5.10/drivers/scsi/cxgbi/ | 
| D | libcxgbi.h | 480 	struct list_head rcu_node;  member
 | 
| D | libcxgbi.c | 157 	list_add_tail_rcu(&cdev->rcu_node, &cdev_rcu_list);  in cxgbi_device_register()177 	list_del_rcu(&cdev->rcu_node);  in cxgbi_device_unregister()
 267 	list_for_each_entry_rcu(cdev, &cdev_rcu_list, rcu_node) {  in cxgbi_device_find_by_netdev_rcu()
 
 | 
| /Linux-v5.10/drivers/net/ethernet/chelsio/cxgb4/ | 
| D | cxgb4.h | 1158 	struct list_head rcu_node;  member
 | 
| /Linux-v5.10/Documentation/admin-guide/ | 
| D | kernel-parameters.txt | 4064 			Dump the structure of the rcu_node combining tree4080 			the rcu_node combining tree.
 4089 			Disable autobalancing of the rcu_node combining
 4096 			leaf rcu_node structure.  Useful for very
 4199 			rcu_node tree with an eye towards determining
 
 | 
| /Linux-v5.10/Documentation/RCU/Design/Requirements/ | 
| D | Requirements.rst | 2281 on the ``rcu_node`` structure. RCU is required to tolerate all CPUs
 |