Home
last modified time | relevance | path

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

/linux-6.3-rc2/kernel/rcu/
A Dtree.h45 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 Dtree_exp.h83 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 Dtree_plugin.h314 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 Dtree.c921 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 Dtree_stall.h215 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 Dtree_nocb.h204 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 DKconfig185 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 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.3-rc2/Documentation/RCU/Design/Memory-Ordering/
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.3-rc2/Documentation/RCU/Design/Expedited-Grace-Periods/
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.3-rc2/drivers/scsi/cxgbi/
A Dlibcxgbi.h479 struct list_head rcu_node; member
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.3-rc2/drivers/net/ethernet/chelsio/inline_crypto/chtls/
A Dchtls.h235 struct list_head rcu_node; member
/linux-6.3-rc2/include/linux/
A Dsched.h60 struct rcu_node;
842 struct rcu_node *rcu_blocked_node;
/linux-6.3-rc2/Documentation/RCU/
A Dstallwarn.rst307 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 Dcxgb4.h1154 struct list_head rcu_node; member
/linux-6.3-rc2/Documentation/admin-guide/
A Dkernel-parameters.txt4679 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 DRequirements.rst1961 ``rcu_node`` structure whose CPUs are all offline.
2311 on the ``rcu_node`` structure. RCU is required to tolerate all CPUs

Completed in 78 milliseconds