/linux-6.3-rc2/kernel/rcu/ |
A D | tree.h | 45 struct rcu_node { struct 88 struct rcu_node *parent; argument 188 struct rcu_node *mynode; /* This CPU's leaf of hierarchy */ 330 struct rcu_node node[NUM_RCU_NODES]; /* Hierarchy. */ 331 struct rcu_node *level[RCU_NUM_LVLS + 1]; 446 static bool rcu_preempt_has_tasks(struct rcu_node *rnp); 448 static int rcu_print_task_exp_stall(struct rcu_node *rnp); 451 static void dump_blkd_tasks(struct rcu_node *rnp, int ncheck); 453 static void rcu_preempt_boost_start_gp(struct rcu_node *rnp); 457 static bool rcu_preempt_has_tasks(struct rcu_node *rnp); [all …]
|
A D | tree_exp.h | 83 struct rcu_node *rnp; in sync_exp_reset_tree_hotplug() 84 struct rcu_node *rnp_up; in sync_exp_reset_tree_hotplug() 136 struct rcu_node *rnp; in sync_exp_reset_tree() 347 struct rcu_node *rnp = container_of(rewp, struct rcu_node, rew); in __sync_rcu_exp_select_node_cpus() 534 struct rcu_node *rnp; in sync_rcu_exp_select_cpus() 595 struct rcu_node *rnp; in synchronize_rcu_expedited_wait() 690 struct rcu_node *rnp; in rcu_exp_wait_wake() 885 struct rcu_node *rnp; in sync_sched_exp_online_cleanup() 956 struct rcu_node *rnp; in synchronize_rcu_expedited() 1024 struct rcu_node *rnp = container_of(wp, struct rcu_node, exp_poll_wq); in sync_rcu_do_polled_gp() [all …]
|
A D | tree_plugin.h | 314 struct rcu_node *rnp; in rcu_note_context_switch() 439 struct rcu_node *rnp) in rcu_next_node_entry() 453 static bool rcu_preempt_has_tasks(struct rcu_node *rnp) in rcu_preempt_has_tasks() 472 struct rcu_node *rnp; in rcu_preempt_deferred_qs_irqrestore() 640 struct rcu_node *rnp = rdp->mynode; in rcu_read_unlock_special() 776 dump_blkd_tasks(struct rcu_node *rnp, int ncheck) in dump_blkd_tasks() 782 struct rcu_node *rnp1; in dump_blkd_tasks() 919 static bool rcu_preempt_has_tasks(struct rcu_node *rnp) in rcu_preempt_has_tasks() 993 dump_blkd_tasks(struct rcu_node *rnp, int ncheck) in dump_blkd_tasks() 1045 static int rcu_boost(struct rcu_node *rnp) in rcu_boost() [all …]
|
A D | tree.c | 921 struct rcu_node *rnp; in rcu_start_this_gp() 1227 struct rcu_node *rnp; in note_gp_changes() 1960 struct rcu_node *rnp; in rcu_report_qs_rdp() 2231 struct rcu_node *rnp; in force_qs_rnp() 2279 struct rcu_node *rnp; in rcu_force_quiescent_state() 3475 struct rcu_node *rnp; in synchronize_rcu() 3583 struct rcu_node *rnp; in start_poll_synchronize_rcu_common() 4305 struct rcu_node *rnp; in rcutree_online_cpu() 4330 struct rcu_node *rnp; in rcutree_offline_cpu() 4361 struct rcu_node *rnp; in rcu_cpu_starting() [all …]
|
A D | tree_stall.h | 215 struct rcu_node *rnp; in rcu_iw_handler() 237 static void rcu_print_detail_task_stall_rnp(struct rcu_node *rnp) in rcu_print_detail_task_stall_rnp() 287 static int rcu_print_task_stall(struct rcu_node *rnp, unsigned long flags) in rcu_print_task_stall() 337 static void rcu_print_detail_task_stall_rnp(struct rcu_node *rnp) in rcu_print_detail_task_stall_rnp() 363 struct rcu_node *rnp; in rcu_dump_cpu_stacks() 590 struct rcu_node *rnp; in print_other_cpu_stall() 661 struct rcu_node *rnp = rcu_get_root(); in print_cpu_stall() 721 struct rcu_node *rnp; in check_cpu_stall() 829 struct rcu_node *rnp; in rcu_check_boost_fail() 878 struct rcu_node *rnp; in show_rcu_gp_kthreads() [all …]
|
A D | tree_nocb.h | 204 static struct swait_queue_head *rcu_nocb_gp_get(struct rcu_node *rnp) in rcu_nocb_gp_get() 209 static void rcu_init_one_nocb(struct rcu_node *rnp) in rcu_init_one_nocb() 690 struct rcu_node *rnp; in nocb_gp_wait() 930 struct rcu_node *rnp = rdp->mynode; in nocb_cb_wait() 1584 struct rcu_node *rnp = rdp->mynode; in show_rcu_nocb_gp_state() 1704 static struct swait_queue_head *rcu_nocb_gp_get(struct rcu_node *rnp) in rcu_nocb_gp_get() 1709 static void rcu_init_one_nocb(struct rcu_node *rnp) in rcu_init_one_nocb()
|
A D | Kconfig | 185 lock contention on the leaf-level rcu_node structures unless 192 kernel boot parameter to avoid contention on the rcu_node
|
/linux-6.3-rc2/Documentation/RCU/Design/Data-Structures/ |
A D | Data-Structures.rst | 28 of ``rcu_node`` structures. Each leaf node of the ``rcu_node`` tree has up 34 which results in a three-level ``rcu_node`` tree. 213 1 struct rcu_node node[NUM_RCU_NODES]; 252 first leaf ``rcu_node`` structure. 307 The ``rcu_node`` Structure 333 1 struct rcu_node *parent; 538 Sizing the ``rcu_node`` Array 805 2 struct rcu_node *mynode; 900 its leaf ``rcu_node`` structure. Recall that each ``rcu_node`` 1064 5 struct rcu_node *rcu_blocked_node; [all …]
|
/linux-6.3-rc2/Documentation/RCU/Design/Memory-Ordering/ |
A D | Tree-RCU-Memory-Ordering.rst | 50 critical section for the ``rcu_node`` structure's 62 Therefore, for any given ``rcu_node`` structure, any access 71 on different ``rcu_node`` structures. 206 5 struct rcu_node *rnp; 245 .. kernel-figure:: rcu_node-lock.svg 348 root ``rcu_node`` structure is touched. 358 leaf ``rcu_node`` structure has transitioned to zero, 361 ``rcu_node`` structure onlines its first CPU and if the next 364 ``rcu_node`` structure has no online CPUs). 417 ``rcu_node`` tree only until they encountered an ``rcu_node`` structure [all …]
|
/linux-6.3-rc2/Documentation/RCU/Design/Expedited-Grace-Periods/ |
A D | Expedited-Grace-Periods.rst | 156 the ``rcu_node`` structure's ``->expmaskinitnext`` field. The 157 ``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 308 Task B at the leftmost and rightmost leaf ``rcu_node`` structures, 312 ``->exp_seq_rq`` field of their respective ``rcu_node`` structures: 323 up to the root ``rcu_node`` structure, and, seeing that its desired 345 ``rcu_node`` structures already have that value recorded. They will 346 therefore block on their respective ``rcu_node`` structures' [all …]
|
/linux-6.3-rc2/drivers/scsi/cxgbi/ |
A D | libcxgbi.h | 479 struct list_head rcu_node; member
|
A 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-6.3-rc2/drivers/net/ethernet/chelsio/inline_crypto/chtls/ |
A D | chtls.h | 235 struct list_head rcu_node; member
|
/linux-6.3-rc2/include/linux/ |
A D | sched.h | 60 struct rcu_node; 842 struct rcu_node *rcu_blocked_node;
|
/linux-6.3-rc2/Documentation/RCU/ |
A D | stallwarn.rst | 307 which is way less than 23807. Finally, the root rcu_node structure's 382 rcu_node structure correspond to CPUs and/or tasks that are blocking the 385 rcu_node structures in the tree.
|
/linux-6.3-rc2/drivers/net/ethernet/chelsio/cxgb4/ |
A D | cxgb4.h | 1154 struct list_head rcu_node; member
|
/linux-6.3-rc2/Documentation/admin-guide/ |
A D | kernel-parameters.txt | 4679 Dump the structure of the rcu_node combining tree 4695 the rcu_node combining tree. 4708 Disable autobalancing of the rcu_node combining 4715 leaf rcu_node structure. Useful for very 4843 rcu_node tree with an eye towards determining 5929 form, that is, with an rcu_node tree:
|
/linux-6.3-rc2/Documentation/RCU/Design/Requirements/ |
A D | Requirements.rst | 1961 ``rcu_node`` structure whose CPUs are all offline. 2311 on the ``rcu_node`` structure. RCU is required to tolerate all CPUs
|