description/open_source: update phoronix vs LWN to date 20251230

This commit is contained in:
Cheng Jian
2025-03-16 17:36:17 +08:00
parent dc0d720060
commit 4f5ccb75ba
7 changed files with 211 additions and 36 deletions
+24 -3
View File
@@ -628,6 +628,8 @@ TLB entry shootdown 常常或多或少的带来一些性能问题.
2. IPI 的方式, 需要先由软件 (内核) 识别到哪些 CPU 中包含了这些需要 flush 的 TLB entry, 然后由本地 CPU 通过 IPI 请求的方式, 通知对应的 CPU 进行 shootdown 操作. 这种方式由硬件软件交互完成, 在 CPU 核数比较多, 且 shootdown 请求比较多的时候, 可能造成 TLB entry shootdown 广播风暴, 硬件 (NM) 处理不过来, 造成性能下降. 此时对于单个 task 的 TLB entry 来说, 残留的 CPU 往往是明确且有限的, 通过 IPI 的方式, 给硬件压力反而会小很多, 这时采用 IPI 的方式性能反而会好.
#### 2.2.3.1 TLB Shootdown 于 TLB IPIs Invalid
-------
| 时间 | 作者 | 特性 | 描述 | 是否合入主线 | 链接 |
@@ -642,9 +644,6 @@ TLB entry shootdown 常常或多或少的带来一些性能问题.
| 2023/03/12 | Yair Podemsky <ypodemsk@redhat.com> | [send tlb_remove_table_smp_sync IPI only to necessary CPUs](https://lore.kernel.org/all/20230312080945.14171-1-ypodemsk@redhat.com) | 目前, tlb_remove_table_smp_sync() 将 IPI 被不分青红皂白地发送到所有 CPU, 这会导致不必要的工作和延迟, 在实时用例和隔离的 CPU 中尤为值得注意, 此补丁将限制此 IPI 仅发送到引用受影响 mm 的 cpu, 并且当前在内核空间中. | v1 ☐☑✓ | [LORE](https://lore.kernel.org/all/20230312080945.14171-1-ypodemsk@redhat.com)<br>*-*-*-*-*-*-*-* <br>[LORE v1,0/3](https://lore.kernel.org/r/20230404134224.137038-1-ypodemsk@redhat.com)<br>*-*-*-*-*-*-*-* <br>[LORE v2,0/2](https://lore.kernel.org/r/20230620144618.125703-1-ypodemsk@redhat.com) |
| 2024/05/31 | Byungchul Park <byungchul@sk.com> | [LUF(Lazy Unmap Flush) reducing tlb numbers over 90%](https://lore.kernel.org/all/20240531092001.30428-1-byungchul@sk.com) | 这组补丁的主要目的是实现一种名为 LUF(Lazy Unmap Flush)的机制, 以大幅减少 TLB(Translation Lookaside Buffer)刷新的数量, 特别是在处理内存迁移时. 实现 LUF 机制, 延迟 TLB 刷新直到实际需要, 从而减少 TLB 射杀的次数; 优化内存迁移过程中的性能, 特别是在处理大量内存页时; 为 x86、ARM64 和 RISC-V 架构提供支持; 添加自测试用例, 确保 LUF 机制的正确性和有效性; 通过这些改动, 内存管理和性能得到了显著提升, 特别是在处理内存迁移和 TLB shootdown 时. | v11 ☐☑✓ | [LORE v11,0/12](https://lore.kernel.org/all/20240531092001.30428-1-byungchul@sk.com) |
> 注: x86 由于没有 tlb IS 方案, 因此只能采用 IPI 的方式来完成 TLB shootdown.
目前 ARM64 中 TLUSH TLB 的接口:
| 接口 | 描述 |
@@ -655,6 +654,21 @@ TLB entry shootdown 常常或多或少的带来一些性能问题.
| flush_tlb_kernel_range | 无效掉内核态 start ~ end 区间内的所有 TLB entry |
| local_flush_tlb_all | 无效掉本 CPU 上所有的 TLB entry. 无需使用 TLB.IS |
#### 2.2.3.2 TLB broadcast invalidation
-------
> ~~注: x86 由于没有 tlb IS 方案, 因此只能采用 IPI 的方式来完成 TLB shootdown.~~
> 自 AMD Zen 3 起, AMD 开始支持 INVLPGBS 指令进行 TLLB 失效的广播工作.
| 时间 | 作者 | 特性 | 描述 | 是否合入主线 | 链接 |
|:----:|:----:|:---:|:----:|:---------:|:----:|
| 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 报道 [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) . | 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
-------
@@ -952,6 +966,8 @@ SLS 被认为是 Spectre 漏洞的变体, 但二者的攻击范围略有不同,
| 时间 | 作者 | 特性 | 描述 | 是否合入主线 | 链接 |
|:---:|:----:|:---:|:----:|:---------:|:----:|
| 2023/11/21 | Breno Leitao <leitao@debian.org> | [x86/bugs: Add a separate config for each mitigation](https://lore.kernel.org/all/20231121160740.1249350-1-leitao@debian.org) | CONFIG_SPECULATION_MITIGATIONS 相关的 MITIGATION 特性进行了细粒度控制. <br>1. 用户可以只选择对其工作负载很重要的缓解措施. <br>2. 用户和开发人员可以选择禁用破坏程序集代码生成、使其难以读取的缓解措施.<br>3. 可读性更强, 所有特性都整改为带明显的 MITIGATION 前缀. 参见 [Linux 6.9 Making It Easier Managing Security Mitigation Options](https://www.phoronix.com/news/Linux-6.9-CONFIG-MITIGATIONS). | v6 ☐☑✓ | [LORE v6,0/13](https://lore.kernel.org/all/20231121160740.1249350-1-leitao@debian.org) |
| 2025/02/24 | Luis Gerhorst <luis.gerhorst@fau.de> | [bpf: Mitigate Spectre v1 using speculation barriers](https://lore.kernel.org/all/20250224203619.594724-1-luis.gerhorst@fau.de) | [phoronix, 2025/02/26, Spectre Mitigations Being Worked On For BPF Programs](https://www.phoronix.com/news/Speculation-Barriers-BPF) | v1 ☐☑✓ | [LORE v1,0/9](https://lore.kernel.org/all/20250224203619.594724-1-luis.gerhorst@fau.de)|
# 5 benchmark
-------
@@ -1201,6 +1217,7 @@ Rosetta 是一个转译过程, 允许用户在 Apple Silicon 上运行包含 x86
Fedora 42 通过 FEX 支持了 64 位 ARM64 的机器上的直接无缝运行 x86/x86_64 程序, 参见 [phoronix, 2024/09/12, Fedora 42 On 64-bit ARM Might Make It Seamless To Run x86/x86_64 Programs](https://www.phoronix.com/news/Fedora-42-FEX-AArch64-Proposal).
FEX 2503 还引入了 Tracy 后端, 以帮助跟踪和分析性能问题. 参见 [phoronix, 2025/03/06, FEX 2503 Brings Fixes & Multi-Block By Default For x86_64 Linux Binaries On ARM64](https://www.phoronix.com/NEWS/FEX-Emu-2503-released).
### 6.7.3 Box64
-------
@@ -1391,6 +1408,7 @@ AMD-pstate 驱动程序利用 ITMT 体系结构提供的功能和数据结构,
| 2023/12/07 | Tony Luck <tony.luck@intel.com> | [x86/resctrl: mba_MBps enhancements](https://lore.kernel.org/all/20231207195613.153980-1-tony.luck@intel.com) | TODO | v6 ☐☑✓ | [LORE v6,0/3](https://lore.kernel.org/all/20231207195613.153980-1-tony.luck@intel.com) |
| 2024/02/13 | James Morse <james.morse@arm.com> | [x86/resctrl: monitored closid+rmid together, separate arch/fs locking](https://git.kernel.org/pub/scm/linux/kernel/git/history/history.git/log/?id=fb700810d30b9eb333a7bf447012e1158e35c62f) | [Improved Memory Bandwidth Throttling Behavior For Linux 6.9](https://www.phoronix.com/news/Linux-69-RAM-Bandwidth-Throttle) | v9 ☐☑✓ 6.9-rc1 | [LORE v9,0/24](https://lore.kernel.org/all/20240213184438.16675-1-james.morse@arm.com) |
| 2024/03/21 | James Morse <james.morse@arm.com> | [x86/resctrl: Move the resctrl filesystem code to /fs/resctrl](https://lore.kernel.org/all/20240321165106.31602-1-james.morse@arm.com) | TODO | v1 ☐☑✓ | [LORE v1,0/31](https://lore.kernel.org/all/20240321165106.31602-1-james.morse@arm.com) |
| 2024/12/06 | Tony Luck <tony.luck@intel.com> | [x86/resctrl: mba_MBps enhancement](https://lore.kernel.org/all/20241206163148.83828-1-tony.luck@intel.com) | [phoronix, 2025/01/21, Linux 6.14 Resource Control To Allow Total Memory Bandwidth Monitoring](https://www.phoronix.com/news/Linux-6.14-resctrl-Total-RAM-BW) | v11 ☐☑✓ | [LORE v11,0/8](https://lore.kernel.org/all/20241206163148.83828-1-tony.luck@intel.com) |
### 6.14.2 ARM MPAM
@@ -1408,6 +1426,9 @@ 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) |
| 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) |
+3
View File
@@ -501,6 +501,8 @@ raw_tracepoint 相比 tracepoint
# 5 网络场景
-------
[phoronix, 2025/03/06, Meta's eBPF-Powered Strobelight Software Reduced CPU Cycles By 20%](https://www.phoronix.com/news/Meta-eBPF-Strobelight-20p).
# 6 安全场景
-------
@@ -629,6 +631,7 @@ Wasmtime 完全开源, 使用 Rust 编程语言, 是的, 并且符合 WASI 标
[Wasmer 4.3 Released: WebAssembly Runtime 25% Faster On Cold Startups](https://www.phoronix.com/news/Wasmer-4.3-Released)
[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)
# 10 云原生
File diff suppressed because one or more lines are too long
+35 -12
View File
@@ -25,6 +25,9 @@ https://www.infoworld.com/article/2851028/four-ways-linux-is-headed-for-no-downt
第 1 节内容参照 [History of Linux Kernel Live Patching](https://www.howtoforge.com/history-of-linux-kernel-live-patching)
## 1.1 LLpatch @Google
-------
Google 设计了一套新的用户空间实时补丁创建工具, [LLpatch](https://github.com/google/LLpatch), 基于 llvm-diff 生成 LLVM-IR 完成 ELF 分析和操作, 因此不需要感知特性架构的二进制差异行为. 参见 [announcing LLpatch: arch-independent live-patch creation](https://lore.kernel.org/live-patching/CABFpvm2o+d0e-dfmCx7H6=8i3QQS_xyGFt4i3zn8G=Myr_miag@mail.gmail.com).
@@ -36,8 +39,7 @@ Google 设计了一套新的用户空间实时补丁创建工具, [LLpatch](http
| 2014/12/16 | Seth Jennings <sjenning@redhat.com> | [Kernel Live Patching](https://lore.kernel.org/patchwork/cover/527257) | 内核热补丁的基础框架 | v7 ☑ 4.0-rc1 | [PatchWork v7](https://lore.kernel.org/patchwork/cover/527257), [LKML](https://www.lkml.org/lkml/2017/2/13/831)<br>*-*-*-*-*-*-*-* <br>[PatchWork v6](https://lore.kernel.org/patchwork/cover/525706/) |
## 1.1 20012010: The Patent Trail(专利追溯)
## 1.2 20012010: The Patent Trail(专利追溯)
-------
如果您使用热修补或实时系统更新等关键字浏览专利档案, 您将挖掘许多应用程序和拒绝, 表明更新计算机系统而不停止它的想法并不是什么新鲜事. 追踪从一般到具体的重要日期如下 :
@@ -48,21 +50,22 @@ Google 设计了一套新的用户空间实时补丁创建工具, [LLpatch](http
2010年 : 微软的专利最终获准上诉.
关于这些的有趣之处在于, 他们共同希望通过软件更新来纠正系统核心软件或硬件中的故障, 而不会影响系统的持续运行并且不会改变硬件. 听起来很熟悉?(线索 : 熔化, 幽灵. )
## 1.2 2009年 : KSplice 的诞生
## 1.3 KSplice @ Oracle
-------
### 1.3.1 2009年 : Oracle KSplice 的诞生
Jeff Arnold 是一名麻省理工学院的学生, 正在照看他们的一台[服务器](http://news.mit.edu/2014/bringing-the-world-reboot-less-updates-0124). 它需要一个安全补丁, 但他推迟了它, 因为重新启动会给他的用户带来不便. 在系统更新之前, 它被黑了. 耻辱和(具有讽刺意味的)不便使杰夫在没有延迟而不重新启动系统更新的问题上找到了他的硕士论文的主题.
这个故事可能是杜撰的, 但它提醒我们, 现场补丁技术的出现不仅仅是为了方便而是为了安全, 它应该受到赞赏.
Jeff Arnold 与其他三名学生同事一起研究了如何更新 Linux 服务器内核的问题, 没有延迟, 也没有中断系统的进程. 该解决方案采用名为 Ksplice 的软件形式, 其技术基础在2009年的学术论文中提出. 该文章的标题包括"重新启动"这个词, 现在熟悉的"不间断更新"的Linux简写, 但是 2005 年首次由微软创造, 用于 Windows 驱动程序更新.
image.png
补丁和不打补丁进行了二进制的比较, 找出不同的函数, 源代码patch守护程序提取出不同的函数. 内核源码优化这些不同的单元)
毕业后, 杰夫和他的麻省理工学院同事创办了 Ksplice Inc., 并于 2009 年 5 月获得麻省理工学院 10 万美元创业大赛奖. 该公司于 2010 年推出了商业服务; 事情进展顺利.
毕业后, 杰夫和他的麻省理工学院同事创办了 Ksplice Inc., 并于 2009 年 5 月获得麻省理工学院 10 万美元创业大赛奖. 该公司于 2010 年推出了商业服务; 事情进展顺利.
Ksplice 在替换新内核时, 不需要预先修改;只需要一个diff文件, 列出内核即将接受的修改即可. Ksplice公司免费提供软件, 但技术支持是需要收费的, 这个特性是如此的优秀, 以至于这家新创的公司短时间内就积累了大量的用户.
Ksplice 在替换新内核时, 不需要预先修改;只需要一个diff文件, 列出内核即将接受的修改即可. Ksplice公司免费提供软件, 但技术支持是需要收费的, 这个特性是如此的优秀, 以至于这家新创的公司短时间内就积累了大量的用户.
参见:
@@ -72,9 +75,7 @@ Ksplice 在替换新内核时, 不需要预先修改;只需要一个diff文件,
[Jeff Arnold 的 Ksplice 的补丁提交历史](https://lore.kernel.org/patchwork/project/lkml/list/?series=&submitter=9109&state=*&q=&archive=both&delegate=)
## 1.3 2011-2016 Oracle
### 1.3.2 2011-2016 Oracle
-------
@@ -91,11 +92,12 @@ Ksplice Inc. 在收购前后拥有着大量热补丁技术方面的专利, 而
[Ksplice](http://ksplice.oracle.com/legacy)
在 2011 年和 2014 年之间, SUSE 和 Red Hat 分开工作(并且不了解彼此的目标)来发布他们自己的实时内核更新解决方案, 他们分别在 Kgraft 和 Kpatch 中进行了这些解决方案.
## 1.4 百家争鸣
-------
在 2011 年和 2014 年之间, SUSE 和 Red Hat 分开工作(并且不了解彼此的目标)来发布他们自己的实时内核更新解决方案, 他们分别在 Kgraft 和 Kpatch 中进行了这些解决方案.
### 1.4.1 Kpatch @ Redhat
@@ -104,7 +106,7 @@ Ksplice Inc. 在收购前后拥有着大量热补丁技术方面的专利, 而
2014 年 Red Hat 分享了他们的 Kpatch 代码, 并将其集成为 Red Hat Enterprise Linux 的支持功能.
### 1.4.1 Kgraft @ Suse
### 1.4.2 Kgraft @ Suse
-------
[kGraft — live kernel patching from SUSE](https://lwn.net/Articles/584016)
@@ -122,7 +124,7 @@ https://git.kernel.org/pub/scm/linux/kernel/git/jirislaby/kgraft.git/
| 2015/05/04 | Jiri Slaby <jslaby@suse.cz> | [kGraft on the top of KLP](https://lore.kernel.org/all/1430742009-5895-1-git-send-email-jslaby@suse.cz) | TODO | v1 ☐☑✓ | [LORE v1,0/9](https://lore.kernel.org/all/1430742009-5895-1-git-send-email-jslaby@suse.cz) |
### 1.4.2 KernelCare @ CloudLinux
### 1.4.3 KernelCare @ CloudLinux
-------
由于主要供应商争相成为第一个推出可行的实时补丁解决方案, CloudLinux 是基于 Linux 的网络托管操作系统的主要参与者, 在 3 月成功测试后, 于 2014年5 月推出了KernelCare.
@@ -130,6 +132,27 @@ https://git.kernel.org/pub/scm/linux/kernel/git/jirislaby/kgraft.git/
他们通过在大多数Linux平台上提供最广泛的功能集来为市场感到惊讶, 并在 Linux 内核开发和客户支持方面享有盛誉. 另一个令人震惊的是负担能力, 吸引了网站托管商, 他们发现 KernelCare 的每服务器成本比主要竞争对手的每站点成本更易于管理和扩展.
### 1.4.4 livepatchs 的工具链
-------
#### 1.4.4.1 Elivepatch @ Gentoo
-------
[phoronix, 2018/11/22, Elivepatch Progressing For Live Kernel Patching On Gentoo, Rolling To Other Distros](https://www.phoronix.com/news/Elivepatch-2018-Progress).
[github/elivepatch](https://github.com/elivepatch).
#### 1.4.4.2 linux-livepatching @ Debian
-------
#### 1.4.4.3 TuxTape @ GEICO
-------
TuxTape 是一个用于创建、构建和部署 Linux 内核 livepatchs 的工具链. 该工具包还包含 CVE 安全扫描程序和 CVE 优先级排序程序等组件. TuxTape 是用 Rust 编写的.
GEICO 的 Grayson Guarino 和 Chris Townsend 在 2025/02/02 布鲁塞尔举行的 FOSDEM 2025 上的介绍了 TuxTape. 参加 [TuxTape: A Kernel Livepatching Solution](https://fosdem.org/2025/schedule/event/fosdem-2025-5689-tuxtape-a-kernel-livepatching-solution). 随后进行了 phoronix 报道 [phoronix, 2025/02/03, GEICO Insurance Company Developing TuxTape - A New Linux Kernel Livepatching Solution](https://www.phoronix.com/news/GEICO-TuxTape-Linux-Livepatch).
## 1.5 Kgraft + Kpatch 的混合体 Livepatch
-------
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+57 -3
View File
@@ -795,6 +795,60 @@ https://lore.kernel.org/all/20240830130309.2141697-1-vincent.guittot@linaro.org/
| 3 |
即使系统 overutilized, 也要继续通过 feec() 寻找能效最优的 CPU. 否则, 回退到调度器的默认性能和传播模式(performance and spread mode).
当工作队列的工作人员醒来进行短暂的后台工作(如vmstat更新)时,系统可能会在短时间内过度使用。
继续寻找节能的CPU将防止破坏任务的电源包装。
| 2024/05/08 | Josh Don <joshdon@google.com> | [sched/fair: prevent unbounded task iteration in load balance](https://lore.kernel.org/all/20240508223456.4189689-1-joshdon@google.com) | TODO | v1 ☐☑✓ | [LORE](https://lore.kernel.org/all/20240508223456.4189689-1-joshdon@google.com) |
| 2024/06/18 | Fernand Sieber <sieberf@amazon.com> | [perf: Timehist account sch delay for scheduled out running](https://lore.kernel.org/all/20240618090339.87482-1-sieberf@amazon.com) | TODO | v2 ☐☑✓ | [LORE v1](https://lore.kernel.org/all/20240613185906.31082-1-sieberf@amazon.com)<br>*-*-*-*-*-*-*-* <br>[LORE v2](https://lore.kernel.org/all/20240618090339.87482-1-sieberf@amazon.com) |
| 2024/03/22 | Raghavendra K T <raghavendra.kt@amd.com> | [A Summary of VMA scanning improvements explored](https://lore.kernel.org/all/cover.1710829750.git.raghavendra.kt@amd.com) | TODO | v1 ☐☑✓ | [LORE](https://lore.kernel.org/all/cover.1710829750.git.raghavendra.kt@amd.com) |
| 2024/07/17 | Xavier <xavier_qy@163.com> | [Optimize the RT group scheduling](https://lore.kernel.org/all/20240717030033.309205-1-xavier_qy@163.com) | TODO | v4 ☐☑✓ | [LORE v4,0/2](https://lore.kernel.org/all/20240717030033.309205-1-xavier_qy@163.com) |
| 2024/06/25 | Chen Yu <yu.c.chen@intel.com> | [sched/fair: Enhance sync wakeup for short duration tasks](https://lore.kernel.org/all/cover.1719295669.git.yu.c.chen@intel.com) | TODO | v1 ☐☑✓ | [LORE v1,0/2](https://lore.kernel.org/all/cover.1719295669.git.yu.c.chen@intel.com) |
| 2024/05/16 | Costa Shulyupin <costa.shul@redhat.com> | [sched: Adjust affinity according to change of housekeeping cpumask](https://lore.kernel.org/all/20240516190437.3545310-1-costa.shul@redhat.com) | TODO | v1 ☐☑✓ | [LORE v1,0/7](https://lore.kernel.org/all/20240516190437.3545310-1-costa.shul@redhat.com) |
| 2024/08/09 | K Prateek Nayak <kprateek.nayak@amd.com> | [sched/core: Introduce SM_IDLE and an idle re-entry fast-path in __schedule()](https://lore.kernel.org/all/20240809092240.6921-1-kprateek.nayak@amd.com) | TODO | v2 ☐☑✓ | [LORE](https://lore.kernel.org/all/20240809092240.6921-1-kprateek.nayak@amd.com) |
| 2024/09/04 | K Prateek Nayak <kprateek.nayak@amd.com> | [Idle Load Balance fixes and softirq enhancements](https://lore.kernel.org/all/20240904111223.1035-1-kprateek.nayak@amd.com) | TODO | v2 ☐☑✓ | [LORE v2,0/5](https://lore.kernel.org/all/20240904111223.1035-1-kprateek.nayak@amd.com) |
| 2024/09/25 | NeilBrown <neilb@suse.de> | [`sched: change wake_up_bit() and related function to expect unsigned long *`](https://lore.kernel.org/all/20240925053405.3960701-2-neilb@suse.de) | TODO | v1 ☐☑✓ | [LORE v1,0/7](https://lore.kernel.org/all/20240925053405.3960701-2-neilb@suse.de)|
| 2024/10/10 | Steve Wahl <steve.wahl@hpe.com> | [sched/topology: improve topology_span_sane speed](https://lore.kernel.org/all/20241010155111.230674-1-steve.wahl@hpe.com) | TODO | v1 ☐☑✓ | [LORE](https://lore.kernel.org/all/20241010155111.230674-1-steve.wahl@hpe.com) |
| 2024/11/09 | Changwoo Min <multics69@gmail.com> | [sched_ext: Clarify sched_ext_ops table for userland scheduler](https://lore.kernel.org/all/20241109022514.173631-1-changwoo@igalia.com) | TODO | v1 ☐☑✓ | [LORE](https://lore.kernel.org/all/20241109022514.173631-1-changwoo@igalia.com) |
| 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) |
| 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) |
| 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) |
| 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/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) |
[成大资工 - WIKI](https://wiki.csie.ncku.edu.tw/User/OscarShiang)
[Empower Embedded Computing with VexRiscv and FreeRTOS](https://eventyay.com/e/6b901f56/session/7569)
[Towards PREEMPT_RT for the Full Task Isolation](https://ossna2022.sched.com/event/11NtQ)
[sched: Clarify PREEMPT is full preemption model](https://lore.kernel.org/lkml/cb013939c11991f429773b83a6ff1513221dd678.a11e9ded.5679.4468.8cc8.fe30e9b90f3f@feishu.cn/)
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)