Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

rcu: Rename rcu_process_callbacks() to rcu_core() for Tree RCU

Although the name rcu_process_callbacks() still makes sense for Tiny
RCU, where most of what it does is invoke callbacks, it no longer makes
much sense for Tree RCU, especially given that the actually callback
invocation is relegated to rcu_do_batch(), or, for no-CBs CPUs, to the
rcuo kthreads. Especially in the latter case, rcu_process_callbacks()
has very little to do with actual callbacks. A better description of
this function is that it performs RCU's core processing.

This commit therefore changes the name of Tree RCU's rcu_process_callbacks()
function to rcu_core(), which also has the virtue of being consistent with
the existing invoke_rcu_core() function.

While in the area, the header comment is reworked.

Signed-off-by: Paul E. McKenney <paulmck@linux.ibm.com>

+8 -12
+1 -1
Documentation/RCU/Design/Memory-Ordering/Tree-RCU-Memory-Ordering.html
··· 491 491 492 492 <p>The next time an <tt>RCU_SOFTIRQ</tt> handler executes on 493 493 this CPU (for example, after the next scheduler-clock 494 - interrupt), <tt>__rcu_process_callbacks()</tt> will invoke 494 + interrupt), <tt>rcu_core()</tt> will invoke 495 495 <tt>rcu_check_quiescent_state()</tt>, which will notice the 496 496 recorded quiescent state, and invoke 497 497 <tt>rcu_report_qs_rdp()</tt>.
+2 -2
Documentation/RCU/Design/Memory-Ordering/TreeRCU-gp.svg
··· 3924 3924 font-style="normal" 3925 3925 y="-4418.6582" 3926 3926 x="3745.7725" 3927 - xml:space="preserve">rcu_process_callbacks()</text> 3927 + xml:space="preserve">rcu_core()</text> 3928 3928 <text 3929 3929 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 3930 3930 id="text202-7-5-3-27-0" ··· 3933 3933 font-style="normal" 3934 3934 y="-4165.7954" 3935 3935 x="3745.7725" 3936 - xml:space="preserve">rcu_check_quiescent_state())</text> 3936 + xml:space="preserve">rcu_check_quiescent_state()</text> 3937 3937 <text 3938 3938 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 3939 3939 id="text202-7-5-3-27-0-9"
+2 -2
Documentation/RCU/Design/Memory-Ordering/TreeRCU-qs.svg
··· 797 797 font-style="normal" 798 798 y="-4418.6582" 799 799 x="3745.7725" 800 - xml:space="preserve">rcu_process_callbacks()</text> 800 + xml:space="preserve">rcu_core()</text> 801 801 <text 802 802 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 803 803 id="text202-7-5-3-27-0" ··· 806 806 font-style="normal" 807 807 y="-4165.7954" 808 808 x="3745.7725" 809 - xml:space="preserve">rcu_check_quiescent_state())</text> 809 + xml:space="preserve">rcu_check_quiescent_state()</text> 810 810 <text 811 811 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier" 812 812 id="text202-7-5-3-27-0-9"
+3 -7
kernel/rcu/tree.c
··· 2742 2742 } 2743 2743 EXPORT_SYMBOL_GPL(rcu_fwd_progress_check); 2744 2744 2745 - /* 2746 - * This does the RCU core processing work for the specified rcu_data 2747 - * structures. This may be called only from the CPU to whom the rdp 2748 - * belongs. 2749 - */ 2750 - static __latent_entropy void rcu_process_callbacks(struct softirq_action *unused) 2745 + /* Perform RCU core processing work for the current CPU. */ 2746 + static __latent_entropy void rcu_core(struct softirq_action *unused) 2751 2747 { 2752 2748 unsigned long flags; 2753 2749 struct rcu_data *rdp = raw_cpu_ptr(&rcu_data); ··· 3852 3856 rcu_init_one(); 3853 3857 if (dump_tree) 3854 3858 rcu_dump_rcu_node_tree(); 3855 - open_softirq(RCU_SOFTIRQ, rcu_process_callbacks); 3859 + open_softirq(RCU_SOFTIRQ, rcu_core); 3856 3860 3857 3861 /* 3858 3862 * We don't need protection against CPU-hotplug here because