Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

Name:synchronize_sched_expedited_wait

Proto:static void synchronize_sched_expedited_wait(void)

Type:void

Parameter:Nothing

465  rnp_root = Return the root node of the rcu_state structure.
468  trace_rcu_exp_grace_period(Name of structure. , Return then value that expedited-grace-period counter will have* at the end of the current grace period., Strings used in tracepoints need to be exported via the* tracing system such that tools like perf and trace-cmd can* translate the string address pointers to actual text.("startwait"))
469  jiffies_stall = Limit-check stall timeouts specified at boottime and runtime.
470  jiffies_start = jiffies
472  cycle
473  ret = swait_event_timeout_exclusive(Wait for check-ins. , Like sync_rcu_preempt_exp_done(), but this function assumes the caller* doesn't hold the rcu_node's ->lock, and will acquire and release the lock* itself, jiffies_stall)
477  If ret > 0 || Like sync_rcu_preempt_exp_done(), but this function assumes the caller* doesn't hold the rcu_node's ->lock, and will acquire and release the lock* itself Then Return
479  WARN_ON(ret < 0)
480  If rcu_cpu_stall_suppress Then Continue
482  If so specified via sysctl, panic, yielding cleaner stall-warning output.
483  pr_err("INFO: %s detected expedited stalls on CPUs/tasks: {", Name of structure. )
485  ndetected = 0
487  ndetected += rcu_print_task_exp_stall(rnp)
491  mask = Bitmasks in an rcu_node cover the interval [grplo, grphi] of CPU IDs, and* are indexed relative to this interval rather than the global CPU ID space.* This generates the bit for a CPU in node-local masks.(rnp, cpu)
492  If Not (READ_ONCE(CPUs or groups that need to check in ) & mask) Then Continue
494  ndetected++
495  rdp = per_cpu_ptr( & rcu_data, cpu)
496  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-%c%c%c", cpu, "O."[!!cpu_online(cpu)], "o."[!!(Mask to apply to leaf qsmask. & complete. )], "N."[!!(Mask to apply to leaf qsmask. & ginning of each expedited GP. )])
502  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.(" } %lu jiffies s: %lu root: %#lx/%c\n", jiffies - jiffies_start, Take a ticket. , READ_ONCE(CPUs or groups that need to check in ), ".T"[!!s no such task. ])
506  If ndetected Then
507  pr_err("blocking rcu_node structures:")
509  If rnp == rnp_root Then Continue
518  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")
522  mask = Bitmasks in an rcu_node cover the interval [grplo, grphi] of CPU IDs, and* are indexed relative to this interval rather than the global CPU ID space.* This generates the bit for a CPU in node-local masks.(rnp, cpu)
523  If Not (READ_ONCE(CPUs or groups that need to check in ) & mask) Then Continue
525  dump_cpu_task(cpu)
528  jiffies_stall = 3 * Limit-check stall timeouts specified at boottime and runtime. + 3