Intel发布了一个开源工具包,它允许用户绕开内核直接调度LLC:https://github.com/intel/intel-cmt-cat
此软件包包含了一个pqos工具允许用户直接调试CMT/CAT,同时还提供了一个libpqos链接库允许开发者自行开发。
此外,还有一个同为Intel的开源工具包:Intel PCM https://github.com/opcm/pcm 也支持用户态的CAT/CMT管理,由于PCM是一整套的Intel的功耗/性能管理工具,所以它依赖于Linux的msr模块。不过由于在RDT功能上和上面讲到的libpqos基本一致,这里也就不再详述了。
RDT详解:http://linuxperformance.top/index.php/archives/21/和https://blog.hoooo.org/2016/12/01/RDT-1/和https://www.twblogs.net/a/5b7c5ec92b71770a43daaade
CAT使用示例:http://www.voidcn.com/article/p-xlpjayuu-bpd.html 和 https://manpages.debian.org/testing/intel-cmt-cat/pqos.8.en.html和https://github.com/intel/intel-cmt-cat/wiki/Usage-Examples
疑问:https://software.intel.com/zh-cn/comment/1853861
查看处理器是否支持cat:https://www.felixcloutier.com/x86/cpuid
INPUT EAX = 10H: Returns Intel Resource Director Technology (Intel RDT) Allocation Enumeration Information
When CPUID executes with EAX set to 10H and ECX = 0, the processor returns information about the bit-vector representation of QoS Enforcement resource types that are supported in the processor. Each bit, starting from bit 1, corresponds to a specific resource type if the bit is set. The bit position corresponds to the sub-leaf index (or ResID) that software must use to query QoS enforcement capability available for that type.
When CPUID executes with EAX set to 10H and ECX = n (n >= 1, and is a valid ResID), the processor returns information about available classes of service and range of QoS mask MSRs that software can use to configure each class of services using capability bit masks in the QoS Mask registers, IA32_resourceType_Mask_n.
如何关闭超线程:http://webmotociclismo.com/questions/265/cong-linuxnei-jin-yong-chao-xian-cheng-wu-fa-fang-wen-bios