函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:pids_try_charge - hierarchically try to charge the pid count*@pids: the pid cgroup state*@num: the number of pids to charge* This function follows the set limit. It will fail if the charge would cause* the new value to exceed the hierarchical limit

函数原型:static int pids_try_charge(struct pids_cgroup *pids, int num)

返回类型:int

参数:

类型参数名称
struct pids_cgroup *pids
intnum
147 parent_pids(p)循环
148  new等于atomic64_add_return(num, & * Use 64-bit types so that we can safely represent "max" as * %PIDS_MAX = (%PID_MAX_LIMIT + 1).)
149  limit等于atomic64_read( & limit)
156  如果new大于limit则转到:revert
160  返回:0
162  revert :
163 q不等于p循环pids_cancel - uncharge the local pid count*@pids: the pid cgroup state*@num: the number of pids to cancel* This function will WARN if the pid count goes under 0, because such a case is* a bug in the pids controller proper.
165  pids_cancel - uncharge the local pid count*@pids: the pid cgroup state*@num: the number of pids to cancel* This function will WARN if the pid count goes under 0, because such a case is* a bug in the pids controller proper.
167  返回:负EAGAIN
调用者
名称描述
pids_can_forkask_css_check(true) in pids_can_fork() and pids_cancel_fork() relies* on cgroup_threadgroup_change_begin() held by the copy_process().