Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\rcu\rcuperf.c Create Date:2022-07-28 10:23:52
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:rcu_perf_cleanup

Proto:static void rcu_perf_cleanup(void)

Type:void

Parameter:Nothing

472  ngps = 0
480  If 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 && Not 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 && Not gp_exp Then VERBOSE_PERFOUT_ERRSTRING("All grace periods expedited, no normal ones to measure!")
482  If 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_exp Then VERBOSE_PERFOUT_ERRSTRING("All grace periods normal, no expedited ones to measure!")
484  If gp_exp && gp_async Then VERBOSE_PERFOUT_ERRSTRING("No expedited async GPs, so went with async!")
487  If Clean up torture module Then Return
489  If Not cur_ops Then
490  torture_cleanup_end()
491  Return
494  If reader_tasks Then
495  When i < nrealreaders cycle 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  If writer_tasks Then
502  When i < nrealwriters cycle
505  If Not writer_n_durations Then Continue
508  pr_alert("%s%s writer %d gps: %d\n", perf_type, PERF_FLAG, i, j)
510  ngps += j
512  pr_alert("%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  When i < nrealwriters cycle
521  If Not writer_durations Then Break
523  If Not writer_n_durations Then Continue
526  If Not wdpp Then Continue
528  When j <= writer_n_durations[i] cycle
529  wdp = wdpp[j]
530  pr_alert("%s%s %4d writer-duration: %5d %llu\n", perf_type, PERF_FLAG, i, j, * wdp)
533  If j % 100 == 0 Then schedule_timeout_uninterruptible(1)
538  kfree(writer_tasks)
539  kfree(writer_durations)
540  kfree(writer_n_durations)
544  If (cleanup != NULL) Then cleanup()
547  torture_cleanup_end()
Caller
NameDescribe
rcu_perf_shutdownRCU perf shutdown kthread. Just waits to be awakened, then shuts* down system.
rcu_perf_init