Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

Name:Spawn the kthreads that handle RCU's grace periods.

Proto:static int __init rcu_spawn_gp_kthread(void)

Type:int

Parameter:Nothing

3316  kthread_prio_in = cuc/rcub kthread realtime priority
3322  If IS_ENABLED(CONFIG_FOO) evaluates to 1 if CONFIG_FOO is set to 'y' or 'm',* 0 otherwise.(CONFIG_RCU_BOOST) && cuc/rcub kthread realtime priority < 2 && IS_BUILTIN(CONFIG_FOO) evaluates to 1 if CONFIG_FOO is set to 'y', 0* otherwise. For boolean options, this is equivalent to* IS_ENABLED(CONFIG_FOO).(CONFIG_RCU_TORTURE_TEST) Then cuc/rcub kthread realtime priority = 2
3325  Else if IS_ENABLED(CONFIG_FOO) evaluates to 1 if CONFIG_FOO is set to 'y' or 'm',* 0 otherwise.(CONFIG_RCU_BOOST) && cuc/rcub kthread realtime priority < 1 Then cuc/rcub kthread realtime priority = 1
3327  Else if cuc/rcub kthread realtime priority < 0 Then cuc/rcub kthread realtime priority = 0
3329  Else if cuc/rcub kthread realtime priority > 99 Then cuc/rcub kthread realtime priority = 99
3332  If cuc/rcub kthread realtime priority != kthread_prio_in Then pr_alert("rcu_spawn_gp_kthread(): Limited prio to %d from %d\n", cuc/rcub kthread realtime priority , kthread_prio_in)
3336  The rcu_scheduler_fully_active variable transitions from zero to one* during the early_initcall() processing, which is after the scheduler* is capable of creating new tasks = 1
3337  t = Create kernel thread(Body of kthread that handles grace periods., NULL, "%s", Name of structure. )
3338  If WARN_ONCE(IS_ERR(t), "%s: Could not start grace-period kthread, OOM is now expected behavior\n", __func__) Then Return 0
3340  If cuc/rcub kthread realtime priority Then
3341  sched_priority = cuc/rcub kthread realtime priority
3342  sched_setscheduler_nocheck - change the scheduling policy and/or RT priority of a thread from kernelspace
3344  rnp = Return the root node of the rcu_state structure.
3345  raw_spin_lock_irqsave_rcu_node(rnp, flags)
3346  Task for grace periods. = t
3347  raw_spin_unlock_irqrestore_rcu_node(rnp, flags)
3348  wake_up_process - Wake up a specific process*@p: The process to be woken up.* Attempt to wake up the nominated process and move it to the set of runnable* processes.* Return: 1 if the process was woken up, 0 if it was already running.
3349  rcu_spawn_nocb_kthreads()
3350  rcu_spawn_boost_kthreads()
3351  Return 0