diff options
author | Paul E. McKenney <paulmck@linux.ibm.com> | 2019-03-27 19:09:47 +0300 |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.ibm.com> | 2019-05-26 00:50:50 +0300 |
commit | b9ad4d6ed18e23b0ff6a824b925a1278625d5345 (patch) | |
tree | 703d2ad10374344c97bef5c02776b8fb2de9754a /tools/perf/util/scripting-engines/trace-event-python.c | |
parent | 43e903ad3e0843d03da15d8eaffb5ada22966c76 (diff) | |
download | linux-b9ad4d6ed18e23b0ff6a824b925a1278625d5345.tar.xz |
rcu: Avoid self-IPI in sync_rcu_exp_select_node_cpus()
Although sync_rcu_exp_select_node_cpus() treats the current CPU as being
in a quiescent state, it might well migrate to some other CPU before
reaching the smp_call_function_single(), which could then result in an
unnecessary simulated self-IPI. This commit therefore instead simply
refuses to invoke smp_call_function_single() on the current CPU, which
causes the later rcu_report_exp_cpu_mult() to report this CPU's quiescent
state with less overhead.
This also reduces the rcu_exp_handler() function's state space by removing
the direct call that this smp_call_function_single() uses to emulate the
requested self-IPI.
Signed-off-by: Paul E. McKenney <paulmck@linux.ibm.com>
[ paulmck: Use get_cpu() instead of preempt_disable() per Joel Fernandes. ]
Diffstat (limited to 'tools/perf/util/scripting-engines/trace-event-python.c')
0 files changed, 0 insertions, 0 deletions