函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:cgroup1_reconfigure

函数原型:int cgroup1_reconfigure(struct fs_context *fc)

返回类型:int

参数:

类型参数名称
struct fs_context *fc
1043  ctx等于cgroup_fc2context(fc)
1044  kf_root等于kernfs_root_from_sb(d_sb)
1045  root等于cgroup_root_from_kf(kf_root)
1046  ret等于0
1049  group_lock_and_drain_offline - lock cgroup_mutex and drain offlined csses*@cgrp: root of the target subtree* Because css offlining is asynchronous, userland may try to re-enable a* controller while the previous css is still around. This function grabs
1052  ret等于check_cgroupfs_options(fc)
1053  如果ret则转到:out_unlock
1056  如果Selected subsystems 不等于 The bitmask of subsystems attached to this hierarchy Path for release notifications 打印警告信息("option changes via remount are deprecated (pid=%d comm=%s)\n", task_tgid_nr(当前进程), comm)
1060  added_mask等于Selected subsystems 按位与 The bitmask of subsystems attached to this hierarchy 的反
1061  removed_mask等于 The bitmask of subsystems attached to this hierarchy 按位与Selected subsystems 的反
1064  如果CGRP_ROOT_* flags 按位异或 Hierarchy-specific flags Hierarchy name 字符串比较
1066  cg_invalf(fc, "option or name mismatch, new: 0x%x \"%s\", old: 0x%x \"%s\"", CGRP_ROOT_* flags , Hierarchy name ? : "", Hierarchy-specific flags , The name for this hierarchy - may be empty )
1068  ret等于负EINVAL
1069  转到:out_unlock
1073  如果非链表为空
1074  ret等于负EBUSY
1075  转到:out_unlock
1078  ret等于rebind_subsystems(root, added_mask)
1079  如果ret则转到:out_unlock
1082  WARN_ON(rebind_subsystems( & The default hierarchy, reserved for the subsystems that are otherwise* unattached - it never has more than a single cgroup, and all tasks are* part of that cgroup., removed_mask))
1084  如果Path for release notifications
1085  加自旋锁
1086  strcpy( The path to use for release notifications. , Path for release notifications )
1087  自旋锁解锁
1090  trace_cgroup_remount(root)
1092  out_unlock :
1093  mutex_unlock - release the mutex*@lock: the mutex to be released* Unlock a mutex that has been locked by this task previously.* This function must not be used in interrupt context. Unlocking* of a not locked mutex is not allowed.
1094  返回:ret