New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
selftests/bpf: Add benchmark for local_storage RCU Tasks Trace usage #3255
Conversation
Master branch: b0d93b4 |
Master branch: 990a619 |
fecf3f1
to
8511ca9
Compare
Master branch: cfb5a2d |
8511ca9
to
c5673f6
Compare
At least one diff in series https://patchwork.kernel.org/project/netdevbpf/list/?series=656505 expired. Closing PR. |
Master branch: cfb5a2d |
c5673f6
to
67ceb12
Compare
Master branch: f6b9f6d |
67ceb12
to
769174f
Compare
Master branch: e4adcee |
769174f
to
d368721
Compare
Master branch: 450a8dc |
d368721
to
d244b61
Compare
Master branch: 7c8121a |
d244b61
to
f7ec655
Compare
Master branch: f44294e |
f7ec655
to
ef19204
Compare
f44294e
to
7c8121a
Compare
Master branch: 7c8121a |
ef19204
to
808333c
Compare
Master branch: 935dc35 |
This benchmark measures grace period latency and kthread cpu usage of RCU Tasks Trace when many processes are creating/deleting BPF local_storage. Intent here is to quantify improvement on these metrics after Paul's recent RCU Tasks patches [0]. Specifically, fork 15k tasks which call a bpf prog that creates/destroys task local_storage and sleep in a loop, resulting in many call_rcu_tasks_trace calls. To determine grace period latency, trace time elapsed between rcu_tasks_trace_pregp_step and rcu_tasks_trace_postgp; for cpu usage look at rcu_task_trace_kthread's stime in /proc/PID/stat. On my virtualized test environment (Skylake, 8 cpus) benchmark results demonstrate significant improvement: BEFORE Paul's patches: SUMMARY tasks_trace grace period latency avg 22298.551 us stddev 1302.165 us SUMMARY ticks per tasks_trace grace period avg 2.291 stddev 0.324 AFTER Paul's patches: SUMMARY tasks_trace grace period latency avg 16969.197 us stddev 2525.053 us SUMMARY ticks per tasks_trace grace period avg 1.146 stddev 0.178 Note that since these patches are not in bpf-next benchmarking was done by cherry-picking this patch onto rcu tree. [0]: https://lore.kernel.org/rcu/20220620225402.GA3842369@paulmck-ThinkPad-P17-Gen-1/ Signed-off-by: Dave Marchevsky <davemarchevsky@fb.com> Acked-by: Paul E. McKenney <paulmck@kernel.org> Acked-by: Martin KaFai Lau <kafai@fb.com>
808333c
to
4338180
Compare
At least one diff in series https://patchwork.kernel.org/project/netdevbpf/list/?series=656771 irrelevant now. Closing PR. |
Pull request for series with
subject: selftests/bpf: Add benchmark for local_storage RCU Tasks Trace usage
version: 3
url: https://patchwork.kernel.org/project/netdevbpf/list/?series=656505