今天cgroup_init_early()终于和cgroup_init()呼应上了,间隔也太大了,cgroup终于来了,内部结构非常复杂,目前根据cgroup_subsystem的类型个数最大可以定义12个hierarchy tree, 每个htree由cgroup节点构成,而这个htree本质上是由两套结构来维护节点的上下左右关系的, 这两套结构的入口分别是: 1. cgroup.kn(struct ke...
kernfs.h kexec.h key-type.h key.h keyboard.h keyctl.h kfence.h kfifo.h kgdb.h khugepaged.h klist.h kmemleak.h kmod.h kmsan-checks.h kmsan.h kmsan_string.h kmsan_types.h kmsg_dump.h kobj_map.h kobject.h kobject_api.h kobject_ns.h kprobes.h kref.h...
背景 bpf中很容易获取任务的task struct结构体,直接调用bpf_get_current_task()即可。但是如何获取task的cgroup目录?这个问题之前有过讨论(https://stackoverflow.com/questions/62188909/how-to-get-cgroup-path-of-task-in-an-ebpf-program),但是bpf并不打算提供对应接口。 理论方法 bpf中可以通过bpf_core_read获...
182750 182574 99% 0.05K 2150 85 8600K shared_policy_node62016 61565 99% 0.12K 1938 32 7752K kernfs_node_cache33915 32818 96% 0.20K 1785 19 7140K vm_area_struct68757 68757 100% 0.10K 1763 39 7052K buffer_head765 601 78% 6.38K 153 5 4896K task_struct2320 2301 99% 2.00K 145 16 ...