函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:To avoid extending the RCU grace period for an unbounded amount of time,* periodically exit the critical section and enter a new one.* For preemptible RCU it is sufficient to call rcu_read_unlock in order* to exit the grace period

函数原型:static bool rcu_lock_break(struct task_struct *g, struct task_struct *t)

返回类型:bool

参数:

类型参数名称
struct task_struct *g
struct task_struct *t
156  get_task_struct(g)
157  get_task_struct(t)
158  _read_unlock() - marks the end of an RCU read-side critical section.* In most situations, rcu_read_unlock() is immune from deadlock.* However, in kernels built with CONFIG_RCU_BOOST, rcu_read_unlock()
159  cond_resched()
160  _read_lock() - mark the beginning of an RCU read-side critical section* When synchronize_rcu() is invoked on one CPU while other CPUs* are within RCU read-side critical sections, then the* synchronize_rcu() is guaranteed to block until after all the other
161  can_cont等于pid_alive - check that a task structure is not stale*@p: Task structure to be checked.* Test if a process is not yet dead (at most zombie state)* If pid_alive fails, then pointers within the task structure* can be stale and must not be dereferenced.pid_alive - check that a task structure is not stale*@p: Task structure to be checked.* Test if a process is not yet dead (at most zombie state)* If pid_alive fails, then pointers within the task structure* can be stale and must not be dereferenced.
162  put_task_struct(t)
163  put_task_struct(g)
165  返回:can_cont
调用者
名称描述
check_hung_uninterruptible_tasksCheck whether a TASK_UNINTERRUPTIBLE does not get woken up for* a really long time (120 seconds). If that happens, print out* a warning.