From: Jie Liu liujie375@h-partners.com
Add TWED doc.
Signed-off-by: Jie Liu liujie375@h-partners.com --- .../Wayca-Kunpeng-高性能调度/README.md | 5 +++ ...Kunpeng-高性能调度-CPU特性介绍.md | 19 ++++++++++ ...-高性能调度-TWED用户使用指南.md | 36 +++++++++++++++++++ 3 files changed, 60 insertions(+) create mode 100644 WayCa-Kunpeng-底软/Wayca-Kunpeng-高性能调度/Wayca-Kunpeng-高性能调度-TWED用户使用指南.md
diff --git a/WayCa-Kunpeng-底软/Wayca-Kunpeng-高性能调度/README.md b/WayCa-Kunpeng-底软/Wayca-Kunpeng-高性能调度/README.md index 3cb48f9..9c88972 100644 --- a/WayCa-Kunpeng-底软/Wayca-Kunpeng-高性能调度/README.md +++ b/WayCa-Kunpeng-底软/Wayca-Kunpeng-高性能调度/README.md @@ -48,3 +48,8 @@
- Wayca-Kunpeng-高性能调度-NMI用户使用指南.md - https://gitee.com/openeuler/WayCa + +### TWED用户使用指南 + +- Wayca-Kunpeng-高性能调度-TWED用户使用指南.md +- https://gitee.com/openeuler/WayCa diff --git a/WayCa-Kunpeng-底软/Wayca-Kunpeng-高性能调度/Wayca-Kunpeng-高性能调度-CPU特性介绍.md b/WayCa-Kunpeng-底软/Wayca-Kunpeng-高性能调度/Wayca-Kunpeng-高性能调度-CPU特性介绍.md index 5b22a36..e2ba1c8 100644 --- a/WayCa-Kunpeng-底软/Wayca-Kunpeng-高性能调度/Wayca-Kunpeng-高性能调度-CPU特性介绍.md +++ b/WayCa-Kunpeng-底软/Wayca-Kunpeng-高性能调度/Wayca-Kunpeng-高性能调度-CPU特性介绍.md @@ -284,3 +284,22 @@ Cache/memory带宽资源的分区管理部分承接用户态接口的输入输 | 4d6a38da8e79e | arm64: entry: always set GIC_PRIO_PSR_I_SET during entry | Y | | 09cf57eba3042 | KVM: arm64: Split hyp/switch.c to VHE/nVHE | Y | | 336780590990e | irqchip/gic-v3: Support pseudo-NMIs when SCR_EL3.FIQ == 0 | Y | + +### 特性8:TWED(Trapping of WFE and WFET) + +- 特性详解 + +armv8.7引入TWED特性来延迟WFE指令的捕获,WFE指令在所有异常级别都可用。通过在EL0、EL1或EL2执行的软件尝试进入低功耗状态,可以配置 +为陷阱到更高的异常级别。如果FEAT_TWED使能,那么可以配置WFE陷阱前的延迟。如果配置了WFE陷阱前的延迟,则延迟不会影响陷阱的优先级。 + +- 源码仓库: https://gitee.com/openeuler/kernel/ + +- 特性代码: arch/arm64/include/ arch/arm64/kernel/ + +- 支持版本: openEuler 22.03 lts、openEuler 22.03 lts SP1 + +- 回合的关键patches: +| COMMITID | SUBJECT | openeuler OLK-5.10 enabled(Y/N) | +| ---------- | ---------- | ----------- | +| 9c8b91e8dbf72 | KVM: arm64: Make use of TWED feature | Y | +| 1d9393307f4f4 | arm64: cpufeature: TWED support detection | Y | diff --git a/WayCa-Kunpeng-底软/Wayca-Kunpeng-高性能调度/Wayca-Kunpeng-高性能调度-TWED用户使用指南.md b/WayCa-Kunpeng-底软/Wayca-Kunpeng-高性能调度/Wayca-Kunpeng-高性能调度-TWED用户使用指南.md new file mode 100644 index 0000000..36359c5 --- /dev/null +++ b/WayCa-Kunpeng-底软/Wayca-Kunpeng-高性能调度/Wayca-Kunpeng-高性能调度-TWED用户使用指南.md @@ -0,0 +1,36 @@ +# Wayca-Kunpeng-高性能调度-TWED用户使用指南 + +当前Linux主线已支持该特性 + +## 1. 介绍 + +armv8.7引入TWED特性来延迟WFE指令的捕获,WFE指令在所有异常级别都可用。通过在EL0、EL1或EL2执行的软件尝试进入低功耗状态,可以配置 +为陷阱到更高的异常级别。如果FEAT_TWED使能,那么可以配置WFE陷阱前的延迟。如果配置了WFE陷阱前的延迟,则延迟不会影响陷阱的优先级。 + +## 2. 内核相关配置 + +使能TWED特性需要打开配置CONFIG_ARM64_TWED,OLK5.10中默认为y。 + +## 3. 编译器支持 + +TWED使能需要编译器支持 + +- GCC + +当使用GCC编译器时, 需要支持以下选项 +-march=armv8.7-a或-march=Armv8-a+twed + +- Clang + +当使用Clang编译器时, 需要支持-march=twed 选项 + +## 4. 软件接口 + +用户可以通过/proc/cpuinfo或HWCAP或者查询ID_AA64MMFR1_EL1.TWED字段查询硬件对于TWED的支持情况。 + +## 5. 涉及代码和使能 + +| COMMITID | SUBJECT | openeuler OLK-5.10 enabled(Y/N) | +| ---------- | ---------- | ----------- | +| 9c8b91e8dbf72 | KVM: arm64: Make use of TWED feature | Y | +| 1d9393307f4f4 | arm64: cpufeature: TWED support detection | Y |