Home
last modified time | relevance | path

Searched refs:rcu_node (Results 1 – 18 of 18) sorted by relevance

/linux-6.15/kernel/rcu/
H A Dtree.h41 struct rcu_node { struct
87 struct rcu_node *parent; argument
187 struct rcu_node *mynode; /* This CPU's leaf of hierarchy */
341 struct rcu_node node[NUM_RCU_NODES]; /* Hierarchy. */
342 struct rcu_node *level[RCU_NUM_LVLS + 1];
473 static bool rcu_preempt_has_tasks(struct rcu_node *rnp);
475 static int rcu_print_task_exp_stall(struct rcu_node *rnp);
478 static void dump_blkd_tasks(struct rcu_node *rnp, int ncheck);
480 static void rcu_preempt_boost_start_gp(struct rcu_node *rnp);
484 static bool rcu_preempt_has_tasks(struct rcu_node *rnp);
[all …]
H A Dtree_exp.h84 struct rcu_node *rnp; in sync_exp_reset_tree_hotplug()
85 struct rcu_node *rnp_up; in sync_exp_reset_tree_hotplug()
137 struct rcu_node *rnp; in sync_exp_reset_tree()
358 struct rcu_node *rnp = container_of(rewp, struct rcu_node, rew); in __sync_rcu_exp_select_node_cpus()
507 struct rcu_node *rnp; in sync_rcu_exp_select_cpus()
563 struct rcu_node *rnp; in synchronize_rcu_expedited_stall()
628 struct rcu_node *rnp; in synchronize_rcu_expedited_wait()
685 struct rcu_node *rnp; in rcu_exp_wait_wake()
895 struct rcu_node *rnp; in sync_sched_exp_online_cleanup()
965 struct rcu_node *rnp; in synchronize_rcu_expedited()
[all …]
H A Dtree_plugin.h328 struct rcu_node *rnp; in rcu_note_context_switch()
453 struct rcu_node *rnp) in rcu_next_node_entry()
467 static bool rcu_preempt_has_tasks(struct rcu_node *rnp) in rcu_preempt_has_tasks()
486 struct rcu_node *rnp; in rcu_preempt_deferred_qs_irqrestore()
654 struct rcu_node *rnp = rdp->mynode; in rcu_read_unlock_special()
790 dump_blkd_tasks(struct rcu_node *rnp, int ncheck) in dump_blkd_tasks()
796 struct rcu_node *rnp1; in dump_blkd_tasks()
942 static bool rcu_preempt_has_tasks(struct rcu_node *rnp) in rcu_preempt_has_tasks()
1019 dump_blkd_tasks(struct rcu_node *rnp, int ncheck) in dump_blkd_tasks()
1071 static int rcu_boost(struct rcu_node *rnp) in rcu_boost()
[all …]
H A Dtree.c979 struct rcu_node *rnp; in rcu_start_this_gp()
1317 struct rcu_node *rnp; in note_gp_changes()
2398 struct rcu_node *rnp; in rcu_report_qs_rdp()
2689 struct rcu_node *rnp; in force_qs_rnp()
2748 struct rcu_node *rnp; in rcu_force_quiescent_state()
3303 struct rcu_node *rnp; in synchronize_rcu()
3414 struct rcu_node *rnp; in start_poll_synchronize_rcu_common()
4250 struct rcu_node *rnp; in rcutree_online_cpu()
4284 struct rcu_node *rnp; in rcutree_report_cpu_starting()
4468 struct rcu_node *rnp; in rcutree_offline_cpu()
[all …]
H A Dtree_stall.h194 struct rcu_node *rnp; in rcu_iw_handler()
216 static void rcu_print_detail_task_stall_rnp(struct rcu_node *rnp) in rcu_print_detail_task_stall_rnp()
266 static int rcu_print_task_stall(struct rcu_node *rnp, unsigned long flags) in rcu_print_task_stall()
316 static void rcu_print_detail_task_stall_rnp(struct rcu_node *rnp) in rcu_print_detail_task_stall_rnp()
342 struct rcu_node *rnp; in rcu_dump_cpu_stacks()
580 struct rcu_node *rnp; in print_other_cpu_stall()
656 struct rcu_node *rnp = rcu_get_root(); in print_cpu_stall()
724 struct rcu_node *rnp; in check_cpu_stall()
834 struct rcu_node *rnp; in rcu_check_boost_fail()
883 struct rcu_node *rnp; in show_rcu_gp_kthreads()
[all …]
H A Dtree_nocb.h182 static struct swait_queue_head *rcu_nocb_gp_get(struct rcu_node *rnp) in rcu_nocb_gp_get()
187 static void rcu_init_one_nocb(struct rcu_node *rnp) in rcu_init_one_nocb()
667 struct rcu_node *rnp; in nocb_gp_wait()
889 struct rcu_node *rnp = rdp->mynode; in nocb_cb_wait()
1536 struct rcu_node *rnp = rdp->mynode; in show_rcu_nocb_gp_state()
1655 static struct swait_queue_head *rcu_nocb_gp_get(struct rcu_node *rnp) in rcu_nocb_gp_get()
1660 static void rcu_init_one_nocb(struct rcu_node *rnp) in rcu_init_one_nocb()
H A DKconfig199 lock contention on the leaf-level rcu_node structures unless
206 kernel boot parameter to avoid contention on the rcu_node
/linux-6.15/Documentation/RCU/Design/Data-Structures/
H A DData-Structures.rst28 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.15/Documentation/RCU/Design/Memory-Ordering/
H A DTree-RCU-Memory-Ordering.rst50 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.15/Documentation/RCU/Design/Expedited-Grace-Periods/
H A DExpedited-Grace-Periods.rst156 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.15/drivers/net/ethernet/chelsio/inline_crypto/chtls/
H A Dchtls.h235 struct list_head rcu_node; member
/linux-6.15/drivers/scsi/cxgbi/
H A Dlibcxgbi.h479 struct list_head rcu_node; member
H A Dlibcxgbi.c157 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.15/include/linux/
H A Dsched.h72 struct rcu_node;
926 struct rcu_node *rcu_blocked_node;
/linux-6.15/Documentation/RCU/
H A Dstallwarn.rst314 which is way less than 23807. Finally, the root rcu_node structure's
389 rcu_node structure correspond to CPUs and/or tasks that are blocking the
392 rcu_node structures in the tree.
/linux-6.15/drivers/net/ethernet/chelsio/cxgb4/
H A Dcxgb4.h1154 struct list_head rcu_node; member
/linux-6.15/Documentation/admin-guide/
H A Dkernel-parameters.txt5254 Dump the structure of the rcu_node combining tree
5270 the rcu_node combining tree.
5369 Disable autobalancing of the rcu_node combining
5376 leaf rcu_node structure. Useful for very
5423 rcu_node tree with an eye towards determining
6841 form, that is, with an rcu_node tree:
/linux-6.15/Documentation/RCU/Design/Requirements/
H A DRequirements.rst1961 ``rcu_node`` structure whose CPUs are all offline.
2277 on the ``rcu_node`` structure. RCU is required to tolerate all CPUs