• 2023-10-07Resctrl内核实现(三)GROUP的创建
    前言在(一)我们已经清楚了Resctrl中RMID和CLOSID的切换规则是怎样的。在(二)中对内核中的CLOSID和RMID的分配、释放过程进行了详细解读。在后续的章节将会对Resctrl文件系统中重要的文件操作触发的内核行为进行解读。本章将对Resctrl中的建组操作进行分析。rdtgroup的创建在Resc
  • 2023-10-07Resctrl使用说明书
    前言Resctrl文件系统是Linux内核在4.10提供的对RDT技术的支持,作为一个伪文件系统在使用方式上与cgroup是类似,通过提供一系列的文件为用户态提供查询和修改接口。本文就resctrl文件系统的使用进行了详细说明,内容基本来自于LinuxDocumentation中的精华部分。使用限制与挂载检查
  • 2023-10-07Resctrl内核实现(四)schemata和cpus
    前言在Resctrl中可编程的文件主要有两个,schemata指定资源分配策略,cpus则为cpu绑定default_closid和default_rmid。修改cpus文件cpus文件按照所处目录的类型不同有两种操作,当所处目录类型为CTRL-MONgroup时会调用cpus_ctrl_write,目录类型为MONgroup时会调用cpus_mon_write。通
  • 2023-10-07Resctrl内核实现(一)CPU状态
    Resctrl内核实现(一)CPU状态resctrl是rdt机制的一个用户态接口,通过对rdt技术进行封装,提供了一套资源分配和监控机制的接口,方便用户进行使用。本文从resctrl的资源分配和监控的角度对内核源码实现进行了分析,参考的kernel版本为4.19.287。Resctrl下的CPU状态变化resctrl中有两种gro
  • 2023-10-07Resctrl内核实现(二)CLOSID和RMID管理
    前言RDT的监控数据累计和资源分配策略的关键就是CLOSID和RMID的分配策略。CLOSID和RMID管理CLOSID管理RDT中的资源通过控制组进行分配,控制组对于各类资源进行划分或者限制。每一个控制组用一个CLOSID进行标识,由于CLOSID的数量有限所以在内核中通过一个位图进行表示和管理。st