函数逻辑报告 |
Source Code:kernel\cgroup\cgroup.c |
Create Date:2022-07-27 12:13:01 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:group_destroy_locked - the first stage of cgroup destruction*@cgrp: cgroup to be destroyed* css's make use of percpu refcnts whose killing latency shouldn't be* exposed to userland and are RCU protected
函数原型:static int cgroup_destroy_locked(struct cgroup *cgrp)__releases(&cgroup_mutex) __acquires(&cgroup_mutex)
返回类型:int
参数:
类型 | 参数 | 名称 |
---|---|---|
struct cgroup * | cgrp |
5451 | parent等于cgroup_parent(cgrp) |
5479 | flags与等于CSS_ONLINE的反 |
5481 | spin_lock_irq( & css_set_lock) |
5483 | dead and being drained, ignore for migration = true |
5484 | spin_unlock_irq( & css_set_lock) |
5487 | 以ssid小于CGROUP_SUBSYS_COUNT循环if (!((css) = ({ |
5487 | typeof( * ((cgrp)-> Private pointers for each registered subsystem [(ssid)])) * ________p1 = (typeof( * ((cgrp)-> Private pointers for each registered subsystem [(ssid)])) * )({ |
5487 | union{typeof(( Private pointers for each registered subsystem [(ssid)])) __val;char __c[1];}__u |
5487 | 如果1则__read_once_size( & (( Private pointers for each registered subsystem [(ssid)])), __c, Private pointers for each registered subsystem [(ssid)]的长度) |
5487 | 否则__read_once_size_nocheck( & (( Private pointers for each registered subsystem [(ssid)])), __c, Private pointers for each registered subsystem [(ssid)]的长度) |
5487 | 循环 |
5487 | 当0循环 |
5487 | __val |
5487 | }) |
5487 | 循环 |
5487 | 当0循环 |
5487 | }))) |
5492 | kernfs_remove( cgroup kernfs entry ) |
5494 | 如果parent且cgroup_is_threaded(cgrp)则 # of live threaded child cgroups 自减 |
5497 | spin_lock_irq( & css_set_lock) |
5500 | nr_dying_descendants自加 |
5508 | spin_unlock_irq( & css_set_lock) |
5512 | cgroup_bpf_offline(cgrp) |
5517 | 返回:0 |
名称 | 描述 |
---|---|
cgroup_mkdir | |
cgroup_rmdir | put the base reference |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |