Home
last modified time | relevance | path

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

/openbmc/linux/kernel/rcu/
H A Dtree.h45 struct rcu_node { struct
88 struct rcu_node *parent; argument
188 struct rcu_node *mynode; /* This CPU's leaf of hierarchy */
329 struct rcu_node node[NUM_RCU_NODES]; /* Hierarchy. */
330 struct rcu_node *level[RCU_NUM_LVLS + 1];
447 static int rcu_preempt_blocked_readers_cgp(struct rcu_node *rnp);
449 static bool rcu_preempt_has_tasks(struct rcu_node *rnp);
451 static int rcu_print_task_exp_stall(struct rcu_node *rnp);
452 static void rcu_preempt_check_blocked_tasks(struct rcu_node *rnp);
454 static void dump_blkd_tasks(struct rcu_node *rnp, int ncheck);
[all …]
H A Dtree_exp.h13 static int rcu_print_task_exp_stall(struct rcu_node *rnp);
14 static void rcu_exp_print_detail_task_stall_rnp(struct rcu_node *rnp);
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()
153 static bool sync_rcu_exp_done(struct rcu_node *rnp) in sync_rcu_exp_done()
164 static bool sync_rcu_exp_done_unlocked(struct rcu_node *rnp) in sync_rcu_exp_done_unlocked()
184 static void __rcu_report_exp_rnp(struct rcu_node *rnp, in __rcu_report_exp_rnp()
220 static void __maybe_unused rcu_report_exp_rnp(struct rcu_node *rnp, bool wake) in rcu_report_exp_rnp()
232 static void rcu_report_exp_cpu_mult(struct rcu_node *rnp, in rcu_report_exp_cpu_mult()
[all …]
H A Dtree_plugin.h105 static void rcu_report_exp_rnp(struct rcu_node *rnp, bool wake);
151 static void rcu_preempt_ctxt_queue(struct rcu_node *rnp, struct rcu_data *rdp) in rcu_preempt_ctxt_queue()
316 struct rcu_node *rnp; in rcu_note_context_switch()
369 static int rcu_preempt_blocked_readers_cgp(struct rcu_node *rnp) in rcu_preempt_blocked_readers_cgp()
441 struct rcu_node *rnp) in rcu_next_node_entry()
455 static bool rcu_preempt_has_tasks(struct rcu_node *rnp) in rcu_preempt_has_tasks()
474 struct rcu_node *rnp; in rcu_preempt_deferred_qs_irqrestore()
642 struct rcu_node *rnp = rdp->mynode; in rcu_read_unlock_special()
693 static void rcu_preempt_check_blocked_tasks(struct rcu_node *rnp) in rcu_preempt_check_blocked_tasks()
778 dump_blkd_tasks(struct rcu_node *rnp, int ncheck) in dump_blkd_tasks()
[all …]
H A Dtree.c146 static void rcu_report_qs_rnp(unsigned long mask, struct rcu_node *rnp,
148 static void rcu_boost_kthread_setaffinity(struct rcu_node *rnp, int outgoingcpu);
152 static void check_cb_ovld_locked(struct rcu_data *rdp, struct rcu_node *rnp);
156 static void rcu_cleanup_dead_rnp(struct rcu_node *rnp_leaf);
157 static void rcu_init_new_rnp(struct rcu_node *rnp_leaf);
503 static struct rcu_node *rcu_get_root(void) in rcu_get_root()
731 static void rcu_gpnum_ovf(struct rcu_node *rnp, struct rcu_data *rdp) in rcu_gpnum_ovf()
771 struct rcu_node *rnp = rdp->mynode; in rcu_implicit_dynticks_qs()
806 struct rcu_node *rnp1; in rcu_implicit_dynticks_qs()
904 static void trace_rcu_this_gp(struct rcu_node *rnp, struct rcu_data *rdp, in trace_rcu_this_gp()
[all …]
H A Dtree_stall.h221 struct rcu_node *rnp; in rcu_iw_handler()
243 static void rcu_print_detail_task_stall_rnp(struct rcu_node *rnp) in rcu_print_detail_task_stall_rnp()
293 static int rcu_print_task_stall(struct rcu_node *rnp, unsigned long flags) in rcu_print_task_stall()
343 static void rcu_print_detail_task_stall_rnp(struct rcu_node *rnp) in rcu_print_detail_task_stall_rnp()
351 static int rcu_print_task_stall(struct rcu_node *rnp, unsigned long flags) in rcu_print_task_stall()
369 struct rcu_node *rnp; in rcu_dump_cpu_stacks()
597 struct rcu_node *rnp; in print_other_cpu_stall()
668 struct rcu_node *rnp = rcu_get_root(); in print_cpu_stall()
728 struct rcu_node *rnp; in check_cpu_stall()
846 struct rcu_node *rnp; in rcu_check_boost_fail()
[all …]
H A Dtree_nocb.h186 static struct swait_queue_head *rcu_nocb_gp_get(struct rcu_node *rnp) in rcu_nocb_gp_get()
191 static void rcu_init_one_nocb(struct rcu_node *rnp) in rcu_init_one_nocb()
678 struct rcu_node *rnp; in nocb_gp_wait()
918 struct rcu_node *rnp = rdp->mynode; in nocb_cb_wait()
1618 struct rcu_node *rnp = rdp->mynode; in show_rcu_nocb_gp_state()
1737 static struct swait_queue_head *rcu_nocb_gp_get(struct rcu_node *rnp) in rcu_nocb_gp_get()
1742 static void rcu_init_one_nocb(struct rcu_node *rnp) in rcu_init_one_nocb()
H A DKconfig182 lock contention on the leaf-level rcu_node structures unless
189 kernel boot parameter to avoid contention on the rcu_node
/openbmc/linux/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.
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 …]
/openbmc/linux/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.
118 | But the chain of rcu_node-structure lock acquisitions guarantees |
166 | by the CPU's leaf ``rcu_node`` structure's ``->lock`` as described |
194 the ``rcu_node`` structure's ``->lock`` field, so much so that it is
206 5 struct rcu_node *rnp;
245 .. kernel-figure:: rcu_node-lock.svg
247 The box represents the ``rcu_node`` structure's ``->lock`` critical
305 ``rcu_node`` structure's ``->lock``. In all cases, there is full
[all …]
/openbmc/linux/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
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 …]
/openbmc/linux/drivers/net/ethernet/chelsio/inline_crypto/chtls/
H A Dchtls.h236 struct list_head rcu_node; member
/openbmc/linux/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()
/openbmc/linux/include/linux/
H A Dsched.h60 struct rcu_node;
851 struct rcu_node *rcu_blocked_node;
/openbmc/linux/Documentation/RCU/
H 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.
/openbmc/linux/drivers/net/ethernet/chelsio/cxgb4/
H A Dcxgb4.h1154 struct list_head rcu_node; member
/openbmc/linux/Documentation/admin-guide/
H A Dkernel-parameters.txt4806 Dump the structure of the rcu_node combining tree
4822 the rcu_node combining tree.
4913 Disable autobalancing of the rcu_node combining
4920 leaf rcu_node structure. Useful for very
4967 rcu_node tree with an eye towards determining
6165 form, that is, with an rcu_node tree:
/openbmc/linux/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
/openbmc/linux/
H A Dopengrok1.0.log[all...]