cgroup学习(三)——伪文件
来源:互联网 发布:裴蕾网络黄金最新动态 编辑:程序博客网 时间:2024/06/06 06:31
伪文件
cgroup是通过VFS与上层进行交互的,它定义了自己的cgroup文件系统,同时也定义了哪些文件,这些文件也是最终影响着cgroup行为,这一节我们介绍一下,每个子系统的伪文件定义在哪里?以及内核如何去操作这些伪文件。下面我们通过一张表来展示这些关系:
Subsys
Files
To_css
locate
cpu_cgroup_subsys
cpu_files
task_cgroup
sched.c
cpuset_subsys
Files
cpuset
cpuset.c
mem_cgroup_subsys
mem_cgroup_files
mem_cgroup
memcontrol.c
blkio_subsys
blkio_files
blkio_cgroup
blk_cgroup.c
freezer_subsys
Files
freezer
cgroup_freezer.c
Subsys表示每个子系统的全局静态变量,该变量定义了该子系统的name,在该子系统上create,destroy,fork,attach cgroup(task)时的相应操作,以及populate生成哪些文件等。生成的文件定义在files全局静态变量里,这个变量是一个数组,包括了该子系统的所有子文件,以及它们的读写操作。我们在前一章介绍了cgroup_subsys_state结构,它是每个子系统的控制体的一个抽象类,to_css字段就是每个子系统控制体的实现类,它也保存了该子系统的下的相应参数(伪文件值),可以说该结构才是cgroup最重要的结构,也是真正对group起作用的结构。除了上面各个子系统files定义的文件外,它们公用的files定义在cgroup.c的files[](同样它也定义了对这些文件的open,write,release,read操作),包括最重要的tasks文件,它保存了该cgroup管理的所有tasks,对该文件的write操作最终将调用相应的subsys的attach操作。
知道了这几个变量及结构就可以很快定位到相应操作的代码位置,对于理解后面的每个子系统的实现也是很有帮助。
- cgroup学习(三)——伪文件
- cgroup学习(三)——伪文件
- cgroup学习(三)——伪文件 && (四)——mount hierarchy
- cgroup的学习(一)——what cgroup?
- cgroup学习(二)——cgroup框架结构
- cgroup学习(五)——create new cgroup
- cgroup学习(二)——cgroup框架结构
- cgroup的学习(一)——what cgroup?
- cgroup学习(五)——create new cgroup
- cgroup的学习(一)——what cgroup? && (二)——cgroup框架结构
- cgroup学习(五)——create new cgroup && (六)——attach task
- linux cgroup代码学习(1)——cgroup介绍
- cgroup学习(四)——mount hierarchy
- cgroup学习(六)——attach task
- cgroup学习(七)——cpu子系统
- cgroup学习(八)——CPUSET子系统
- cgroup学习(四)——mount hierarchy
- cgroup学习(六)——attach task
- 12.3 分区索引
- cgroup的学习(一)——what cgroup?
- 12.3.1 局部索引
- Ubuntu下使用SVN
- 欢迎使用CSDN-markdown编辑器
- cgroup学习(三)——伪文件
- (7)shell数组
- cgroup学习(四)——mount hierarchy
- 12.4 与应用特点相匹配的解决方案
- 12.4.1 压缩索引
- 天声人語 20160203 新たな脅威「ジカ熱」
- 商业英语句型15
- 常见错误码及定义
- 【反ajax】webSocket实现实时推送功能