kernfs_node表示 kernfs 层次的构成部分(building block),每个 kernfs 节点由单个 kernfs_node 表示。大多数字段都是 kernfs 专用的,不应该由 kernfs 用户直接访问。 初始化的时候创建kernfs_node_cache的 cache,只有在函数__kernfs_new_node中使用。 有两个函数会调用: 1)kernfs_new_node; 2)sysfs_init通过kernf...
intsysfs_create_dir_ns(structkobject*kobj,constvoid*ns){structkernfs_node*parent,*kn;kuid_tuid;kgid_tgid;//这里根据层次关系, 找到parent的kn节点if(kobj->parent)parent=kobj->parent->sd;else//here using the root of sysfs dir entry//if kset parent not existparent=sysfs_root_kn;...kn=ke...
first_online_node和next_online_node返回所查找的node结点的编号, 而有了编号, 我们直接去node_data数组中按照编号进行索引即可去除对应的pg_data_t的信息.内核提供了NODE_DATA(node_id)宏函数来按照编号来查找对应的结点, 它的工作其实其实就是从node_data数组中进行索引 NODE_DATA(node_id)查找编号node_id的结...
However the kernfs_node_cache was also really high. When we did echo 3 > /proc/sys/vm/drop_caches it free'd up some memory. Not all of it though. There is still a chunk of memory being used which I am also still investigating. NAME="Container Linux by CoreOS" ID=coreos VERSION=...