Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

Name:Do a forward-progress check for rcutorture. This is normally invoked* due to an OOM event. The argument "j" gives the time period during* which rcutorture would like progress to have been made.

Proto:void rcu_fwd_progress_check(unsigned long j)

Type:void

Parameter:

TypeParameterName
unsigned longj
664  max_cbs = 0
665  max_cpu = -1
668  If Return true if an RCU grace period is in progress. The READ_ONCE()s* permit this function to be invoked without holding the root rcu_node* structure's ->lock, but of course results can be subject to change. Then
669  pr_info("%s: GP age %lu jiffies\n", __func__, jiffies - Time at which GP started, )
671  Show the state of the grace-period kthreads.
672  Else
673  pr_info("%s: Last GP end %lu jiffies ago\n", __func__, jiffies - Time last GP ended, again )
675  Even if we don't have any preemption, we need preempt disable/enable* to be barriers, so that we don't have things like get_user/put_user* that can cause faults and scheduling migrate into our preempt-protected* region.()
676  rdp = this_cpu_ptr( & rcu_data)
677  This function checks for grace-period requests that fail to motivate* RCU to come out of its idle mode.
678  preempt_enable()
680  for_each_possible_cpu(cpu)
681  cbs = Return the number of callbacks queued on the specified CPU.* Handles both the nocbs and normal cases.
682  If Not cbs Then Continue
684  If max_cpu < 0 Then pr_info("%s: callbacks", __func__)
686  Like KERN_CONT, pr_cont() should only be used when continuing* a line with no newline ('\n') enclosed. Otherwise it defaults* back to KERN_DEFAULT.(" %d: %lu", cpu, cbs)
687  If cbs <= max_cbs Then Continue
689  max_cbs = cbs
690  max_cpu = cpu
692  If max_cpu >= 0 Then Like KERN_CONT, pr_cont() should only be used when continuing* a line with no newline ('\n') enclosed. Otherwise it defaults* back to KERN_DEFAULT.("\n")