mirror of
https://github.com/gatieme/LDD-LinuxDeviceDrivers.git
synced 2026-11-15 13:04:18 +08:00
description/AI: update readme
This commit is contained in:
1 parent
1f8c2661eb
commit
11ef4fd9ae
11 files changed
+300
-96
No files matched your search
File diff suppressed because it is too large.
Load diff
@@ -666,7 +666,7 @@ TLB entry shootdown 常常或多或少的带来一些性能问题.
|
||||
|
||||
| 时间 | 作者 | 特性 | 描述 | 是否合入主线 | 链接 |
|
||||
|:----:|:----:|:---:|:----:|:---------:|:----:|
|
||||
| 2024/12/21 | Rik van Riel <riel@surriel.com> | [AMD broadcast TLB invalidation](https://lore.kernel.org/all/20241222040717.3096835-1-riel@surriel.com) | GCC 支持 Zen 3 的补丁对 INVLPGB 和 TLBSYNC 指令进行了支持, 参见 phoronix 报道 [phoronix, 2020/10/19, AMD Sends Out Patches Adding "Znver3" Support To GNU Binutils With New Instructions](https://www.phoronix.com/news/Znver3-Binutils-Support). 随后 Linux 内核开始支持使用 AMD INVLPGB 指令进行广播 TLB 失效. 参见 phoronix 报道 [phoronix, 2024/12/22, Linux Kernel Patches To Use AMD INVLPGB Instruction Show Huge Speed-Up](https://www.phoronix.com/news/AMD-INVLPGB-Linux-Benefits), [phoronix, 2025/01/13, AMD Broadcast TLB Invalidation Linux Patches Reworked In 4th Spin](https://www.phoronix.com/news/AMD-INVLPGB-Linux-v4-Patches) 和 phoronix 报道 [phoronix, 2025/02/05, AMD Broadcast TLB Invalidation Patches For Linux Updated, Intel RAR Eyed Next](https://www.phoronix.com/news/AMD-INVLPGB-Linux-v8), [phoronix, 2025/03/03, AMD Broadcast TLB Invalidation "INVLPGB" Support Appears Ready For The Linux Kernel](https://www.phoronix.com/news/AMD-INVLPGB-Ready-For-Linux) [phoronix, 2025/03/25, AMD INVLPGB Merged For Linux 6.15 To Provide Another Performance Advantage](https://www.phoronix.com/news/AMD-INVLPGB-Merged-Linux-6.15). | v1 ☐☑✓ | [LORE v1,0/10](https://lore.kernel.org/all/20241222040717.3096835-1-riel@surriel.com)<br>*-*-*-*-*-*-*-* <br>[LORE v8,00/12](https://lore.kernel.org/lkml/20250205014033.3626204-1-riel@surriel.com)<br>*-*-*-*-*-*-*-* <br>[LORE v14,0/13](https://lore.kernel.org/all/20250226030129.530345-1-riel@surriel.com) |
|
||||
| 2024/12/21 | Rik van Riel <riel@surriel.com> | [AMD broadcast TLB invalidation](https://lore.kernel.org/all/20241222040717.3096835-1-riel@surriel.com) | GCC 支持 Zen 3 的补丁对 INVLPGB 和 TLBSYNC 指令进行了支持, 参见 phoronix 报道 [phoronix, 2020/10/19, AMD Sends Out Patches Adding "Znver3" Support To GNU Binutils With New Instructions](https://www.phoronix.com/news/Znver3-Binutils-Support). 随后 Linux 内核开始支持使用 AMD INVLPGB 指令进行广播 TLB 失效. 参见 phoronix 报道 [phoronix, 2024/12/22, Linux Kernel Patches To Use AMD INVLPGB Instruction Show Huge Speed-Up](https://www.phoronix.com/news/AMD-INVLPGB-Linux-Benefits), [phoronix, 2024/12/29, Benchmarking The AMD INVLPGB Linux Kernel Patches For Better Performance](https://www.phoronix.com/review/AMD-INVLPGB-Linux), [phoronix, 2024/12/31, AMD INVLPGB Linux Patches Updated For Broadcast TLB Invalidation](https://www.phoronix.com/news/AMD-INVLPGB-Linux-Patches-v3), [phoronix, 2025/01/13, AMD Broadcast TLB Invalidation Linux Patches Reworked In 4th Spin](https://www.phoronix.com/news/AMD-INVLPGB-Linux-v4-Patches) 和 phoronix 报道 [phoronix, 2025/02/05, AMD Broadcast TLB Invalidation Patches For Linux Updated, Intel RAR Eyed Next](https://www.phoronix.com/news/AMD-INVLPGB-Linux-v8), [phoronix, 2025/03/03, AMD Broadcast TLB Invalidation "INVLPGB" Support Appears Ready For The Linux Kernel](https://www.phoronix.com/news/AMD-INVLPGB-Ready-For-Linux) [phoronix, 2025/03/25, AMD INVLPGB Merged For Linux 6.15 To Provide Another Performance Advantage](https://www.phoronix.com/news/AMD-INVLPGB-Merged-Linux-6.15). | v1 ☐☑✓ | [LORE v1,0/10](https://lore.kernel.org/all/20241222040717.3096835-1-riel@surriel.com)<br>*-*-*-*-*-*-*-* <br>[LORE v8,00/12](https://lore.kernel.org/lkml/20250205014033.3626204-1-riel@surriel.com)<br>*-*-*-*-*-*-*-* <br>[LORE v14,0/13](https://lore.kernel.org/all/20250226030129.530345-1-riel@surriel.com) |
|
||||
|
||||
|
||||
### 2.2.4 BATCHED_UNMAP_TLB_FLUSH
|
||||
@@ -1133,7 +1133,7 @@ https://blogs.vmware.com/vsphere/2021/10/introducing-project-capitola.html
|
||||
| 时间 | 作者 | 特性 | 描述 | 是否合入主线 | 链接 |
|
||||
|:---:|:----:|:---:|:----:|:---------:|:----:|
|
||||
| 2024/03/24 | ira.weiny@intel.com <ira.weiny@intel.com> | [DCD: Add support for Dynamic Capacity Devices (DCD)](https://lore.kernel.org/all/20240324-dcd-type2-upstream-v1-0-b7b00d623625@intel.com) | 动态容量设备 (DCD)(CXL 3.1 sec 9.13.3) 是一种 CXL 存储器设备, 它允许存储器容量动态变化, 而无需重置设备、重新配置 HDM 解码器或重新配置软件 DAX 区域. 动态容量最大的使用案例之一是允许主机在数据中心内动态共享内存, 而不增加每台主机连接的内存. 添加或删除内存的一般流程是让协调器协调内存的使用. 通常, 在这样的系统中有 5 个参与者, 即编排器、结构管理器、主机看到的设备、主机内核和主机用户. | v1 ☐☑✓ | [LORE v1,0/26](https://lore.kernel.org/all/20240324-dcd-type2-upstream-v1-0-b7b00d623625@intel.com) |
|
||||
| 2024/04/22 | Dongsheng Yang <dongsheng.yang@easystack.cn> | [block: Introduce CBD (CXL Block Device)](https://lore.kernel.org/all/20240422071606.52637-1-dongsheng.yang@easystack.cn) | [CBD Proposed For The Linux Kernel: CXL Block Device](https://www.phoronix.com/news/Linux-CBD-CXL-Block-Device) | v1 ☐☑✓ | [LORE v1,0/7](https://lore.kernel.org/all/20240422071606.52637-1-dongsheng.yang@easystack.cn) |
|
||||
| 2024/04/22 | Dongsheng Yang <dongsheng.yang@easystack.cn> | [Introduce CBD (CXL Block Device)](https://lore.kernel.org/all/20240422071606.52637-1-dongsheng.yang@easystack.cn) | [CBD Proposed For The Linux Kernel: CXL Block Device](https://www.phoronix.com/news/Linux-CBD-CXL-Block-Device), [phoronix, 2025/01/07, CXL Block Device "CBD" Looking Very Promising For The Linux Kernel In 2025](https://www.phoronix.com/news/CXL-Block-Device-Linux-v3) | v1 ☐☑✓ | [LORE v1,0/7](https://lore.kernel.org/all/20240422071606.52637-1-dongsheng.yang@easystack.cn)<br>*-*-*-*-*-*-*-* <br>[LORE v3,0/8](https://lore.kernel.org/all/20250107103024.326986-1-dongsheng.yang@linux.dev) |
|
||||
|
||||
|
||||
## 6.4 CPU IDLE(C-state)
|
||||
@@ -1387,7 +1387,9 @@ AMD-pstate 驱动程序利用 ITMT 体系结构提供的功能和数据结构,
|
||||
| 2023/08/15 | Meng Li <li.meng@amd.com> | [amd-pstate preferred core](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/log/?id=dfddf34a3f0d45483f5b3e46c2e7bda173796f1b) | [AMD Pstate Preferred Core](https://lore.kernel.org/all/20230815061546.3556083-1-li.meng@amd.com) 以及 [AMD P-State Preferred Core Submitted For Linux 6.9 While Intel Meteor Lake Gets Tuned](https://www.phoronix.com/news/AMD-P-State-Preferred-Core-69) | v2 ☐☑✓ 6.9-rc1 | [LORE v2,0/7](https://lore.kernel.org/all/20230815061546.3556083-1-li.meng@amd.com)<br>*-*-*-*-*-*-*-* <br>[LORE v13,0/7](https://lore.kernel.org/all/20240112092531.789841-1-li.meng@amd.com)<br>*-*-*-*-*-*-*-* <br>[LORE v14,0/7](https://lore.kernel.org/lkml/20240119090502.3869695-1-li.meng@amd.com) |
|
||||
| 2024/03/18 | Perry Yuan <perry.yuan@amd.com> | [AMD Pstate Driver Core Performance Boost](https://lore.kernel.org/all/cover.1710754236.git.perry.yuan@amd.com) | 该补丁集系列为 AMD pstate 驱动程序增加了核心性能提升 (core performance boost) 功能, 包括被动, 引导和主动模式支持. 用户可以使用新的 sysfs 条目: "/sys/devices/system/cpu/amd_pstate/cpb_boost" 更改核心频率 boost 控制. 由于与支持所有模式的新 cpb_boost 的功能冲突, 传统的 boost 接口已被删除. 参见 [AMD Posts Updated Linux Patches For P-State Core Performance Boost](https://www.phoronix.com/news/AMD-Core-Performance-Boost-6). [AMD Core Performance Boost For Linux Getting Per-CPU Core Controls](https://www.phoronix.com/news/AMD-Core-Perf-Boost-Per-CPU), [AMD P-State Core Performance Boost To Be Merged For Linux 6.11](https://www.phoronix.com/news/AMD-Core-Perf-Boost-Linux-6.11). | v6 ☐☑✓ | [LORE v6,0/6](https://lore.kernel.org/all/cover.1710754236.git.perry.yuan@amd.com)<br>*-*-*-*-*-*-*-* <br>[AMD Pstate Driver Core Performance Boost](https://lore.kernel.org/linux-pm/cover.1714989803.git.perry.yuan@amd.com) |
|
||||
| 2024/03/08 | Sibi Sankar <quic_sibis@quicinc.com> | [cpufreq: scmi: Add boost frequency support](https://lore.kernel.org/all/20240308104410.385631-1-quic_sibis@quicinc.com) | [ARM SCMI CPUFreq Driver Enabling Boost Support By Default With Linux 6.9](https://www.phoronix.com/news/ARM-SCMI-CPUFreq-Boost-Linux-69). | v3 ☐☑✓ | [LORE v3,0/2](https://lore.kernel.org/all/20240308104410.385631-1-quic_sibis@quicinc.com)<br>*-*-*-*-*-*-*-* <br>[LORE v4,0/2](https://www.phoronix.com/news/Linux-69-RAM-Bandwidth-Throttle) |
|
||||
| 2024/12/23 | K Prateek Nayak <kprateek.nayak@amd.com> | [x86, sched: Dynamic ITMT core ranking support and some yak shaving](https://lore.kernel.org/all/20241223043407.1611-1-kprateek.nayak@amd.com) | 该补丁系列旨在为 Linux 内核的 x86 架构和调度程序) 添加动态 ITMT(Intel Turbo Boost Max Technology) 核心排名支持, 并进行了一些优化调整. 以下是补丁的主要内容:<br>1. 转换 "sysctl_sched_itmt_enabled" 到布尔值: 将原先的系统控制参数转换为更简洁的布尔值形式.<br>2. 使用 guard() 保护 itmt_update_mutex: 增强代码的安全性, 确保在多线程环境下对共享资源的访问更加安全.<br>3. 将 "sched_itmt_enabled" 系统控制移至 debugfs: 使得启用或禁用此功能更加灵活, 用户可以通过 debugfs 接口来操作.<br>4. 直接使用 cpu_smt_flags 替代 x86_smt_flags: 简化了相关代码,提高了维护性.<br>5. 无条件地在 PKG 域中使用 x86_sched_itmt_flags: 确保在处理包 (package) 级别的调度时,能够更好地利用 ITMT 技术.<br>6. 避免在负载均衡期间不必要地计算 NUMA 平衡统计信息: 提高负载均衡效率, 减少不必要的计算开销.<br>7. 避免在负载均衡期间不必要地计算过载状态: 进一步优化负载均衡过程,避免冗余计算.<br>8. 解缓存 asym_prefer_cpu 并在 update_sd_lb_stats() 中查找它: 这个修改被标记为 RFC(Request for Comments), 因为它虽然可以在一些场景下减少开销,但增加了代码复杂度.<br>9. 此外, 这个补丁是之前针对 Preferred Core 系统的修复尝试的精神继承者. 它还考虑到了如何正确处理空闲 CPU 的状态, 以避免因阻塞平均值导致的误判为空闲 CPU 过载的问题. 参见 [phoronix, 2025/01/15, Linux 6.14 To Bring An Important Improvement For AMD Preferred Core](https://www.phoronix.com/news/AMD-Preferred-Core-Better-6.14) | v2 ☐☑✓ | [LORE v2,0/8](https://lore.kernel.org/all/20241223043407.1611-1-kprateek.nayak@amd.com) |
|
||||
| 2024/12/23 | K Prateek Nayak <kprateek.nayak@amd.com> | [x86, sched: Dynamic ITMT core ranking support and some yak shaving](https://lore.kernel.org/all/20241223043407.1611-1-kprateek.nayak@amd.com) | 该补丁系列旨在为 Linux 内核的 x86 架构和调度程序) 添加动态 ITMT(Intel Turbo Boost Max Technology) 核心排名支持, 并进行了一些优化调整. 以下是补丁的主要内容:<br>1. 转换 "sysctl_sched_itmt_enabled" 到布尔值: 将原先的系统控制参数转换为更简洁的布尔值形式.<br>2. 使用 guard() 保护 itmt_update_mutex: 增强代码的安全性, 确保在多线程环境下对共享资源的访问更加安全.<br>3. 将 "sched_itmt_enabled" 系统控制移至 debugfs: 使得启用或禁用此功能更加灵活, 用户可以通过 debugfs 接口来操作.<br>4. 直接使用 cpu_smt_flags 替代 x86_smt_flags: 简化了相关代码,提高了维护性.<br>5. 无条件地在 PKG 域中使用 x86_sched_itmt_flags: 确保在处理包 (package) 级别的调度时,能够更好地利用 ITMT 技术.<br>6. 避免在负载均衡期间不必要地计算 NUMA 平衡统计信息: 提高负载均衡效率, 减少不必要的计算开销.<br>7. 避免在负载均衡期间不必要地计算过载状态: 进一步优化负载均衡过程,避免冗余计算.<br>8. 解缓存 asym_prefer_cpu 并在 update_sd_lb_stats() 中查找它: 这个修改被标记为 RFC(Request for Comments), 因为它虽然可以在一些场景下减少开销,但增加了代码复杂度.<br>9. 此外, 这个补丁是之前针对 Preferred Core 系统的修复尝试的精神继承者. 它还考虑到了如何正确处理空闲 CPU 的状态, 以避免因阻塞平均值导致的误判为空闲 CPU 过载的问题. 参见 [phoronix, 2025/01/15, Linux 6.14 To Bring An Important Improvement For AMD Preferred Core](https://www.phoronix.com/news/AMD-Preferred-Core-Better-6.14) | v2 ☐☑✓ | [LORE RFC,0/8](https://lore.kernel.org/lkml/20241211185552.4553-1-kprateek.nayak@amd.com/)<br>*-*-*-*-*-*-*-* <br>[LORE v2,0/8](https://lore.kernel.org/all/20241223043407.1611-1-kprateek.nayak@amd.com) |
|
||||
| 2025/04/09 | K Prateek Nayak <kprateek.nayak@amd.com> | [cpufreq/amd-pstate: Enable ITMT support after initializing core rankings](https://lore.kernel.org/all/20250409030004.23008-1-kprateek.nayak@amd.com) | TODO | v1 ☐☑✓ | [LORE](https://lore.kernel.org/all/20250409030004.23008-1-kprateek.nayak@amd.com) |
|
||||
| 2025/04/09 | K Prateek Nayak <kprateek.nayak@amd.com> | [sched/fair: Dynamic asym priority support](https://lore.kernel.org/all/20250409053446.23367-1-kprateek.nayak@amd.com) | 支持首选核心排名的AMD处理器子集可以在运行时更改这些排名, 以使负载平衡偏向具有更高频率/更大缓存的 CPU. | v2 ☐☑✓ | [LORE v2,0/4](https://lore.kernel.org/all/20250409053446.23367-1-kprateek.nayak@amd.com) |
|
||||
|
||||
|
||||
#### 6.12.2.3 Dynamic EPP & Raw EPP Feature
|
||||
@@ -1440,7 +1442,7 @@ AMD-pstate 驱动程序利用 ITMT 体系结构提供的功能和数据结构,
|
||||
|:---:|:----:|:---:|:----:|:---------:|:----:|
|
||||
| 2023/08/29 | Yogesh Mohan Marmithu | [user queue patches for review](https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29010) | AMD RadeonSI 驱动程序的用户队列允许将作业直接提交到 GPU 硬件, 而无需使用 ioctl 命令通过 AMDGPU 内核驱动程序提交作业, 这可以通过直接向 GPU 硬件提交作业来避免因一些内核驱动程的开销所造成的延迟. 参见 [AMD User Queue Mesa Support Merged For Linux - Submitting Work Directly To The GPU](https://www.phoronix.com/news/Mesa-25.0-AMDGPU-User-Queue) | v5 ☐☑✓ | [LORE v5,0/8](https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29010) |
|
||||
| 2024/12/01 | Yonatan Maman <ymaman@nvidia.com> | [GPU Direct RDMA (P2P DMA) for Device Private Pages](https://lore.kernel.org/all/20241201103659.420677-1-ymaman@nvidia.com) | 参见 phoronix 报道 [phoronix, 2024/12/01, NVIDIA's New Linux Patches For GPU Direct RDMA For Device-Private Pages](https://www.phoronix.com/news/NVIDIA-Linux-P2P-DMA-RDMA-Priv) | v1 ☐☑✓ | [LORE v1,0/5](https://lore.kernel.org/all/20241201103659.420677-1-ymaman@nvidia.com) |
|
||||
| 2025/01/31 | Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> | [Improve gpu_scheduler trace events + uAPI](https://lore.kernel.org/all/20250131110328.706695-1-pierre-eric.pelloux-prayer@amd.com) | TODO | v7 ☐☑✓ | [LORE v7,0/7](https://lore.kernel.org/all/20250131110328.706695-1-pierre-eric.pelloux-prayer@amd.com) |
|
||||
| 2025/01/31 | Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> | [Improve gpu_scheduler trace events + uAPI](https://lore.kernel.org/all/20250131110328.706695-1-pierre-eric.pelloux-prayer@amd.com) | TODO | v7 ☐☑✓ | [LORE v7,0/7](https://lore.kernel.org/all/20250131110328.706695-1-pierre-eric.pelloux-prayer@amd.com)<br>*-*-*-*-*-*-*-* <br>[LORE v8,0/10](https://lore.kernel.org/all/20250320095818.40622-1-pierre-eric.pelloux-prayer@amd.com) |
|
||||
| 2024/11/28 | Raag Jadav <raag.jadav@intel.com> | [Introduce DRM device wedged event](https://lore.kernel.org/all/20241128153707.1294347-1-raag.jadav@intel.com) | [phoronix, 2025/02/20, Linux Finally Introducing A Standardized Way Of Informing User-Space Over Hung GPUs](https://www.phoronix.com/news/Linux-6.14-Wedged-GPUs-User), [phoronix, 2025/03/01, Linux's New Way Of Informing User-Space Over Hung GPUs May Become More Useful](https://www.phoronix.com/news/Extending-Linux-GPU-Wedge-Event). | v10 ☐☑✓ | [LORE v10,0/4](https://lore.kernel.org/all/20241128153707.1294347-1-raag.jadav@intel.com) |
|
||||
| 2025/03/07 | Matthew Auld | [drm/xe/uapi: Use hint for guc to set GT frequency](https://lists.freedesktop.org/archives/intel-xe/2025-January/066028.html) | [phoronix, 2025/03/07, Intel Xe Driver Introducing SVM, EU Stall Sampling & Other New Features For Linux 6.15](https://www.phoronix.com/news/Intel-Xe-SVM-For-Linux-6.15). | v5 ☐☑✓ | [LORE v5](https://lists.freedesktop.org/archives/intel-xe/2025-January/066028.html) |
|
||||
|
||||
|
||||
@@ -633,6 +633,8 @@ Wasmtime 完全开源, 使用 Rust 编程语言, 是的, 并且符合 WASI 标
|
||||
[Wasmer 4.4 Released To Continue Pushing Universal Apps With WebAssembly](https://www.phoronix.com/news/Wasmer-4.4-Released)
|
||||
[Wasmer 6.0 Wires Up Support For Multiple Heterogeneous Backends](https://www.phoronix.com/news/Wasmer-6.0-Alpha-1)
|
||||
|
||||
[phoronix, 2025/03/26, Microsoft Announces Open-Source "Hyperlight Wasm" Project](https://www.phoronix.com/news/Microsoft-Hyperlight-Wasm)
|
||||
|
||||
|
||||
# 10 云原生
|
||||
-------
|
||||
|
||||
@@ -552,6 +552,7 @@ bperf 试图通过允许多个 "周期" 或 "指令" 的 perf_event (在不同
|
||||
| 2024/07/18 | Athira Rajeev <atrajeev@linux.vnet.ibm.com> | [Add data type profiling support for powerpc](https://lore.kernel.org/all/20240718084358.72242-1-atrajeev@linux.vnet.ibm.com) | 这个补丁集的主要目的是为 PowerPC 架构添加数据类型剖析(data type profiling)的支持. 之前由 Namhyung Kim 提交的一系列补丁已经为 perf 工具引入了数据类型剖析的基本支持. 这些补丁使 perf 能够关联性能监控单元(PMU)的样本到它们所引用的数据类型, 利用 DWARF 调试信息来实现这一点. 目前, 这种支持已经在 x86 架构上可用, 可以通过 perf report 或 perf annotate 命令来查看数据类型信息.<br>1. PowerPC 指令表更新: 添加了一个 PowerPC 指令助记符表, 用于将负载/存储指令与移动操作关联起来, 从而识别指令是否涉及内存访问.<br>2. 获取寄存器编号和偏移量: 为了从给定的指令中获取寄存器编号和访问偏移量, 代码使用了 struct arch 中的 objump 字段. 为 PowerPC 添加了相应的条目.<br>3. 获取寄存器编号函数: 实现了一个 get_arch_regnum 函数, 可以从寄存器名称字符串中返回寄存器编号. 解析原始指令为了更准确地解析 PowerPC 指令.<br>补丁集采取了以下步骤使用原始指令: 补丁集支持直接使用原始指令而非解析后的指令名称. 这样可以通过宏来提取指令的操作码和寄存器字段.<br>示例: 例如, 使用 --show-raw-insn 选项时, objdump 会给出原始指令的十六进制表示, 如 "38 01 81 e8", 这对应于 "ld r4,312(r1)" 指令.<br>避免重复使用 objdump: 补丁集避免了重复使用 objdump 来读取原始指令, 而是直接从动态共享对象 (DSO) 中读取二进制代码.<br>补丁集作者提供了测试结果, 其中展示了使用 perf annotate --data-type --insn-stat 命令的结果. 结果显示有大约 43.7% 的指令被正确解析, 而 56.3% 的指令未能成功解析. 作者指出还有大约 25% 的未知指令没有得到处理. | v8 ☐☑✓ | [2024/03/09, LORE v1, 0/3](https://lore.kernel.org/all/20240309072513.9418-1-atrajeev@linux.vnet.ibm.com)<br>*-*-*-*-*-*-*-* <br>[2024/05/06, LORE v2, 0/9](https://lore.kernel.org/all/20240506121906.76639-1-atrajeev@linux.vnet.ibm.com)<br>*-*-*-*-*-*-*-* <br>[2024/07/13, LORE 07, 00/18](https://lore.kernel.org/linux-perf-users/20240713165529.59298-1-atrajeev@linux.vnet.ibm.com)<br>*-*-*-*-*-*-*-* <br>[2024/07/18, LORE v8, 00/15](https://lore.kernel.org/all/20240718084358.72242-1-atrajeev@linux.vnet.ibm.com) |
|
||||
| 2024/07/31 | Namhyung Kim <namhyung@kernel.org> | [perf mem: Basic support for data type profiling](https://lore.kernel.org/all/20240731235505.710436-1-namhyung@kernel.org) | 为 perf 添加对数据类型剖析的基本支持.当使用 perf mem report 命令时, 可以显示关于内存访问的数据类型信息. 补丁添加了一些方便的选项来查看这些信息, 例如 `-T` 和 `-s mem` 选项. 显示了如何按内存层级(如 L1 缓存命中、RAM 访问等)和数据类型(如结构体、整数等)对内存访问进行分类. 通过这些更改, 开发人员可以更详细地了解应用程序或内核模块在运行时如何使用不同类型的内存, 并有助于识别潜在的性能瓶颈. | v1 ☐☑✓ | [2024/07/31, LORE v1,0/6](https://lore.kernel.org/all/20240731235505.710436-1-namhyung@kernel.org) |
|
||||
| 2024/07/25 | Namhyung Kim <namhyung@kernel.org> | [perf annotate: Cache debuginfo for data type profiling](https://lore.kernel.org/all/20240726015723.1329937-1-namhyung@kernel.org) | TODO | v2 ☐☑✓ | [2024/07/26, LORE](https://lore.kernel.org/all/20240726015723.1329937-1-namhyung@kernel.org)<br>*-*-*-*-*-*-*-* <br>[2024/08/05, LORE v3](https://lore.kernel.org/all/20240805234648.1453689-1-namhyung@kernel.org/) |
|
||||
| 2025/04/02 | Zecheng Li <zecheng@google.com> | [sched/fair: Reorder scheduling related structs to reduce cache misses](https://lore.kernel.org/all/20250402212904.8866-1-zecheng@google.com) | 主要目标是通过重新排列与调度相关的数据结构(struct cfs_rq 和 struct sched_entity)来提高缓存局部性, 从而减少缓存未命中, 提升 CFS(完全公平调度器)调度相关操作的性能, 尤其是在拥有数百个核心和约 1000 个 cgroup 的服务器上. | v1 ☐☑✓ | [LORE v1,0/2](https://lore.kernel.org/all/20250402212904.8866-1-zecheng@google.com) |
|
||||
|
||||
|
||||
## 11.11 能量统计
|
||||
@@ -562,17 +563,29 @@ bperf 试图通过允许多个 "周期" 或 "指令" 的 perf_event (在不同
|
||||
| 2024/11/15 | Dhananjay Ugwekar <Dhananjay.Ugwekar@amd.com> | [Add RAPL core energy counter support for AMD CPUs](https://lore.kernel.org/all/20241115060805.447565-1-Dhananjay.Ugwekar@amd.com) | 这组补丁的主要目的是为 AMD CPU 添加对 RAPL(Running Average Power Limit)核心能耗计数器的支持.<br>当前的 "energy-cores" 事件在 power PMU 中聚合了包级别的能耗数据, 而 AMD CPU 的核心能耗 RAPL 计数器具有核心范围(即每个核心单独记录能耗). 由于这两种事件的作用范围不同, 之前尝试将核心事件添加到 power PMU 中的努力失败了. 因此, 需要一个新的核心范围 PMU 来收集这些新的 "energy-core" 事件. 参见 phoronix 报道 [phoronix, 2024/12/02, AMD Per-Core Energy Counter Support Slated For Linux 6.14](https://www.phoronix.com/news/AMD-Per-Core-Energy-Linux-6.14). | v7 ☐☑✓ | [LORE v7,0/10](https://lore.kernel.org/all/20241115060805.447565-1-Dhananjay.Ugwekar@amd.com) |
|
||||
|
||||
|
||||
## 11.12 perf other
|
||||
## 11.12 perf sched
|
||||
-------
|
||||
|
||||
|
||||
| 时间 | 作者 | 特性 | 描述 | 是否合入主线 | 链接 |
|
||||
|:---:|:----:|:---:|:----:|:---------:|:----:|
|
||||
| 2025/02/03 | Dmitry Vyukov <dvyukov@google.com> | [perf report: Add latency and parallelism profiling](https://lore.kernel.org/all/cover.1738592865.git.dvyukov@google.com) | [phoronix, 2025/03/31, Linux 6.15 Perf Tooling Introduces New Support For Latency Profiling](https://www.phoronix.com/news/Linux-6.15-Perf-Tools-Latency) | v4 ☐☑✓ | [LORE v4,0/8](https://lore.kernel.org/all/cover.1738592865.git.dvyukov@google.com) |
|
||||
| 2024/11/22 | Swapnil Sapkal <swapnil.sapkal@amd.com> | [perf sched: Introduce stats tool](https://lore.kernel.org/all/20241122084452.1064968-1-swapnil.sapkal@amd.com) | 目标是为 perf sched 引入一个新的统计工具 perf sched stats, 用于更高效地分析调度器行为, 尤其是在长时间运行或调度密集型工作负载下.<br>1. 问题" 现有的 perf sched record 工具虽然功能强大, 但在长时间运行或调度密集型工作负载下, 会产生大量数据(例如在高核心数服务器上运行 hackbench 时, 生成的 perf.data 文件可能达到 56GB), 并且解析和写入这些数据需要很长时间(约 137 分钟), 这使得其在实际使用中变得不切实际.<br>2. 目标: 通过引入 perf sched stats 工具, 提供一种更轻量级的解决方案. 该工具通过在工作负载运行前后对 `/proc/schedstat` 文件进行快照, 几乎不对工作负载运行产生干扰, 并且解析和保存数据的时间非常短, 生成的 perf.data 文件也更小.<br>3. 实现了 `perf sched stats record/report/diff` 子命令.<br>报告格式: perf sched stats report 会输出详细的调度统计信息, 包括 CPU 调度统计、负载均衡统计、任务唤醒统计等. 报告中还包括字段描述、总运行时间、CPU 调度统计、负载均衡统计等.<br>差分报告: perf sched stats diff 可以比较两次运行之间的差异, 显示字段的变化百分比和平均 jiffies 间隔.<br>实时模式: 实时模式:perf sched stats 支持实时模式, 类似于 perf stat, 可以实时输出调度统计信息. | v2 ☐☑✓ | [LORE v2,0/6](https://lore.kernel.org/all/20241122084452.1064968-1-swapnil.sapkal@amd.com)<br>*-*-*-*-*-*-*-* <br>[LORE v3,0/8](https://lore.kernel.org/all/20250311120230.61774-1-swapnil.sapkal@amd.com) |
|
||||
|
||||
|
||||
|
||||
## 11.13 perf other
|
||||
-------
|
||||
|
||||
|
||||
| 时间 | 作者 | 特性 | 描述 | 是否合入主线 | 链接 |
|
||||
|:---:|:----:|:---:|:----:|:---------:|:----:|
|
||||
| 2023/03/01 | Wyes Karny <wyes.karny@amd.com> | [Enable Core RAPL for AMD](https://lore.kernel.org/all/20230301181449.14647-1-wyes.karny@amd.com) | 这组补丁的主要目的是在 AMD CPU 上启用核心级别的 RAPL(Running Average Power Limit)能耗计数器支持, 并修复了之前版本中发现的问题. | v2 ☐☑✓ | [LORE v2,0/2](https://lore.kernel.org/all/20230301181449.14647-1-wyes.karny@amd.com) |
|
||||
| 2021/07/20 | kan.liang@linux.intel.com <kan.liang@linux.intel.com> | [perf: Save PMU specific data in task_struct](https://lore.kernel.org/all/1626788420-121610-1-git-send-email-kan.liang@linux.intel.com) | 某些特定于 PMU 的数据必须在上下文切换期间保存 / 恢复, 例如 LBR 调用堆栈数据. 目前, 数据保存在事件上下文结构中, 但仅针对每个流程的事件. 对于系统范围的事件, 由于上下文切换后缺少 LBR 调用堆栈数据, 与按进程模式相比, LBR 调用栈总是更短. | v6 ☐☑✓ | [LORE v2,1/2](https://lore.kernel.org/lkml/20230301181449.14647-1-wyes.karny@amd.com/)<br>*-*-*-*-*-*-*-* <br>[LORE v6,0/6](https://lore.kernel.org/all/1626788420-121610-1-git-send-email-kan.liang@linux.intel.com) |
|
||||
| 2021/07/20 | kan.liang@linux.intel.com <kan.liang@linux.intel.com> | [perf: Save PMU specific data in task_struct](https://lore.kernel.org/all/1626788420-121610-1-git-send-email-kan.liang@linux.intel.com) | 某些特定于 PMU 的数据必须在上下文切换期间保存 / 恢复, 例如 LBR 调用堆栈数据. 目前, 数据保存在事件上下文结构中, 但仅针对每个流程的事件. 对于系统范围的事件, 由于上下文切换后缺少 LBR 调用堆栈数据, 与按进程模式相比, LBR 调用栈总是更短. | v6 ☐☑✓ | [LORE v2,1/2](https://lore.kernel.org/lkml/20230301181449.14647-1-wyes.karny@amd.com/)<br>*-*-*-*-*-*-*-* <br>[LORE v6,0/6](https://lore.kernel.org/all/1626788420-121610-1-git-send-email-kan.liang@linux.intel.com)|<br>*-*-*-*-*-*-*-* <br>[2025/03/14, LORE v10,0/7](https://lore.kernel.org/all/20250314172700.438923-1-kan.liang@linux.intel.com) |
|
||||
|
|
||||
|
||||
|
||||
## 11.13 WindowsPerf
|
||||
## 11.14 WindowsPerf
|
||||
-------
|
||||
|
||||
[技术分享 | 发布WindowsPerf:用于Windows on Arm的开源性能分析工具](https://mp.weixin.qq.com/s?__biz=MzIwOTYyMjQzOQ==&mid=2247507803&idx=1&sn=16ad97e99a0cb77bad2d9e460a166e85&chksm=97739b93a0041285052512b86886f5b613cf8bb2924f3a8d7b3007325e780c66f70beb7d2037&scene=27)
|
||||
@@ -687,6 +700,7 @@ Canonical 的工程师一直在探索利用 Profile Guided Optimizations(PGO)
|
||||
其他相关
|
||||
|
||||
[Unified LTO Bitcode Front-End Comes Together For LLV](https://www.phoronix.com/news/LLVM-Unified-LTO-Front-End).
|
||||
[phoronix, 2025/01/06, NVIDIA Working On "-flto-partition=locality" GCC Option To Boost Performance For Some CPU Workloads](https://www.phoronix.com/news/NVIDIA-GCC-flto-locality).
|
||||
|
||||
### 13.2.3 BOLT'ing
|
||||
-------
|
||||
@@ -874,6 +888,8 @@ Mesa CI 开始使用 Mold 作为其 x86_64 和 AArch64 上的默认链接器,
|
||||
|
||||
[Mold 2.35 Released With Big Endian ARM64 Support](https://www.phoronix.com/news/Mold-2.35-Released)
|
||||
|
||||
[phoronix, 2025/01/09, Mold 2.36 Linker Brings More Optimizations & Compatibility Improvements](https://www.phoronix.com/news/Mold-2.36-Released)
|
||||
|
||||
[Mold Linker Performance Remains Very Compelling In 2024 Over GNU Gold/ld, LLVM lld](https://www.phoronix.com/news/Mold-Linker-2024-Performance).
|
||||
|
||||
Mold 链接器中添加了一个新的 "--separate-debug-file" 选项, 以实现"更快"的性能. 将包含调试信息的 Clang 链接可以下降到不到半秒, 而目前只有六秒半. [Mold Linker Gains New Option To Deliver "Massively Faster" Performance](https://www.phoronix.com/news/Mold-Separate-Debug-File).
|
||||
@@ -1261,6 +1277,7 @@ Fedora 尝试优化 systemd 开机以及重启的时间, 参见 phoronix 报道
|
||||
|:---:|:----:|:---:|:----:|:---------:|:----:|
|
||||
| 2022/06/16 | Daniel Bristot de Oliveira <bristot@kernel.org> | [The Runtime Verification (RV) interface](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/log/?id=e88043c0ac16f19960048372dcffc6df7c05c5b8) | 运行时验证 Linux 内核的行为. 运行时验证(RV) 是一种轻量级 (但严格) 的方法, 它补充了经典的穷举验证技术 (如模型检查和定理证明), 并为复杂系统提供了一种更实用的方法. RV 不依赖于系统的细粒度模型 (例如, 重新实现指令级别), 而是通过分析系统实际执行的轨迹, 并将其与系统行为的形式化规范进行比较来工作. RV 使用确定性自动机是一种成熟的方法. | v4 ☐☑✓ 6.0-rc1 | [LORE v4,0/20](https://lore.kernel.org/all/cover.1655368610.git.bristot@kernel.org)<br>*-*-*-*-*-*-*-* <br>[LORE v9,00/16](https://lore.kernel.org/all/cover.1659052063.git.bristot@kernel.org) |
|
||||
| 2022/11/11 | Daniel Bristot de Oliveira <bristot@kernel.org> | [verification/rv: Add rv tool](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/log/?id=afc70ccb962861e068e04c6089827493f5160a0a) | (用户空间)运行时验证工具 rv. 该工具旨在成为内核 rv 监视器的接口, 以及用户空间控制监视器. 该工具接收命令作为第一个参数 <br>1. list 列出所有可用的监视器 <br>2. mon 运行给定的监视器 <br> 每个监视器都是工具内的一个独立软件, 可以有自己的参数. | v2 ☐☑✓ 6.2-rc1 | [LORE v2,0/3](https://lore.kernel.org/all/cover.1668180100.git.bristot@kernel.org) |
|
||||
| 2025/03/05 | Gabriele Monaco <gmonaco@redhat.com> | [rv: Add scheduler specification monitors](https://lore.kernel.org/all/20250305140406.350227-1-gmonaco@redhat.com) | 主要目的是向 Linux 内核添加调度器规范监视器(scheduler specification monitors). 以下是该系列补丁的一些关键点:<br>1. 引入调度器跟踪点: 为 RV(Runtime Verification) 任务模型添加了与调度相关的跟踪点(tracepoints).<br>2. 支持嵌套监视器: 通过在 sysfs 监控文件夹中创建一个名为 sched 的监控器来实现对其他监控器的支持. 这个 sched 监控器本身是一个空容器, 用于容纳其他监控器. 控制这个 sched 监控器(启用、禁用、设置反应器)可以同时控制所有嵌套的监控器.<br>3. 新增多种监控器: 增加了每任务(per-task)和每 CPU(per-cpu)监控器, 如 snroc, scpd, snep, sncid 等. 添加了 sco 和 tss 每 CPU 监控器. 该系列补丁旨在使 Linux 内核能够更好地支持运行时验证, 特别是针对调度器的行为进行更细致的监控和验证. 这包括但不限于提高对不同调度策略和抢占模式下行为的理解, 以及帮助开发者更容易地发现和调试与调度相关的问题. 此外, 它还使得能够区分不同的预抢占禁用情况成为可能, 这对于确保系统的实时性和响应性至关重要. | v5 ☐☑✓ | [LORE v5,0/9](https://lore.kernel.org/all/20250305140406.350227-1-gmonaco@redhat.com) |
|
||||
|
||||
|
||||
# 21 新语言支持
|
||||
@@ -1320,6 +1337,7 @@ Fedora 尝试优化 systemd 开机以及重启的时间, 参见 phoronix 报道
|
||||
|
||||
[A 2024 Discussion Whether To Convert The Linux Kernel From C To Modern C++](https://www.phoronix.com/news/CPP-Linux-Kernel-2024-Discuss)
|
||||
|
||||
[phoronix, 2024/12/28, A "Safe C++" Being Explored Using The New ClangIR](https://www.phoronix.com/news/RFC-Safe-CXX-Using-ClangIR), 参见 [[RFC] A ClangIR based Safe C++](https://discourse.llvm.org/t/rfc-a-clangir-based-safe-c/83245)
|
||||
|
||||
# 22 kallsyms
|
||||
-------
|
||||
|
||||
@@ -447,6 +447,8 @@ kpatch 的实现一直是根据内核的进展而演进的, 对 JUMP_LABEL 的
|
||||
| 2015/05/28 | Li Bin <huawei.libin@huawei.com> | [livepatch: add support on arm64](https://lore.kernel.org/patchwork/cover/947588) | NA | RFC ☐ 5.14-rc1 | [PatchWork RFC,0/5](https://lore.kernel.org/patchwork/cover/947588), [LKML](https://lkml.org/lkml/2015/5/28/54)<br>*-*-*-*-*-*-*-* <br>[libin2015/livepatch-for-arm64](https://github.com/libin2015/livepatch-for-arm64)<br>*-*-*-*-*-*-*-* <br>[gcc/arm64: support -mfentry feature for arm64](https://gcc.gnu.org/legacy-ml/gcc-patches/2016-03/msg00755.html) |
|
||||
| 2019/02/08 | Torsten Duwe <duwe@lst.de> | [arm64: implement live patching](https://lore.kernel.org/patchwork/cover/1003832) | NA | RFC ☐ 5.14-rc1 | [PatchWork RFC,1/1](https://lore.kernel.org/patchwork/cover/1003832)<br>*-*-*-*-*-*-*-* <br>[PatchWork v8,0/5 arm64: ftrace with regs](https://lore.kernel.org/patchwork/cover/1039969)<br>*-*-*-*-*-*-*-* <br>[gcc/arm64: add -fpatchable-function-entry=N,M option](https://patchwork.ozlabs.org/project/gcc/list/?submitter=66400) |
|
||||
| 2021/06/07 | Suraj Jitindar Singh <surajjs@amazon.com> | [arm64: implement live patching](https://lore.kernel.org/patchwork/cover/1441385) | NA | RFC ☐ 5.14-rc1 | [PatchWork RFC,1/1](https://lore.kernel.org/patchwork/cover/1441385) |
|
||||
| 2025/03/20 | Song Liu <song@kernel.org> | [arm64: livepatch: Enable livepatch without sframe](https://lore.kernel.org/all/20250320171559.3423224-1-song@kernel.org) | TODO | v3 ☐☑✓ | [LORE v3,0/2](https://lore.kernel.org/all/20250320171559.3423224-1-song@kernel.org) |
|
||||
| 2023/02/02 | madvenka@linux.microsoft.com <madvenka@linux.microsoft.com> | [arm64: livepatch: Use ORC for dynamic frame pointer validation](https://lore.kernel.org/all/20230202074036.507249-1-madvenka@linux.microsoft.com) | 参见 [ARM64 Livepatch based on SFrame](https://lore.kernel.org/lkml/20240927074141.71195-1-wnliu@google.com/) | v3 ☐☑✓ | [LORE v3,0/22](https://lore.kernel.org/all/20230202074036.507249-1-madvenka@linux.microsoft.com) |
|
||||
|
||||
|
||||
## 6.2 PPC64
|
||||
|
||||
@@ -491,6 +491,7 @@ Proxy Execution 是一种通用形式的优先级继承机制, 它旨在解决
|
||||
| 2024/05/06 | John Stultz <jstultz@google.com> | [Preparatory changes for Proxy Execution](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/log/?id=af0c8b2bf67b25756f27644936e74fd9a6273bd2) | Proxy Execution 是一种通用的优先级继承机制的实现方法, 用于解决优先级反转问题和其他类似的问题. 这些预备补丁的目的是为后续更复杂的 Proxy Execution 相关补丁打下基础.<br>在发送第 7 版 Proxy Execution 补丁集时, John Stultz 收到了反馈, 指出补丁集变得过于庞大难以审查. 因此, 根据 Qais Yousef 的建议, 他决定将补丁集分为两部分:一部分是预备性的更改, 另一部分是更复杂的功能实现. 参见 [phoronix, 2024/10/18, Linux 6.13 Poised To Land Prep Patches Working Toward Proxy Execution](https://www.phoronix.com/news/Linux-6.13-Prep-For-Proxy-Exec). | v10 ☐☑✓ v6.13-rc1 | [2024/02/24, LORE v8,0/7](https://lore.kernel.org/all/20240224001153.2584030-1-jstultz@google.com)<br>*-*-*-*-*-*-*-* <br>[2024/04/01, LORE v9,0/7](https://lore.kernel.org/all/20240401234439.834544-1-jstultz@google.com)<br>*-*-*-*-*-*-*-* <br>[LORE v10,0/7](https://lore.kernel.org/all/20240507045450.895430-1-jstultz@google.com)<br>*-*-*-*-*-*-*-* <br>[2024/07/09, LORE v11,0/7](https://lore.kernel.org/all/20240709203213.799070-1-jstultz@google.com)<br>*-*-*-*-*-*-*-* <br>[2024/08/13, LORE v12,0/7](https://lore.kernel.org/all/20240813235736.1744280-1-jstultz@google.com)<br>*-*-*-*-*-*-*-* <br>[2024/08/29, RESEND, LORE v12,0/7](https://lore.kernel.org/all/20240829225212.6042-1-jstultz@google.com)<br>*-*-*-*-*-*-*-* <br>[2024/10/09, RESEND x3, LORE v12,0/7](https://lore.kernel.org/all/20241009235352.1614323-1-jstultz@google.com) |
|
||||
| 2024/02/02 | Metin Kaya <metin.kaya@arm.com> | [sched: Add trace events for Proxy Execution (PE)](https://lore.kernel.org/all/20240202083338.1328060-1-metin.kaya@arm.com) | 添加 `sched_[start,finish]_task_selection` 跟踪事件以测量 PE 补丁在任务选择中的延迟. 此外, 在 PE 中引入有趣事件的跟踪事件:<br>1. sched_pe_enque_sleeping_task: 一个任务在睡眠任务(互斥体所有者)的等待队列中排队.<br>2. sched_pe_cross_mote_cpu: 依赖链跨远程 cpu.<br>3. sched_pe_task_is_migration: 互斥所有者任务迁移. 可以通过以下命令测试新的跟踪事件: `perf record -e sched:sched_start_task_selection -e sched:sched_finish_task_selection -e sched:sched_pe_enque_sleeping_task -e sched:sched_pe_cross_mote_cpu -e sched:sched_pe_task_is_migration`. 此补丁基于 John 的 [Proxy Execution v7 补丁系列](https://lore.kernel.org/linux-kernel/CANDhNCrHd+5twWVNqBAhVLfhMhkiO0KjxXBmwVgaCD4kAyFyWw@mail.gmail.com). | v1 ☐☑✓ | [LORE](https://lore.kernel.org/all/20240202083338.1328060-1-metin.kaya@arm.com) |
|
||||
| 2024/11/05 | John Stultz <jstultz@google.com> | [Single CPU Proxy Execution (v13)](https://lore.kernel.org/all/20241106025656.2326794-1-jstultz@google.com) | 这组补丁的主要目的是实现单 CPU 代理执行(Single CPU Proxy Execution)机制, 这是一种通用形式的优先级继承(priority inheritance)方法, 旨在解决某些特定场景下的调度问题.<br>1. 实现单 CPU 代理执行机制, 支持作为构建和运行时选项.<br>2. 重新设计互斥锁的 blocked_on 结构, 以便更好地支持代理执行.<br>3. 处理代理执行带来的假设变化, 确保调度器的正确性.<br>4. 实现初始逻辑, 使锁持有者可以在同一 CPU 上代替等待任务运行.<br>通过这些改动, 调度器在处理某些特定场景下的优先级继承问题时更加高效和灵活, 提高了系统的整体性能和响应速度. 参见 [Paper](https://static.lwn.net/images/conf/rtlws11/papers/proc/p38.pdf) | v13 ☐☑✓ | [LORE v13,0/7](https://lore.kernel.org/all/20241106025656.2326794-1-jstultz@google.com)<br>*-*-*-*-*-*-*-* <br>[2024/11/25, LORE v14,0/7](https://lore.kernel.org/all/20241125195204.2374458-1-jstultz@google.com) |
|
||||
| 2025/03/12 | John Stultz <jstultz@google.com> | [Single RunQueue Proxy Execution](https://lore.kernel.org/all/20250312221147.1865364-1-jstultz@google.com) | 单运行队列(RunQueue)代理执行(Proxy Execution)的 V15 版本, 这是一种通用的优先级继承机制. <br>1. 问题: 在多核系统中, 当一个高优先级任务被低优先级任务阻塞时, 传统的优先级继承机制可能无法有效解决优先级反转问题, 尤其是在涉及多个运行队列(RunQueue)时.<br>2. 目标: 通过引入代理执行机制, 允许高优先级任务在等待锁时, 将执行权"代理"给其他任务, 从而减少高优先级任务的等待时间, 并提高系统的响应能力.<br>3. 核心思想: 当一个任务被阻塞时, 如果锁的持有者和等待者在同一个运行队列上, 那么可以将执行权"代理"给锁的持有者, 从而避免高优先级任务长时间等待. | v15 ☐☑✓ | [2025/03/12, LORE v15,0/7](https://lore.kernel.org/all/20250312221147.1865364-1-jstultz@google.com)<br>*-*-*-*-*-*-*-* <br>[2025/04/12, LORE v16, 0/7](https://lore.kernel.org/all/20250412060258.3844594-1-jstultz@google.com/) |
|
||||
|
||||
|
||||
# 12 深入理解并行编程
|
||||
|
||||
@@ -747,6 +747,7 @@ MTE 实现了锁和密钥访问内存. 这样在内存访问期间, 可以在内
|
||||
| 2017/12/06 | Will Deacon <will.deacon@arm.com> | [arm64: Unmap the kernel whilst running in userspace (KAISER)](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/log/?id=6aef0fdd35ead88cd651391dcc03562938a7612c) | TODO | v2 ☐☑✓ v4.16-rc1 | [2017/11/30, LORE v2,0/18](https://lore.kernel.org/all/1512059986-21325-1-git-send-email-will.deacon@arm.com)<br>*-*-*-*-*-*-*-* <br>[2017/12/06, LORE v3,0/20](https://lore.kernel.org/all/1512563739-25239-1-git-send-email-will.deacon@arm.com)<br>*-*-*-*-*-*-*-* <br>[arm64 meltdown patches](https://lore.kernel.org/all/20180403110923.43575-1-mark.rutland@arm.com) |
|
||||
| 2019/05/13 | Alexandre Chartre <alexandre.chartre@oracle.com> | [KVM Address Space Isolation](https://lore.kernel.org/all/1557758315-12667-1-git-send-email-alexandre.chartre@oracle.com) | [Generalized address-space isolation](https://lwn.net/Articles/886494) | v1 ☐☑✓ | [2019/05/13, LORE v1,0/27](https://lore.kernel.org/all/1557758315-12667-1-git-send-email-alexandre.chartre@oracle.com)<br>*-*-*-*-*-*-*-* <br>[2019/07/11, LORE v2,00/27](https://lore.kernel.org/lkml/1562855138-19507-1-git-send-email-alexandre.chartre@oracle.com)<br>*-*-*-*-*-*-*-* <br>[2020/02/26, LORE v3,0/7](https://lore.kernel.org/lkml/1582734120-26757-1-git-send-email-alexandre.chartre@oracle.com) |
|
||||
| 2022/02/22 | Junaid Shahid <junaids@google.com> | [Address Space Isolation for KVM](https://lore.kernel.org/all/20220223052223.1202152-1-junaids@google.com) | 该补丁系列是 KVM 地址空间隔离端到端实施的概念验证 RFC. 它与 Alexandre Chartre 的高级设计, 但底层实现有所不同. 其中还包括一些内存管理变更, 以帮助区分敏感和非敏感内存, 并将非敏感内存映射到 ASI 受限地址空间. 本 RFC 旨在展示 KVM 的完整 ASI 实现, 而不一定是对最终可能合并的内容的直接建议. 最终合并的直接建议. 尤其是, 这些补丁尚未在 ASI 的基础上实现 KPTI, 尽管该框架的通用性足以支持 KPTI. 同样, 这些补丁也不包括非敏感数据结构注释, 这些数据结构在我们的测试工作负载执行过程中不会被频繁访问. 工作负载, 但该框架的设计可以轻松添加新的非敏感型内存注释. 参见 LWN 报道 [Generalized address-space isolation](https://lwn.net/Articles/886494) 以及 [LWN, 2024/05/21, LSFMMBPF-2024, Another try for address-space isolation](https://lwn.net/Articles/974390). | v1 ☐☑✓ | [LORE v1,0/47](https://lore.kernel.org/all/20220223052223.1202152-1-junaids@google.com) |
|
||||
| 2025/01/10 | Brendan Jackman <jackmanb@google.com> | [Address Space Isolation (ASI)](https://lore.kernel.org/all/20250110-asi-rfc-v2-v2-0-8419288bc805@google.com) | [phoronix, 2025/01/10, Experimental Linux Address Space Isolation "ASI" v2 Patches: I/O Throughput Lower By 70%](https://www.phoronix.com/news/Google-Linux-ASI-v2-RFC-Patches) | v2 ☐☑✓ | [LORE v2,0/29](https://lore.kernel.org/all/20250110-asi-rfc-v2-v2-0-8419288bc805@google.com) |
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -122,6 +122,7 @@
|
||||
|:---:|:-------:|
|
||||
| 2022 | [为了忘却的纪念——2022 Linux 内核十大技术革新功能](https://blog.csdn.net/csdnnews/article/details/128731761) |
|
||||
| 2023 | [熠熠生辉 | 2023 年 Linux 内核十大技术革新功能](https://blog.csdn.net/csdnnews/article/details/135493424) |
|
||||
| 2024 | [2024年Linux内核十大技术革新盘点|年终盘点](https://blog.csdn.net/csdnnews/article/details/145127830)<br>*-*-*-*-*-*-*-* <br>[phoronix, 2025/01/01, The Most Popular Linux & Open-Source News Of 2024](https://www.phoronix.com/news/Linux-Open-Source-News-2024)
|
||||
|
||||
# 6 业界会议
|
||||
-------
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
@@ -631,7 +631,7 @@ cba6167f0adb
|
||||
| 2024/03/25 | Shrikanth Hegde <sshegde@linux.ibm.com> | [sched/fair: Simplify continue_balancing for newidle](https://lore.kernel.org/all/20240325153926.274284-1-sshegde@linux.ibm.com) | TODO | v1 ☐☑✓ | [LORE](https://lore.kernel.org/all/20240325153926.274284-1-sshegde@linux.ibm.com) |
|
||||
| 2021/11/12 | Vincent Guittot <vincent.guittot@linaro.org> | [avoid spurious blocked load update](https://lore.kernel.org/all/20211112095857.7016-1-vincent.guittot@linaro.org) | TODO | v1 ☐☑✓ | [LORE v1,0/2](https://lore.kernel.org/all/20211112095857.7016-1-vincent.guittot@linaro.org) |
|
||||
| 2024/03/27 | Bharata B Rao <bharata@amd.com> | [Hot page promotion optimization for large address space](https://lore.kernel.org/all/20240327160237.2355-1-bharata@amd.com) | TODO | v1 ☐☑✓ | [LORE v1,0/2](https://lore.kernel.org/all/20240327160237.2355-1-bharata@amd.com) |
|
||||
| 2024/05/06 | Qais Yousef <qyousef@layalina.io> | [sched: Consolidate cpufreq updates](https://lore.kernel.org/all/20240505233103.168766-1-qyousef@layalina.io) | TODO | v2 ☐☑✓ | [LORE](https://lore.kernel.org/all/20240505233103.168766-1-qyousef@layalina.io) |
|
||||
| 2024/05/06 | Qais Yousef <qyousef@layalina.io> | [sched: Consolidate cpufreq updates](https://lore.kernel.org/all/20240505233103.168766-1-qyousef@layalina.io) | TODO | v2 ☐☑✓ | [LORE](https://lore.kernel.org/all/20240505233103.168766-1-qyousef@layalina.io)<br>*-*-*-*-*-*-*-* <br>[LORE v8](https://lore.kernel.org/all/20250209235204.110989-1-qyousef@layalina.io) |
|
||||
| 2024/03/28 | mingyang.cui <mingyang.cui@horizon.ai> | [sched/fair: Fix forked task check in vruntime_normalized](https://lore.kernel.org/all/20240328062757.29803-1-mingyang.cui@horizon.ai) | TODO | v1 ☐☑✓ | [LORE](https://lore.kernel.org/all/20240328062757.29803-1-mingyang.cui@horizon.ai) |
|
||||
| 2024/04/02 | Tio Zhang <tiozhang@didiglobal.com> | [sched: make softirq cputime accounting separately in irqtime](https://lore.kernel.org/all/20240402112415.GA17946@didi-ThinkCentre-M930t-N000) | 我们现在在延迟统计中只能获得 IRQ/SOFTIRQ 的总延迟, 但单独获得 SOFTIRQ 延迟和 IRQ 延迟将有助于用户以更方便的方式减少此类延迟. 对于 IRQ 延迟, 我们可以调整 IRQ-CPU 相关性或使用线程 IRQ. 对于 SOFTIRQ 延迟, 我们可以调整 rps/xps 或使用 NAPI 的内核线程. 因此, 这个补丁集试图使 SOFTIRQ 延迟在延迟统计中可观察到, 并在 taskstats 中可用. 补丁集同步更新了 `tools/accounting/getdelays.c` 同样为了向后兼容性, 我们不想改变原始 IRQ/SOFTIRQ 延迟的含义, 相反, 我们可以通过原始 IRQ/OFTIRQ 的延迟减去该补丁添加的 SOFTIREQ 延迟来获得真实的 IRQ(中断) 延迟. | v1 ☐☑✓ | [LORE v1,0/3](https://lore.kernel.org/all/20240402112415.GA17946@didi-ThinkCentre-M930t-N000) |
|
||||
| 2024/03/29 | Chunxin Zang <spring.cxz@gmail.com> | [sched/fair: Reset vlag in dequeue when PLAGE_LAG is disabled](https://lore.kernel.org/all/20240329091933.340739-1-spring.cxz@gmail.com) | TODO | v1 ☐☑✓ | [LORE](https://lore.kernel.org/all/20240329091933.340739-1-spring.cxz@gmail.com) |
|
||||
@@ -809,19 +809,17 @@ https://lore.kernel.org/all/20240830130309.2141697-1-vincent.guittot@linaro.org/
|
||||
| 2024/11/09 | Tejun Heo <tj@kernel.org> | [sched_ext: Rename dispatch and consume kfuncs](https://lore.kernel.org/all/20241109194853.580310-1-tj@kernel.org) | TODO | v1 ☐☑✓ | [LORE](https://lore.kernel.org/all/20241109194853.580310-1-tj@kernel.org) |
|
||||
| 2024/11/19 | K Prateek Nayak <kprateek.nayak@amd.com> | [sched/fair: Idle load balancer fixes for fallouts from IPI optimization to TIF_POLLING CPUs](https://lore.kernel.org/all/20241119054432.6405-1-kprateek.nayak@amd.com) | TODO | v5 ☐☑✓ | [LORE v5,0/4](https://lore.kernel.org/all/20241119054432.6405-1-kprateek.nayak@amd.com) |
|
||||
| 2024/11/29 | Rafael J. Wysocki <rjw@rjwysocki.net> | [cpufreq: intel_pstate: Enable EAS on hybrid platforms without SMT](https://lore.kernel.org/all/5861970.DvuYhMxLoT@rjwysocki.net) | TODO | v21 ☐☑✓ | [LORE v21,0/9](https://lore.kernel.org/all/5861970.DvuYhMxLoT@rjwysocki.net) |
|
||||
| 2024/11/22 | Swapnil Sapkal <swapnil.sapkal@amd.com> | [perf sched: Introduce stats tool](https://lore.kernel.org/all/20241122084452.1064968-1-swapnil.sapkal@amd.com) | TODO | v2 ☐☑✓ | [LORE v2,0/6](https://lore.kernel.org/all/20241122084452.1064968-1-swapnil.sapkal@amd.com) |
|
||||
| 2025/01/09 | Changwoo Min <changwoo@igalia.com> | [sched_ext: Support high-performance monotonically non-decreasing clock](https://lore.kernel.org/all/20250109131456.7055-1-changwoo@igalia.com) | TODO | v8 ☐☑✓ | [LORE v8,0/6](https://lore.kernel.org/all/20250109131456.7055-1-changwoo@igalia.com) |
|
||||
| 2024/12/02 | Vincent Guittot <vincent.guittot@linaro.org> | [sched/fair: Fix statistics with delayed dequeue](https://lore.kernel.org/all/20241202174606.4074512-1-vincent.guittot@linaro.org) | TODO | v3 ☐☑✓ | [LORE v3,0/11](https://lore.kernel.org/all/20241202174606.4074512-1-vincent.guittot@linaro.org) |
|
||||
| 2024/12/23 | K Prateek Nayak <kprateek.nayak@amd.com> | [x86, sched: Dynamic ITMT core ranking support and some yak shaving](https://lore.kernel.org/all/20241223043407.1611-1-kprateek.nayak@amd.com) | TODO | v2 ☐☑✓ | [LORE v2,0/8](https://lore.kernel.org/all/20241223043407.1611-1-kprateek.nayak@amd.com) |
|
||||
| 2024/12/12 | Vineeth Pillai (Google) <vineeth@bitbyteword.org> | [sched/dlserver: flag to represent active status of dlserver](https://lore.kernel.org/all/20241213032244.877029-1-vineeth@bitbyteword.org) | TODO | v1 ☐☑✓ | [LORE v1,0/2](https://lore.kernel.org/all/20241213032244.877029-1-vineeth@bitbyteword.org) |
|
||||
| 2024/12/20 | Swapnil Sapkal <swapnil.sapkal@amd.com> | [Fixes and improvements in /proc/schedstat](https://lore.kernel.org/all/20241220063224.17767-1-swapnil.sapkal@amd.com) | TODO | v2 ☐☑✓ | [LORE v2,0/6](https://lore.kernel.org/all/20241220063224.17767-1-swapnil.sapkal@amd.com) |
|
||||
| 2025/01/13 | Chuyi Zhou <zhouchuyi@bytedance.com> | [Take the scheduling domain into account in numa balancin](https://lore.kernel.org/all/20250113073050.2811925-1-zhouchuyi@bytedance.com) | TODO | v3 ☐☑✓ | [LORE v3,0/3](https://lore.kernel.org/all/20250113073050.2811925-1-zhouchuyi@bytedance.com) |
|
||||
| 2025/01/06 | wujing <realwujing@qq.com> | [sched/fair: Correct CPU selection from isolated domain](https://lore.kernel.org/all/tencent_160A5B6C838FD9A915A67E67914350EB1806@qq.com) | TODO | v1 ☐☑✓ | [LORE](https://lore.kernel.org/all/tencent_160A5B6C838FD9A915A67E67914350EB1806@qq.com)|
|
||||
| 2025/01/04 | Andrea Righi <arighi@nvidia.com> | [sched_ext: idle: small CPU iteration refactoring](https://lore.kernel.org/all/20250104090009.331193-1-arighi@nvidia.com) | TODO | v1 ☐☑✓ | [LORE](https://lore.kernel.org/all/20250104090009.331193-1-arighi@nvidia.com) |
|
||||
| 2025/01/08 | Honglei Wang <jameshongleiwang@126.com> | [sched_ext: switch class when preempted by higher priority scheduler](https://lore.kernel.org/all/20250108023328.37675-1-jameshongleiwang@126.com) | TODO | v2 ☐☑✓ | [LORE](https://lore.kernel.org/all/20250108023328.37675-1-jameshongleiwang@126.com) |
|
||||
| 2024/12/16 | Michal Koutný <mkoutny@suse.com> | [Add kernel cmdline option for rt_group_sched](https://lore.kernel.org/all/20241216201305.19761-1-mkoutny@suse.com) | TODO | v1 ☐☑✓ | [LORE v1,0/9](https://lore.kernel.org/all/20241216201305.19761-1-mkoutny@suse.com) |
|
||||
| 2024/12/16 | Michal Koutný <mkoutny@suse.com> | [Add kernel cmdline option for rt_group_sched](https://lore.kernel.org/all/20241216201305.19761-1-mkoutny@suse.com) | TODO | v1 ☐☑✓ | [LORE v1,0/9](https://lore.kernel.org/all/20241216201305.19761-1-mkoutny@suse.com)<br>*-*-*-*-*-*-*-* <br>[LORE v1,0/9](https://lore.kernel.org/all/20250210151239.50055-1-mkoutny@suse.com)<br>*-*-*-*-*-*-*-* <br>[LORE v2,00/10](https://lore.kernel.org/all/20250310170442.504716-1-mkoutny@suse.com/) |
|
||||
| 2025/01/14 | Florian Schmaus <flo@geekplace.eu> | [sched: provide sched_set_batch()](https://lore.kernel.org/all/20250114130513.498482-3-flo@geekplace.eu) | TODO | v1 ☐☑✓ | [LORE v1,0/2](https://lore.kernel.org/all/20250114130513.498482-3-flo@geekplace.eu) |
|
||||
| 2024/12/04 | Tobias Huschle <huschle@linux.ibm.com> | [sched/fair: introduce new scheduler group type group_parked](https://lore.kernel.org/all/20241204112149.25872-1-huschle@linux.ibm.com) | TODO | v1 ☐☑✓ | [LORE v1,0/2](https://lore.kernel.org/all/20241204112149.25872-1-huschle@linux.ibm.com) |
|
||||
| 2024/12/04 | Tobias Huschle <huschle@linux.ibm.com> | [sched/fair: introduce new scheduler group type group_parked](https://lore.kernel.org/all/20241204112149.25872-1-huschle@linux.ibm.com) | TODO | v1 ☐☑✓ | [LORE v1,0/2](https://lore.kernel.org/all/20241204112149.25872-1-huschle@linux.ibm.com)<br>*-*-*-*-*-*-*-* <br>[LORE v2,0/3](https://lore.kernel.org/all/20250217113252.21796-1-huschle@linux.ibm.com) |
|
||||
| 2025/01/13 | I Hsin Cheng <richard120310@gmail.com> | [sched/fair: Refactor can_migrate_task() to elimate looping](https://lore.kernel.org/all/20250113041249.6847-1-richard120310@gmail.com) | TODO | v2 ☐☑✓ | [LORE](https://lore.kernel.org/all/20250113041249.6847-1-richard120310@gmail.com) |
|
||||
| 2025/01/16 | Phil Auld <pauld@redhat.com> | [sched: Mention autogroup disabled behavior](https://lore.kernel.org/all/20250116124654.2365691-1-pauld@redhat.com) | TODO | v1 ☐☑✓ | [LORE](https://lore.kernel.org/all/20250116124654.2365691-1-pauld@redhat.com) |
|
||||
| 2024/11/13 | Juri Lelli <juri.lelli@redhat.com> | [Fix DEADLINE bandwidth accounting in root domain changes and hotplug](https://lore.kernel.org/all/20241113125724.450249-1-juri.lelli@redhat.com) | TODO | v1 ☐☑✓ | [LORE v1,0/2](https://lore.kernel.org/all/20241113125724.450249-1-juri.lelli@redhat.com) |
|
||||
@@ -829,13 +827,18 @@ https://lore.kernel.org/all/20240830130309.2141697-1-vincent.guittot@linaro.org/
|
||||
| 2025/01/26 | Changwoo Min <changwoo@igalia.com> | [sched_ext: Implement core event counters](https://lore.kernel.org/all/20250126101614.232388-1-changwoo@igalia.com) | TODO | v2 ☐☑✓ | [LORE v2,0/11](https://lore.kernel.org/all/20250126101614.232388-1-changwoo@igalia.com) |
|
||||
| 2025/01/25 | Andrea Righi <arighi@nvidia.com> | [sched_ext: Move built-in idle CPU selection policy to a separate file](https://lore.kernel.org/all/20250125213911.283318-1-arighi@nvidia.com) | TODO | v2 ☐☑✓ | [LORE](https://lore.kernel.org/all/20250125213911.283318-1-arighi@nvidia.com) |
|
||||
| 2024/12/19 | Pierre Gondois <pierre.gondois@arm.com> | [sched/fair: Decrease util_est in presence of idle time](https://lore.kernel.org/all/20241219091207.2001051-1-pierre.gondois@arm.com) | TODO | v1 ☐☑✓ | [LORE](https://lore.kernel.org/all/20241219091207.2001051-1-pierre.gondois@arm.com) |
|
||||
| 2025/01/16 | Phil Auld <pauld@redhat.com> | [sched: Mention autogroup disabled behavior](https://lore.kernel.org/all/20250116124654.2365691-1-pauld@redhat.com) | TODO | v1 ☐☑✓ | [LORE](https://lore.kernel.org/all/20250116124654.2365691-1-pauld@redhat.com) |
|
||||
| 2024/12/23 | Hao Jia <jiahao.kernel@gmail.com> | [sched/core: Prioritize migrating eligible tasks in sched_balance_rq()](https://lore.kernel.org/all/20241223091446.90208-1-jiahao.kernel@gmail.com) | TODO | v2 ☐☑✓ | [LORE](https://lore.kernel.org/all/20241223091446.90208-1-jiahao.kernel@gmail.com) |
|
||||
| 2025/02/04 | Changwoo Min <changwoo@igalia.com> | [sched_ext: Implement core event counters](https://lore.kernel.org/all/20250204052057.67776-1-changwoo@igalia.com) | TODO | v4 ☐☑✓ | [LORE v4,0/7](https://lore.kernel.org/all/20250204052057.67776-1-changwoo@igalia.com) |
|
||||
| 2025/01/29 | Christian Loehle <christian.loehle@arm.com> | [sched/debug: Print slice length for fair tasks](https://lore.kernel.org/all/453349b1-1637-42f5-a7b2-2385392b5956@arm.com) | TODO | v1 ☐☑✓ | [LORE](https://lore.kernel.org/all/453349b1-1637-42f5-a7b2-2385392b5956@arm.com) |
|
||||
| 2025/01/28 | Fernand Sieber <sieberf@amazon.com> | [sched: Add core cookie update tracepoint](https://lore.kernel.org/all/20250128113410.263994-1-sieberf@amazon.com) | TODO | v1 ☐☑✓ | [LORE](https://lore.kernel.org/all/20250128113410.263994-1-sieberf@amazon.com) |
|
||||
| 2025/01/29 | Christian Loehle <christian.loehle@arm.com> | [sched/debug: Print slice length for fair tasks](https://lore.kernel.org/all/453349b1-1637-42f5-a7b2-2385392b5956@arm.com) | TODO | v1 ☐☑✓ | [LORE](https://lore.kernel.org/all/453349b1-1637-42f5-a7b2-2385392b5956@arm.com) |
|
||||
| 2025/02/07 | Changwoo Min <changwoo@igalia.com> | [sched_ext: Add a core event and update scx schedulers](https://lore.kernel.org/all/20250207031338.393045-1-changwoo@igalia.com) | TODO | v1 ☐☑✓ | [LORE v1,0/2](https://lore.kernel.org/all/20250207031338.393045-1-changwoo@igalia.com) |
|
||||
| 2025/01/21 | zihan zhou <15645113830zzh@gmail.com> | [sched: Cancel the slice protection of the idle entity](https://lore.kernel.org/all/20250121030628.113497-1-15645113830zzh@gmail.com) | TODO | v1 ☐☑✓ | [LORE](https://lore.kernel.org/all/20250121030628.113497-1-15645113830zzh@gmail.com) |
|
||||
| 2025/02/21 | Abel Wu <wuyun.abel@bytedance.com> | [Fix SCHED_IDLE behavior on wakeup preemption](https://lore.kernel.org/all/20250221111226.64455-1-wuyun.abel@bytedance.com) | TODO | v1 ☐☑✓ | [LORE v1,0/2](https://lore.kernel.org/all/20250221111226.64455-1-wuyun.abel@bytedance.com) |
|
||||
| 2025/02/07 | Tejun Heo <tj@kernel.org> | [sched_ext: Event counter updates](https://lore.kernel.org/all/20250208084229.1274399-1-tj@kernel.org) | TODO | v1 ☐☑✓ | [LORE](https://lore.kernel.org/all/20250208084229.1274399-1-tj@kernel.org) |
|
||||
| 2025/02/20 | Jemmy Wong <jemmywong512@gmail.com> | [sched: Refine scheduler naming for clarity and specificity](https://lore.kernel.org/all/20250219182020.393006-1-jemmywong512@gmail.com) | TODO | v1 ☐☑✓ | [LORE v1,0/2](https://lore.kernel.org/all/20250219182020.393006-1-jemmywong512@gmail.com) |
|
||||
|
||||
|
||||
Event counter updates
|
||||
|
||||
|
||||
[成大资工 - WIKI](https://wiki.csie.ncku.edu.tw/User/OscarShiang)
|
||||
@@ -854,6 +857,30 @@ https://www.phoronix.com/news/Schedutil-30p-Speedometer-Boost
|
||||
[Linux 6.14 Resource Control To Allow Total Memory Bandwidth Monitoring](https://www.phoronix.com/news/Linux-6.14-resctrl-Total-RAM-BW)
|
||||
|
||||
|
||||
[phoronix, 2025/03/20, Google Developing "Live Update Orchestrator" As New Means Of Live Linux Kernel Updates](https://www.phoronix.com/news/Google-Live-Update-Orchestrator)
|
||||
|
||||
|
||||
|
||||
成坚 410881199005133515
|
||||
王盼盼 410881199101013601
|
||||
范小香 410827195708153524
|
||||
成梽 33010820200707137X
|
||||
|
||||
https://www.phoronix.com/news/cpufreq_ext-RFC#google_vignette
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
用例范围
|
||||
https://xarjbochz9n.feishu.cn/wiki/I03BwQQMDi5fMSkLRc0cW5iJnAf?open_in_browser=true
|
||||
|
||||
|
||||
整理好的所有164条测试样例。
|
||||
https://xarjbochz9n.feishu.cn/wiki/WBX8wziSMiVBxFkKNVXcGjEsnqb?from=from_copylink
|
||||
|
||||
|
||||
|
||||
|
||||
在 OSPM'25 上, 不少开发者建议使用推送任务机制来进行 idle balance 和 newidle balance. 借鉴了 [sched/fair: Rework EAS to handle more cases](https://lore.kernel.org/all/20240830130309.2141697-1-vincent.guittot@linaro.org) 的思路, 实现了一套统一的 CFS 任务推送框架, 并已针对 !EAS 场景进行了实现.<br>1. 该系列实现了 [Valentin 的想法](https://lore.kernel.org/lkml/xhsmh1putoxbz.mognet@vschneid-thinkpadt14sgen2i.remote.csb), 即在存在可推送任务的情况下, CPU 会将自身设置为每个 LLC 的"过载掩码(overloaded mask)".<br>2. NUMA 间的新空闲平衡机制对此做了优化, 会先遍历本地 LLC 上 overloaded mask 中的 CPU 集合, 然后遍历同一 NUMA 节点中其他 LLC 上 overloaded mask 中的 CPU 集合, 目的是将单个任务拉向自身, 而非执行全面的负载均衡.<br>3. 这实现了 [David Vernet 的 SAHRED_RUNQ 原型](https://lore.kernel.org/lkml/20231212003141.216236-1-void@manifault.com/) 中的一些想法, 不过, 与每个 LLC/每个分片使用一个单独的 SHARED_RUNQ 不同, 这里过载掩码用作指示符, 表明每个 CPU 的 rq 中包含可迁移到即将空闲的 CPU 的可推送任务. 这样做的代价是维护过载的 cpumask, 但避免了为每个 SHARED_RUNQ 设置锁.<br>4. 推送回调函数本身已进行了修改, 会尝试将可推送任务列表中的任务推送到"nohz.idle_cpus_mask"掩码中的某个 CPU 上, 从而减轻空闲平衡的负载.
|
||||
@@ -112,6 +112,10 @@ Intel 发布的 ControlFlag 用机器学习来发现代码中的错误, 支持 C
|
||||
[phoronix, 2024/10/23, Gentoo Linux Touts DTrace 2.0 Support](https://www.phoronix.com/news/Gentoo-Linux-DTrace-2.0), [DTrace 2.0 for Gentoo](https://www.gentoo.org/news/2024/10/23/DTrace-for-Gentoo.html), [DTrace-WIKI](https://wiki.gentoo.org/wiki/DTrace)
|
||||
|
||||
|
||||
* kLLDB
|
||||
|
||||
[djolertrk/kLLDB](https://github.com/djolertrk/kLLDB)
|
||||
|
||||
## 2.2 call kernel func from userspace
|
||||
-------
|
||||
|
||||
|
||||
Reference in new issue
Block a user