函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\rcu\rcuperf.c Create Date:2022-07-27 11:24:12
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:rcu_perf_cleanup

函数原型:static void rcu_perf_cleanup(void)

返回类型:void

参数:

472  ngps等于0
480  如果Should normal grace-period primitives be expedited? Intended for* use within RCU. Note that this function takes the rcu_expedited* sysfs/boot variable and rcu_scheduler_active into account as well* as the rcu_expedite_gp() nesting且非Should expedited grace-period primitives always fall back to their* non-expedited counterparts? Intended for use within RCU. Note* that if the user specifies both rcu_expedited and rcu_normal, then* rcu_normal wins且非gp_expVERBOSE_PERFOUT_ERRSTRING("All grace periods expedited, no normal ones to measure!")
482  如果Should expedited grace-period primitives always fall back to their* non-expedited counterparts? Intended for use within RCU. Note* that if the user specifies both rcu_expedited and rcu_normal, then* rcu_normal winsgp_expVERBOSE_PERFOUT_ERRSTRING("All grace periods normal, no expedited ones to measure!")
484  如果gp_expgp_asyncVERBOSE_PERFOUT_ERRSTRING("No expedited async GPs, so went with async!")
487  如果Clean up torture module则返回
489  如果非cur_ops
490  torture_cleanup_end()
491  返回
494  如果reader_tasks
495 i小于nrealreaders循环torture_stop_kthread(RCU perf reader kthread. Repeatedly does empty RCU read-side* critical section, minimizing update-side interference., reader_tasks[i])
498  kfree(reader_tasks)
501  如果writer_tasks
502 i小于nrealwriters循环
505  如果非writer_n_durations则继续下一循环
507  j等于writer_n_durations[i]
508  打印警报信息("%s%s writer %d gps: %d\n", perf_type, PERF_FLAG, i, j)
510  ngps加等于j
512  打印警报信息("%s%s start: %llu end: %llu duration: %llu gps: %d batches: %ld\n", perf_type, PERF_FLAG, t_rcu_perf_writer_started, t_rcu_perf_writer_finished, t_rcu_perf_writer_finished - t_rcu_perf_writer_started, ngps, rcuperf_seq_diff(b_rcu_perf_writer_finished, b_rcu_perf_writer_started))
520 i小于nrealwriters循环
521  如果非writer_durations退出
523  如果非writer_n_durations则继续下一循环
525  wdpp等于writer_durations[i]
526  如果非wdpp则继续下一循环
528 j小于等于writer_n_durations[i]循环
529  wdp等于wdpp[j]
530  打印警报信息("%s%s %4d writer-duration: %5d %llu\n", perf_type, PERF_FLAG, i, j, * wdp)
533  如果j取模100恒等于0则schedule_timeout_uninterruptible(1)
538  kfree(writer_tasks)
539  kfree(writer_durations)
540  kfree(writer_n_durations)
544  如果(cleanup != NULL)则cleanup()
547  torture_cleanup_end()
调用者
名称描述
rcu_perf_shutdownRCU perf shutdown kthread. Just waits to be awakened, then shuts* down system.
rcu_perf_init