schedule/SMT_EXPELLER: openanolis SMT_EXPELLER mermaid

This commit is contained in:
Cheng Jian
2023-01-01 13:01:27 +08:00
parent 35c0170837
commit 4b531dd9de
10 changed files with 142 additions and 46 deletions
+2 -2
View File
@@ -128,11 +128,11 @@ v5.7 引入了拆分锁检测的支持, 这依赖于 x86_64 intel CPU 遇到拆
### 1.2.2 Flexible Return and Event Delivery (FRED)
-------
[Intel Preps The Linux Kernel For LKGS - Part Of FRED](https://www.phoronix.com/news/Intel-LKGS-Linux-Patches)
| 时间 | 作者 | 特性 | 描述 | 是否合入主线 | 链接 |
|:---:|:----:|:---:|:----:|:---------:|:----:|
| 2022/10/06 | Xin Li <xin3.li@intel.com> | [Enable LKGS instruction](https://lore.kernel.org/all/20221006154041.13001-1-xin3.li@intel.com) | TODO | v1 ☐☑✓ | [LORE v1,0/6](https://lore.kernel.org/all/20221006154041.13001-1-xin3.li@intel.com) |
| 2022/10/06 | Xin Li <xin3.li@intel.com> | [Enable LKGS instruction](https://lore.kernel.org/all/20221006154041.13001-1-xin3.li@intel.com) | [Intel Preps The Linux Kernel For LKGS - Part Of FRED](https://www.phoronix.com/news/Intel-LKGS-Linux-Patches) | v1 ☐☑✓ | [LORE v1,0/6](https://lore.kernel.org/all/20221006154041.13001-1-xin3.li@intel.com) |
| 2022/12/19 | Xin Li <xin3.li@intel.com> | [x86: enable FRED for x86-64](https://lore.kernel.org/all/20221220063658.19271-1-xin3.li@intel.com) | [Intel Sends Out Initial Linux Kernel Patches For FRED](https://www.phoronix.com/news/Intel-FRED-Linux-Patches) | v1 ☐☑✓ | [LORE v1,0/32](https://lore.kernel.org/all/20221220063658.19271-1-xin3.li@intel.com) |
+3
View File
@@ -381,6 +381,7 @@ $reclaim = current\_mem \times reclaim\_ratio \times max(0,1 \frac{psi_some}
| 2022/05/28 | zhengjun <zhengjun.xing@linux.intel.com> | [perf vendor events intel: Add metrics for Sapphirerapids](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/log/?id=1bcca2b1bd67f3c0e5c3a88ed16c6389f01a5b31) | TODO | v2 ☑✓ 5.19-rc1 | [LORE v2,0/2](https://lore.kernel.org/all/20220528095933.1784141-1-zhengjun.xing@linux.intel.com) |
| 2022/08/25 | zhengjun.xing@linux.intel.com <zhengjun.xing@linux.intel.com> | [perf stat: Capitalize topdown metricsnel.org/all/20220825015458.3252239-1-zhengjun.xing@linux.intel.com) | TODO | v1 ☐☑✓ | [LORE](https://lore.kernel.org/9-1-zhengjun.xing@linux.intel.com) |
| 2022/10/21 | Shang XiaoJing <shangxiaojing@huawei.com> | [perf vendor events arm64: Fix incorrect Hisi hip08 L3 metrics](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/log/?id=e9229d5b6254a75291536f582652c599957344d2) | TODO | v2 ☑✓ 6.1-rc3 | [LORE v2,0/3](https://lore.kernel.org/all/20221021105035.10000-1-shangxiaojing@huawei.com) |
| 2022/12/14 | Sandipan Das <sandipan.das@amd.com> | [perf vendor events amd: Add Zen 4 events and metrics](https://lore.kernel.org/all/20221214082652.419965-1-sandipan.das@amd.com) | [Linux 6.2 Adds AMD Zen 4 Pipeline Utilization Data To Help Find Performance Bottlenecks](https://www.phoronix.com/news/LInux-6.2-AMD-Zen-4-Events) | v2 ☐☑✓ 6.2-rc1 | [LORE v2,0/4](https://lore.kernel.org/all/20221214082652.419965-1-sandipan.das@amd.com) |
## 11.3 Userspace counter access
@@ -847,6 +848,8 @@ LWN 上也对此进行了[汇总报道](https://lwn.net/Kernel/Index/#Android-Ge
| 2021/11/21 | David Woodhouse <dwmw2@infradead.org> | [Parallel CPU bringup for x86_64](https://lkml.org/lkml/2021/12/9/664) | 随着核数的增多, 内核的启动速度越来越慢. 这组补丁能够并行启动辅助 (x86_64) CPU 内核. | v1 ☐ | [LWN ](https://lwn.net/Articles/878161), [LKML](https://lkml.org/lkml/2021/12/9/664), [LORE 00/11](https://lkml.kernel.org/lkml/20211209150938.3518-1-dwmw2@infradead.org), [Phoronix 报道 v1](https://www.phoronix.com/scan.php?page=news_item&px=Linux-x86_64-Parallel-CPU-Boot)<br>*-*-*-*-*-*-*-* <br>[LORE v3,0/9](https://lore.kernel.org/lkml/20211215145633.5238-1-dwmw2@infradead.org), [Phoronix 报道 v3](https://www.phoronix.com/scan.php?page=news_item&px=Parallel-CPU-Bringup-AMD-Snag) |
| 2022/11/02 | Stuart Hayes <stuart.w.hayes@gmail.com> | [cpufreq: acpi: Defer setting boost MSRs](https://lore.kernel.org/all/20221102195957.82871-1-stuart.w.hayes@gmail.com) | [Deferred Enabling Of ACPI CPUFreq Boost Support Can Help Boot Times For Large Servers](https://www.phoronix.com/news/CPUFreq-Defer-Boost-MSRs) | v1 ☐☑✓ | [LORE](https://lore.kernel.org/all/20221102195957.82871-1-stuart.w.hayes@gmail.com) |
Fedora 尝试优化 systemd 开机以及重启的时间, 参见 phoronix 报道 [Fedora 38 Wants To Make Sure Shutdowns & Reboots Are Faster](https://www.phoronix.com/news/Fedora-38-Faster-Reboots) 以及 [Fedora wiki--Changes/Shorter Shutdown Timer](https://fedoraproject.org/wiki/Changes/Shorter_Shutdown_Timer).
# 18 LIB
-------
+1 -1
View File
@@ -153,7 +153,7 @@ spinlock 的值出现变化时, 所有试图获取这个 spinlock 的 CPU 都需
| 时间 | 作者 | 特性 | 描述 | 是否合入主线 | 链接 |
|:----:|:----:|:---:|:----:|:---------:|:----:|
| 2022/11/26 | Nicholas Piggin <npiggin@gmail.com> | [powerpc: alternate queued spinlock implementation](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/log/?id=0b2199841a7952d01a717b465df028b40b2cf3e9) | TODO | v3 ☐☑✓ 6.1-rc2 | [LORE v3,0/17](https://lore.kernel.org/all/20221126095932.1234527-1-npiggin@gmail.com) |
| 2022/11/26 | Nicholas Piggin <npiggin@gmail.com> | [powerpc: alternate queued spinlock implementation](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/log/?id=0b2199841a7952d01a717b465df028b40b2cf3e9) | [Linux 6.2 Landing Scalability Improvement For Large IBM Power Systems](https://www.phoronix.com/news/IBM-Power-Linux-6.2) | v3 ☐☑✓ 6.1-rc2 | [LORE v3,0/17](https://lore.kernel.org/all/20221126095932.1234527-1-npiggin@gmail.com) |
+28 -15
View File
@@ -266,7 +266,7 @@ Linux 一开始是在一台i386上的机器开发的, i386 的硬件页表是2
| 时间 | 作者 | 特性 | 描述 | 是否合入主线 | 链接 |
|:----:|:----:|:---:|:----:|:---------:|:----:|
| 2022/09/21 | Huang Ying <ying.huang@intel.com> | [migrate_pages(): batch TLB flushing](https://lore.kernel.org/all/20220921060616.73086-1-ying.huang@intel.com) | 当前, migrate_pages()逐个迁移页面, 对每一页进行解除映射, 刷新 TLB, 然后恢复映射. 如果将多个页面传递给 migrate_pages(), 则有机会批量刷新和复制 TLB. TLB 冲洗 IPI 的总数可以大大减少. 并可以使用一些硬件加速器, 如 DSA 来加速页面复制. 因此, 在这个补丁中, 我们重构了 migrate_pages()实现, 并实现了 TLB 刷新批处理. 在此基础上, 可以实现硬件加速页面复制. | v1 ☐☑✓ | [LORE v1,0/6](https://lore.kernel.org/all/20220921060616.73086-1-ying.huang@intel.com) |
| 2022/09/21 | Huang Ying <ying.huang@intel.com> | [migrate_pages(): batch TLB flushing](https://lore.kernel.org/all/20220921060616.73086-1-ying.huang@intel.com) | 当前, migrate_pages()逐个迁移页面, 对每一页进行解除映射, 刷新 TLB, 然后恢复映射. 如果将多个页面传递给 migrate_pages(), 则有机会批量刷新和复制 TLB. TLB 冲洗 IPI 的总数可以大大减少. 并可以使用一些硬件加速器, 如 DSA 来加速页面复制. 因此, 在这个补丁中, 我们重构了 migrate_pages()实现, 并实现了 TLB 刷新批处理. 在此基础上, 可以实现硬件加速页面复制. | v1 ☐☑✓ | [LORE v1,0/6](https://lore.kernel.org/all/20220921060616.73086-1-ying.huang@intel.com)<br>*-*-*-*-*-*-*-* <br>[LORE v1,0/8](https://lore.kernel.org/r/20221227002859.27740-1-ying.huang@intel.com) |
| 2022/10/28 | Yicong Yang <yangyicong@huawei.com> | [arm64: support batched/deferred tlb shootdown during page reclamation](https://patchwork.kernel.org/project/linux-mm/cover/20221028081255.19157-1-yangyicong@huawei.com/) | 虽然 ARM64 有硬件进行 tlb shootdown, 但是使用 tlbi 进行硬件广播的开销也不小. 一个最简单的微基准测试显示, 即使在只有 8 核的骁龙 888 上, 即使只分页一个进程映射的页面, ptep_clear_flush() 的开销(perf top) 也达到了 5.36%. 当页面由多个进程映射或 HW 有更多 CPU 时, 由于 tlb shootdown 糟糕的可伸缩性, 成本应该会变得更高, 同样的基准测试在 100 核左右的 ARM64 服务器上可以导致 16.99% 的 CPU 消耗. 这个补丁集利用现有的 BATCHED_UNMAP_TLB_FLUSH. 只在第一阶段 arch_tlbbatch_add_mm() 中发送 tlbi 指令. 在骁龙 888 上的测试表明, 补丁集消除了 ptep_clear_flush() 的开销. 在骁龙 888 上, 即使是单个进程映射的一个页面, 微基准测试也要快 5%. 有了这个支持, 我们可以对内存回收和[迁移](https://lore.kernel.org/lkml/20220921060616.73086-1-ying.huang@intel.com)做更多的优化. | v5 ☐☑ | [LORE 0/4](https://lore.kernel.org/lkml/20220707125242.425242-1-21cnbao@gmail.com)<br>*-*-*-*-*-*-*-* <br>[LORE v5,0/2](https://lore.kernel.org/r/20221028081255.19157-1-yangyicong@huawei.com)<br>*-*-*-*-*-*-*-* <br>[LORE v6,0/2](https://lore.kernel.org/r/20221115031425.44640-1-yangyicong@huawei.com)<br>*-*-*-*-*-*-*-* <br>[LORE v7,0/2](https://lore.kernel.org/r/20221117082648.47526-1-yangyicong@huawei.com) |
@@ -600,8 +600,10 @@ Linux 进程使用不同的虚拟地址空间. 因此, 管理该地址空间状
| 时间 | 作者 | 特性 | 描述 | 是否合入主线 | 链接 |
|:----:|:----:|:---:|:----:|:---------:|:----:|
| 2022/01/18 | Khalid Aziz <khalid.aziz@oracle.com> | [Add support for shared PTEs across processes](https://patchwork.kernel.org/project/linux-mm/cover/cover.1642526745.git.khalid.aziz@oracle.com) | 内核中的页表会消耗一些内存, 只要要维护的映射数量足够小, 那么页表所消耗的空间是可以接受的. 当进程之间共享的内存页很少时, 要维护的页表条目(PTE)的数量主要受到系统中内存页的数量的限制. 但是随着共享页面的数量和共享页面的次数的增加, 页表所消耗的内存数量开始变得非常大.<br>比如在一些实际业务中, 通常会看到非常多的进程共享内存页面. 在 x86_64 上, 每个页面页面在每个进程空间都需要占用一个只有 8Byte 大小的 PTE, 共享此页面的进程数目越多, 占用的内存会非常的大. 如果这些 PTE 可以共享, 那么节省的内存数量将非常可观.<br>这组补丁在内核中实现一种机制, 允许用户空间进程选择共享 PTE. 一个进程可以通过 通过 mshare() 和 mshare_unlink() syscall 来创建一个 mshare 区域(mshare'd region), 这个区域可以被其他进程使用共享 PTE 映射相同的页面. 其他进程可以通过 mashare() 使用共享 PTE 将共享页面映射到它们的地址空间. 然后还可以通过 mshare_unlink() syscall 来结束对共享页面的访问. 当最后一个访问 mshare'd region 的进程调用 mshare_unlink() 时, mshare'd region就会被销毁, 所使用的内存也会被释放. | v1 ☐ | [LKML RFC,0/6](https://patchwork.kernel.org/project/linux-mm/cover/cover.1642526745.git.khalid.aziz@oracle.com)<br>*-*-*-*-*-*-*-* <br>[LORE v1,0/14](https://lore.kernel.org/all/cover.1649370874.git.khalid.aziz@oracle.com)<br>*-*-*-*-*-*-*-* <br>[LORE v2,0/9](https://lore.kernel.org/r/cover.1656531090.git.khalid.aziz@oracle.com) |
| 2022/12/06 | Khalid Aziz <khalid@gonehiking.org> | [Add support for sharing page tables across processes (Previously mshare)](https://patchwork.kernel.org/project/linux-mm/cover/cover.1670287695.git.khalid.aziz@oracle.com/) | 702250 | v1 ☐☑ | [LORE v1,0/2](https://lore.kernel.org/r/cover.1670287695.git.khalid.aziz@oracle.com) |
### 1.7.5 Reclaim unused page-table pages
### 1.7.6 Reclaim unused page-table pages
-------
| 日期 | LWN | 翻译 |
@@ -614,6 +616,14 @@ Linux 进程使用不同的虚拟地址空间. 因此, 管理该地址空间状
| 2022/04/29 | Qi Zheng <zhengqi.arch@bytedance.com> | [Try to free user PTE page table pages](https://patchwork.kernel.org/project/linux-mm/cover/20220429133552.33768-1-zhengqi.arch@bytedance.com/) | 636959 | v1 ☐☑ | [LORE v1,0/18](https://lore.kernel.org/r/20220429133552.33768-1-zhengqi.arch@bytedance.com) |
| 2022/08/25 | Qi Zheng <zhengqi.arch@bytedance.com> | [Try to free empty and zero user PTE page table pages](https://patchwork.kernel.org/project/linux-mm/cover/20220825101037.96517-1-zhengqi.arch@bytedance.com/) | 671004 | v1 ☐☑ | [LORE v1,0/7](https://lore.kernel.org/r/20220825101037.96517-1-zhengqi.arch@bytedance.com) |
### 1.7.7 get info about PTEs
-------
| 时间 | 作者 | 特性 | 描述 | 是否合入主线 | 链接 |
|:----:|:----:|:---:|:----:|:---------:|:----:|
| 2022/11/03 | Muhammad Usama Anjum <usama.anjum@collabora.com> | [Implement IOCTL to get and/or the clear info about PTEs](https://patchwork.kernel.org/project/linux-mm/cover/20221103100736.2356351-1-usama.anjum@collabora.com/) | 本补丁系列在 procfs 上实现 IOCTL, 以获取关于页表项(pte)的信息. 该 ioctl 支持以下操作: 历史上, 软脏 PTE 位跟踪一直用于 CRIU 项目. procfs 接口足以查找软脏位状态, 并清除进程中所有页面的软脏位. 我们有这样的场景, 需要根据需要跟踪特定页面的软脏 PTE 位. 这就需要在进程运行时跟踪和清除内存区域的机制, 以模拟 Windows 的 getWriteWatch()系统调用. 这个系统调用被游戏用来跟踪脏页, 只处理脏页. CRIU 项目需要页面[相关信息, 如果页面是文件映射、呈现和交换的](https://lore.kernel.org/all/20221014134802.1361436-1-mdanylo@google.com). 还需要添加[所需的掩码、任意掩码、排除掩码和返回掩码](https://lore.kernel.org/all/YyiDg79flhWoMDZB@gmail.com). | v4 ☐☑ | [LORE v4,0/3](https://lore.kernel.org/r/20221103100736.2356351-1-usama.anjum@collabora.com)<br>*-*-*-*-*-*-*-* <br>[LORE v6,0/3](https://lore.kernel.org/r/20221109102303.851281-1-usama.anjum@collabora.com) |
## 1.8 安全
-------
@@ -664,7 +674,7 @@ MTE 实现了锁和密钥访问内存. 这样在内存访问期间, 可以在内
| 时间 | 作者 | 特性 | 描述 | 是否合入主线 | 链接 |
|:----:|:----:|:---:|:----:|:---------:|:----:|
| 2021/02/05 | "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com> | [Linear Address Masking enabling](https://patchwork.kernel.org/project/linux-mm/cover/20210205151631.43511-1-kirill.shutemov@linux.intel.com) | [线性地址屏蔽(LAM)](https://software.intel.com/content/dam/develop/external/us/en/documents-tps/architecture-instruction-set-extensions-programming-reference.pdf) 修改应用于 64 位线性地址的检查, 允许软件将未翻译的地址位用于元数据. 手册参见 [ISE, Chapter 14](https://patchwork.kernel.org/project/linux-mm/cover/20210205151631.43511-1-kirill.shutemov@linux.intel.com). 代码参见 [kas/linux.git](https://git.kernel.org/pub/scm/linux/kernel/git/kas/linux.git/log/?h=lam). | RFC ☐ | [PatchWork RFC,0/9](https://patchwork.kernel.org/project/linux-mm/cover/20210205151631.43511-1-kirill.shutemov@linux.intel.com)<br>*-*-*-*-*-*-*-* <br>[LORE v1,0/8](https://lore.kernel.org/r/20220610143527.22974-1-kirill.shutemov@linux.intel.com)<br>*-*-*-*-*-*-*-* <br>[LORE v1,0/11](https://lore.kernel.org/r/20220815041803.17954-1-kirill.shutemov@linux.intel.com)<br>*-*-*-*-*-*-*-* <br>[2022/08/30 LORE v1,0/11](https://lore.kernel.org/r/20220830010104.1282-1-kirill.shutemov@linux.intel.com)<br>*-*-*-*-*-*-*-* <br>[2022/09/30 LORE v1,0/14](https://lore.kernel.org/r/20220930144758.30232-1-kirill.shutemov@linux.intel.com)<br>*-*-*-*-*-*-*-* <br>[2022/11/09 LORE v1,0/16](https://lore.kernel.org/r/20221109165140.9137-1-kirill.shutemov@linux.intel.com) |
| 2021/02/05 | "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com> | [Linear Address Masking enabling](https://patchwork.kernel.org/project/linux-mm/cover/20210205151631.43511-1-kirill.shutemov@linux.intel.com) | [线性地址屏蔽(LAM)](https://software.intel.com/content/dam/develop/external/us/en/documents-tps/architecture-instruction-set-extensions-programming-reference.pdf) 修改应用于 64 位线性地址的检查, 允许软件将未翻译的地址位用于元数据. 手册参见 [ISE, Chapter 14](https://patchwork.kernel.org/project/linux-mm/cover/20210205151631.43511-1-kirill.shutemov@linux.intel.com). 代码参见 [kas/linux.git](https://git.kernel.org/pub/scm/linux/kernel/git/kas/linux.git/log/?h=lam). | RFC ☐ | [PatchWork RFC,0/9](https://patchwork.kernel.org/project/linux-mm/cover/20210205151631.43511-1-kirill.shutemov@linux.intel.com)<br>*-*-*-*-*-*-*-* <br>[LORE v1,0/8](https://lore.kernel.org/r/20220610143527.22974-1-kirill.shutemov@linux.intel.com)<br>*-*-*-*-*-*-*-* <br>[LORE v1,0/11](https://lore.kernel.org/r/20220815041803.17954-1-kirill.shutemov@linux.intel.com)<br>*-*-*-*-*-*-*-* <br>[2022/08/30 LORE v1,0/11](https://lore.kernel.org/r/20220830010104.1282-1-kirill.shutemov@linux.intel.com)<br>*-*-*-*-*-*-*-* <br>[2022/09/30 LORE v1,0/14](https://lore.kernel.org/r/20220930144758.30232-1-kirill.shutemov@linux.intel.com)<br>*-*-*-*-*-*-*-* <br>[2022/11/09 LORE v1,0/16](https://lore.kernel.org/r/20221109165140.9137-1-kirill.shutemov@linux.intel.com)<br>*-*-*-*-*-*-*-* <br>[2022/12/27 LORE v1,0/16](https://lore.kernel.org/r/20221227030829.12508-1-kirill.shutemov@linux.intel.com) |
## 1.9 page attributes
@@ -3361,7 +3371,7 @@ MGLRU 的开发者在 LPC-2022 上演示了 MGLRU [Multi-Gen LRU: Current Status
| 2022/09/11 | Yuanchu Xie <yuanchu@google.com> | [mm: multi-gen LRU: per-process heatmaps](https://patchwork.kernel.org/project/linux-mm/cover/20220911083418.2818369-1-yuanchu@google.com/) | MGLRU debugfs 接口(`/sys/kernel/debug/lru_gen`) 提供了一个统计属于每一代的页面数量的直方图, 提供了一些内存冷量数据, 但我们实际上不知道内存实际在哪里, 通过 BPF 程序连接到 MGLRU 页表访问位获取, 以收集有关相对 HOT 和 COLD、NUMA 节点以及页是否为 anon/file 等的信息. 使用 BPF 程序收集和聚合页面访问信息允许用户空间代理自定义收集什么以及如何聚合. 它可以关注特定的兴趣区域, 并计算移动平均访问频率, 或者找到从未访问过的分配, 这些分配可以一起消除. 目前, MGLRU 依赖于关于页面被分配到哪一代的启发式方法, 例如, 通过页面表访问的页面总是被分配给最年轻的一代. 公开页面访问数据可以允许未来的工作自定义页面生成分配(使用更多 BPF). | v1 ☐☑ | [LORE v1,0/2](https://lore.kernel.org/all/20220911083418.2818369-1-yuanchu@google.com) |
| 2022/09/18 | Yu Zhao <yuzhao@google.com> | [[v14-fix,01/11] mm: multi-gen LRU: update admin guide](https://patchwork.kernel.org/project/linux-mm/patch/20220918204755.3135720-1-yuzhao@google.com/) | 677981 | v1 ☐☑ | [LORE v1,0/11](https://lore.kernel.org/r/20220918204755.3135720-1-yuzhao@google.com) |
| 2022/09/20 | zhaoyang.huang <zhaoyang.huang@unisoc.com> | [[RFC] mm: track bad page via kmemleak](https://patchwork.kernel.org/project/linux-mm/patch/1663679468-16757-1-git-send-email-zhaoyang.huang@unisoc.com/) | 678650 | v1 ☐☑ | [LORE v1,0/1](https://lore.kernel.org/r/1663679468-16757-1-git-send-email-zhaoyang.huang@unisoc.com) |
| 2022/12/01 | Yu Zhao <yuzhao@google.com> | [mm: multi-gen LRU: memcg LRU](https://lore.kernel.org/all/20221201223923.873696-1-yuzhao@google.com) | [New MGLRU Linux Patches Look To Improve The Scalability Of Global Reclaim](https://www.phoronix.com/news/Linux-MGLRU-memcg-LRU) | v1 ☐☑✓ | [LORE v1,0/8](https://lore.kernel.org/all/20221201223923.873696-1-yuzhao@google.com) |
| 2022/12/01 | Yu Zhao <yuzhao@google.com> | [mm: multi-gen LRU: memcg LRU](https://lore.kernel.org/all/20221201223923.873696-1-yuzhao@google.com) | [New MGLRU Linux Patches Look To Improve The Scalability Of Global Reclaim](https://www.phoronix.com/news/Linux-MGLRU-memcg-LRU) | v1 ☐☑✓ | [LORE v1,0/8](https://lore.kernel.org/all/20221201223923.873696-1-yuzhao@google.com)<br>*-*-*-*-*-*-*-*<br>[LORE v1,0/8](https://lore.kernel.org/r/20221201223923.873696-1-yuzhao@google.com)<br>*-*-*-*-*-*-*-*<br>[LORE v2,0/8](https://lore.kernel.org/r/20221221001207.1376119-1-yuzhao@google.com)<br>*-*-*-*-*-*-*-*<br>[LORE v3,0/8](https://lore.kernel.org/r/20221222041905.2431096-1-yuzhao@google.com) |
@@ -4035,7 +4045,7 @@ Google 的 Yosry Ahmed 设计的 [memcg: introduce per-memcg proactive reclaim](
| 2022/04/07 | Yosry Ahmed <yosryahmed@google.com> | [memcg: introduce per-memcg proactive reclaim](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/log/?id=eae3cb2e87ff84547e66211b81301a8f9122840f) | MEMCG 中引入 memory.reclaim 使得用户空间可以通过持续探测 MEMCG 并触发主动回收以回收少量内存. 随着 LRU 不断排序, 这将提供更准确和最新的工作集估计, 并可能提供更具确定性的内存过度使用行为. 内存超分配控制器可以对正在运行的应用程序不断变化的行为提供更主动的响应, 而不是被动响应. 在这种情况下, 用户空间回收器的目的不是完全替代 KSWAPD 或直接回收, 而是主动识别内存节约机会, 回收策略设置的一些冷页, 以释放内存, 用于要求更高的作业或安排新作业.<br>谷歌数据中心使用了此用户空间主动回收器. | v2 ☑ 5.19-rc1 | [LORE v1,0/1](https://lore.kernel.org/all/20220331084151.2600229-1-yosryahmed@google.com)<br>*-*-*-*-*-*-*-* <br>[LORE v2,0/4](https://lore.kernel.org/r/20220407224244.1374102-1-yosryahmed@google.com)<br>*-*-*-*-*-*-*-* <br>[LORE v3,0/4](https://lore.kernel.org/r/20220408045743.1432968-1-yosryahmed@google.com))<br>*-*-*-*-*-*-*-* <br>[LORE v4,0/4](https://lore.kernel.org/r/20220421234426.3494842-1-yosryahmed@google.com)<br>*-*-*-*-*-*-*-* <br>[LORE v5,0/4](https://lore.kernel.org/r/20220425190040.2475377-1-yosryahmed@google.com) |
| 2022/04/16 | Davidlohr Bueso <dave@stgolabs.net> | [Mechanism to induce memory reclaim](https://lore.kernel.org/all/5df21376-7dd1-bf81-8414-32a73cea45dd@google.com) | LSFMM 2022 | v1 ☐☑ | [LORE RFC v1,0/6](https://lore.kernel.org/all/5df21376-7dd1-bf81-8414-32a73cea45dd@google.com) |
| 2022/05/18 | Vaibhav Jain <vaibhav@linux.ibm.com> | [memcg: provide reclaim stats via 'memory.reclaim'](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/log/?id=eae3cb2e87ff84547e66211b81301a8f9122840f) | 之前引入的 memcg 文件 memory.reclaim 是只写的, 为用户空间提供了一种触发主动回收的方法. 然而, 像扫描和回收的页面数量这样的回收统计仍然不能直接提供给用户空间. 这个补丁将 memory.reclaim 扩展为可读, 它从与每个 memcg 相关的 'struct vmpressure' 回收过程中返回扫描/回收的页面数量. 这将让用户空间评估如何成功地从 memcg 的内存中触发主动回收. | v1 ☐☑ 5.19-rc1 | [LORE v1,0/1](https://lore.kernel.org/r/20220518223815.809858-1-vaibhav@linux.ibm.com) |
| 2022/12/02 | Mina Almasry <almasrymina@google.com> | [mm: Add nodes= arg to memory.reclaim](https://lore.kernel.org/all/20221202223533.1785418-1-almasrymina@google.com) | nodes=arg 指示内核仅扫描给定节点以进行主动回收.<br>"nodes"参数用于允许用户空间根据其策略独立控制降级和回收: 如果内存. 在具有降级目标的节点上调用回收, 它将首先尝试降级;<br>如果在没有降级目标的节点上调用它, 它将只尝试回收. | v3 ☐☑✓ | [LORE](https://lore.kernel.org/all/20221202223533.1785418-1-almasrymina@google.com)<br>*-*-*-*-*-*-*-* <br>[LORE v2,0/1](https://lore.kernel.org/r/20221130020328.1009347-1-almasrymina@google.com) |
| 2022/12/02 | Mina Almasry <almasrymina@google.com> | [mm: Add nodes= arg to memory.reclaim](https://lore.kernel.org/all/20221202223533.1785418-1-almasrymina@google.com) | nodes=arg 指示内核仅扫描给定节点以进行主动回收.<br>"nodes"参数用于允许用户空间根据其策略独立控制降级和回收: 如果内存. 在具有降级目标的节点上调用回收, 它将首先尝试降级;<br>如果在没有降级目标的节点上调用它, 它将只尝试回收. | v3 ☐☑✓ | [LORE](https://lore.kernel.org/all/20221202223533.1785418-1-almasrymina@google.com)<br>*-*-*-*-*-*-*-* <br>[LORE v2,0/1](https://lore.kernel.org/r/20221130020328.1009347-1-almasrymina@google.com)<br>*-*-*-*-*-*-*-* <br>[LORE v3,0/1](https://lore.kernel.org/r/20221202223533.1785418-1-almasrymina@google.com) |
### 4.4.4 主动回收与内存分级
@@ -5000,7 +5010,7 @@ David Rientjes 率先提出了这种想法 [Hugepage collapse in process context
| 时间 | 作者 | 特性 | 描述 | 是否合入主线 | 链接 |
|:----:|:----:|:---:|:----:|:---------:|:----:|
| 2022/03/11 | maobibo <maobibo@loongson.cn> | [mm/khugepaged: sched to numa node when collapse huge page](https://patchwork.kernel.org/project/linux-mm/patch/20220311090119.2412738-1-maobibo@loongson.cn/) | 622550 | v1 ☐☑ | [LORE v1,0/1](https://lore.kernel.org/r/20220311090119.2412738-1-maobibo@loongson.cn)<br>*-*-*-*-*-*-*-* <br>[LORE v2,0/1](https://lore.kernel.org/r/20220315040549.4122396-1-maobibo@loongson.cn) |
| 2022/05/27 | Jiaqi Yan <jiaqiyan@google.com> | [Memory poison recovery in khugepaged collapsing](https://patchwork.kernel.org/project/linux-mm/cover/20220527190731.322722-1-jiaqiyan@google.com/) | 645671 | v4 ☐☑ | [LORE v4,0/2](https://lore.kernel.org/r/20220527190731.322722-1-jiaqiyan@google.com)<br>*-*-*-*-*-*-*-* <br>[LORE v6,0/2](https://lore.kernel.org/r/20221107025359.2911028-1-jiaqiyan@google.com)<br>*-*-*-*-*-*-*-* <br>[LORE v7,0/2](https://lore.kernel.org/r/20221118013157.1333622-1-jiaqiyan@google.com) |
| 2022/05/27 | Jiaqi Yan <jiaqiyan@google.com> | [Memory poison recovery in khugepaged collapsing](https://patchwork.kernel.org/project/linux-mm/cover/20220527190731.322722-1-jiaqiyan@google.com/) | 645671 | v4 ☐☑ | [LORE v4,0/2](https://lore.kernel.org/r/20220527190731.322722-1-jiaqiyan@google.com)<br>*-*-*-*-*-*-*-* <br>[LORE v6,0/2](https://lore.kernel.org/r/20221107025359.2911028-1-jiaqiyan@google.com)<br>*-*-*-*-*-*-*-* <br>[LORE v7,0/2](https://lore.kernel.org/r/20221118013157.1333622-1-jiaqiyan@google.com)<br>*-*-*-*-*-*-*-* <br>[LORE v8,0/2](https://lore.kernel.org/r/20221201005931.3877608-1-jiaqiyan@google.com)<br>*-*-*-*-*-*-*-* <br>[LORE v9,0/2](https://lore.kernel.org/r/20221205234059.42971-1-jiaqiyan@google.com) |
| 2022/09/07 | Zach O'Keefe <zokeefe@google.com> | [mm: add file/shmem support to MADV_COLLAPSE](https://lore.kernel.org/all/20220907144521.3115321-1-zokeefe@google.com) | TODO | v3 ☐☑✓ | [2022/08/12 LORE 0/9](https://lore.kernel.org/linux-mm/20220812012843.3948330-1-zokeefe@google.com)<br>*-*-*-*-*-*-*-* <br>[2022/08/26 LORE v2,0/9](https://lore.kernel.org/linux-mm/20220826220329.1495407-1-zokeefe@google.com)<br>*-*-*-*-*-*-*-* <br>[2022/09/07 LORE v3,0/10](https://lore.kernel.org/all/20220907144521.3115321-1-zokeefe@google.com)<br>*-*-*-*-*-*-*-* <br>[2022/09/22 LORE v4,00/10](https://lore.kernel.org/all/20220922224046.1143204-1-zokeefe@google.com) |
| 2022/10/17 | Zach O'Keefe <zokeefe@google.com> | [Add MADV_COLLAPSE documentation](https://patchwork.kernel.org/project/linux-mm/cover/20221017175523.2048887-1-zokeefe@google.com/) | 685929 | v1 ☐☑ | [LORE v1,0/4](https://lore.kernel.org/r/20221017175523.2048887-1-zokeefe@google.com)<br>*-*-*-*-*-*-*-* <br>[LORE v2,0/4](https://lore.kernel.org/r/20221018235051.152548-1-zokeefe@google.com)<br>*-*-*-*-*-*-*-* <br>[LORE v3,0/4](https://lore.kernel.org/r/20221021223300.3675201-1-zokeefe@google.com)<br>*-*-*-*-*-*-*-* <br>[LORE v4,0/1](https://lore.kernel.org/r/20221031225500.3994542-1-zokeefe@google.com)<br>*-*-*-*-*-*-*-* <br>[LORE v5,0/1](https://lore.kernel.org/r/20221101150323.89743-1-zokeefe@google.com) |
@@ -5272,7 +5282,7 @@ khugepaged 处理流程
| 时间 | 作者 | 特性 | 描述 | 是否合入主线 | 链接 |
|:----:|:----:|:---:|:----:|:---------:|:----:|
| 2022/10/24 | Gautam Menghani <gautammenghani201@gmail.com> | [mm/khugepaged: add tracepoint to collapse_file()](https://patchwork.kernel.org/project/linux-mm/patch/20221024150922.129814-1-gautammenghani201@gmail.com/) | 688257 | v1 ☐☑ | [LORE v1,0/1](https://lore.kernel.org/r/20221024150922.129814-1-gautammenghani201@gmail.com) |
| 2022/10/24 | Gautam Menghani <gautammenghani201@gmail.com> | [mm/khugepaged: add tracepoint to collapse_file()](https://patchwork.kernel.org/project/linux-mm/patch/20221024150922.129814-1-gautammenghani201@gmail.com/) | 688257 | v1 ☐☑ | [LORE v1,0/1](https://lore.kernel.org/r/20221024150922.129814-1-gautammenghani201@gmail.com)<br>*-*-*-*-*-*-*-* <br>[LORE v4,0/1](https://lore.kernel.org/r/20221202201807.182829-1-gautammenghani201@gmail.com) |
| 2022/10/25 | Nathan Chancellor <nathan@kernel.org> | [mm/khugepaged: Initialize index and nr in collapse_file()](https://patchwork.kernel.org/project/linux-mm/patch/20221025173407.3423241-1-nathan@kernel.org/) | 688749 | v1 ☐☑ | [LORE v1,0/1](https://lore.kernel.org/r/20221025173407.3423241-1-nathan@kernel.org) |
| 2022/10/26 | Johannes Weiner <hannes@cmpxchg.org> | [[v2] mm: vmscan: split khugepaged stats from direct reclaim stats](https://patchwork.kernel.org/project/linux-mm/patch/20221026180133.377671-1-hannes@cmpxchg.org/) | 689123 | v2 ☐☑ | [LORE v2,0/1](https://lore.kernel.org/r/20221026180133.377671-1-hannes@cmpxchg.org) |
@@ -5297,7 +5307,6 @@ khugepaged 处理流程
|:----:|:----:|:---:|:----:|:---------:|:----:|
| 2019/12/19 | Colin Cross | [mm: add a field to store names for private anonymous memory](https://lore.kernel.org/patchwork/patch/416962) | 在二进制中通过 xxx_sched_class 地址顺序标记调度类的优先级, 从而可以通过直接比较两个 xxx_sched_class 地址的方式, 优化调度器中两个热点函数 pick_next_task()和check_preempt_curr(). | v2 ☐ | [PatchWork RFC](https://lore.kernel.org/patchwork/patch/416962)<br>*-*-*-*-*-*-*-* <br>[PatchWork v2](https://lore.kernel.org/patchwork/patch/416962) |
| 2022/03/10 | Alex Sierra <alex.sierra@amd.com> | [split vm_normal_pages for LRU and non-LRU handling](https://patnux-mm/cover/20220310172633.9151-1-alex.sierra@amd.com/) | DEVICE_COHERENT 页面在 "普通" 页面可以被内核中的各种调用者使用的方式上引入了微妙的区别.<br>为了在 CPU 页表中进行映射和 COW, 它们的行为就像普通页面一样. 但它们不支持 LRU 列表、NUMA 迁移或 THP. 因此, 我们将 vm_normal_page 拆分为两个函数 vm_normal_any_page 和 vm_normal_lru_page. 后者将只返回那些可以放在 LRU 列表中, 并且支持 NUMA 迁移、KSM 和 THP 的页面.<br>在自测试中添加了 HMM 测试, 以使用设备连贯页面来执行这些更改. 名为 hmm_cow_in_device 的新测试将测试标记为 COW 的页面, 并在设备区域中分配. 此外, 还向 hmm_gup_test 中添加了更多的配置, 以测试基本的获取用户页面和设备区域页面中的获取用户页面的快速路径. | v1 ☐☑ | [LORE v1,0/3](https://lore.kernel.org/rsierra@amd.com) |
| 2022/05/19 | Chih-En Lin <shiyn.lin@gmail.com> | [Introduce Copy-On-Write to Page Table](https://patchwork.kernel.org/project/linux-mm/cover/20220519183127.3909598-1-shiyn.lin@gmail.com/) | 643289 | v1 ☐☑ | [LORE v1,0/6](https://lore.kernel.org/r/20220519183127.3909598-1-shiyn.lin@gmail.com) |
| 2022/05/27 | Jakub Matěna <matenajakub@gmail.com> | [Refactor of vma_merge and new merge call](https://patchwork.kernel.org/project/linux-mm/cover/20220527104810.24736-1-matenajakub@gmail.com/) | 645578 | v1 ☐☑ | [LORE v1,0/2](https://lore.kernel.org/r/20220527104810.24736-1-matenajakub@gmail.com)<br>*-*-*-*-*-*-*-* <br>[LORE v2,0/2](https://lore.kernel.org/r/20220527211708.839033-1-matenajakub@gmail.com)<br>*-*-*-*-*-*-*-* <br>[LORE v1,0/2](https://lore.kernel.org/r/20220602145642.16948-1-matenajakub@gmail.com) |
@@ -5433,7 +5442,7 @@ sys_fork
| 时间 | 作者 | 特性 | 描述 | 是否合入主线 | 链接 |
|:----:|:----:|:---:|:----:|:---------:|:----:|
| 2022/09/27 | Chih-En Lin <shiyn.lin@gmail.com> | [Introduce Copy-On-Write to Page Table](https://patchwork.kernel.org/project/linux-mm/cover/20220927162957.270460-1-shiyn.lin@gmail.com/) | 目前, 写入时复制仅用于映射内存; 在分叉期间, 子进程仍然需要从父进程复制整个页表. 当父进程分配了一个大页表时, 父进程可能需要花费大量时间和内存来复制页表. 这组补丁集为 PTE 级页表引入了写入时拷贝(COW). | v2 ☐☑ | [LORE v2,0/9](https://lore.kernel.org/r/20220927162957.270460-1-shiyn.lin@gmail.com) |
| 2022/09/27 | Chih-En Lin <shiyn.lin@gmail.com> | [Introduce Copy-On-Write to Page Table](https://patchwork.kernel.org/project/linux-mm/cover/20220927162957.270460-1-shiyn.lin@gmail.com/) | 目前, 写入时复制仅用于映射内存; 在分叉期间, 子进程仍然需要从父进程复制整个页表. 当父进程分配了一个大页表时, 父进程可能需要花费大量时间和内存来复制页表. 这组补丁集为 PTE 级页表引入了写入时拷贝(COW). | v2 ☐☑ | [LORE v2,0/9](https://lore.kernel.org/r/20220927162957.270460-1-shiyn.lin@gmail.com)<br>*-*-*-*-*-*-*-* <br>[LORE v3,0/14](https://lore.kernel.org/r/20221220072743.3039060-1-shiyn.lin@gmail.com) |
#### 8.2.2.X 写时拷贝的问题
@@ -6255,7 +6264,7 @@ FRONTSWAP 对应的另一个后端叫 [ZSWAP](https://lwn.net/Articles/537422).
| 2021/08/19 | Johannes Weiner <hannes@cmpxchg.org> | [mm: Kconfig: simplify zswap configuration](https://lore.kernel.org/patchwork/patch/1479229) | 重构 CONFIG_ZSWAP. | v1 ☐ | [PatchWork](https://lore.kernel.org/patchwork/patch/1479229) |
| 2022/04/27 | Johannes Weiner <hannes@cmpxchg.org> | [zswap: cgroup accounting & control](https://patchwork.kernel.org/project/linux-mm/cover/20220427160016.144237-1-hannes@cmpxchg.org/) | 636247 | v1 ☐☑ | [LORE v1,0/5](https://lore.kernel.org/r/20220427160016.144237-1-hannes@cmpxchg.org)<br>*-*-*-*-*-*-*-* <br>[LORE v2,0/6](https://lore.kernel.org/all/20220510152847.230957-1-hannes@cmpxchg.org) |
| 2022/08/25 | Liu Shixin <liushixin2@huawei.com> | [Delay the initializaton of zswap](https://patchwork.kernel.org/project/linux-mm/cover/20220825142037.3214152-1-liushixin2@huawei.com/) | 671093 | v1 ☐☑ | [LORE v1,0/3](https://lore.kernel.org/r/20220825142037.3214152-1-liushixin2@huawei.com) |
| 2022/10/05 | Sergey Senozhatsky <senozhatsky@chromium.org> | [zram: Support multiple compression streams](https://patchwork.kernel.org/project/linux-mm/cover/20221005024014.22914-1-senozhatsky@chromium.org/) | 683137 | v1 ☐☑ | [LORE v1,0/8](https://lore.kernel.org/r/20221005024014.22914-1-senozhatsky@chromium.org)<br>*-*-*-*-*-*-*-* <br>[LORE v2,0/1](https://lore.kernel.org/r/20221005173713.1308832-1-yosryahmed@google.com)<br>*-*-*-*-*-*-*-* <br>[LORE v3,0/13](https://lore.kernel.org/r/20221109115047.2921851-1-senozhatsky@chromium.org) |
| 2022/10/05 | Sergey Senozhatsky <senozhatsky@chromium.org> | [zram: Support multiple compression streams](https://patchwork.kernel.org/project/linux-mm/cover/20221005024014.22914-1-senozhatsky@chromium.org/) | [Google Engineer Experimenting With ZRAM Handling For Multiple Compression Streams](https://www.phoronix.com/news/ZRAM-Multiple-Compression) 和 [Linux 6.2 Lands Support For Multiple Compression Streams With ZRAM](https://www.phoronix.com/news/Linux-6.2-ZRAM-Multi-Compress) | v1 ☐☑ | [LORE v1,0/8](https://lore.kernel.org/r/20221005024014.22914-1-senozhatsky@chromium.org)<br>*-*-*-*-*-*-*-* <br>[LORE v2,0/1](https://lore.kernel.org/r/20221005173713.1308832-1-yosryahmed@google.com)<br>*-*-*-*-*-*-*-* <br>[LORE v3,0/13](https://lore.kernel.org/r/20221109115047.2921851-1-senozhatsky@chromium.org) |
### 11.2.3.2 ZTREE
@@ -6384,7 +6393,7 @@ Intel 的吴峰光 [PMEM NUMA node and hotness accounting/migration](https://lor
| 2019/04/04 | Zi Yan <zi.yan@sent.com> | [Accelerate page migration and use memcg for PMEM management](https://patchwork.kernel.org/project/linux-mm/cover/20190404020046.32741-1-zi.yan@sent.com) | TODO | RFC ☐ | [PatchWork RFC,00/25](https://patchwork.kernel.org/project/linux-mm/cover/20190404020046.32741-1-zi.yan@sent.com) |
#### 12.1.2.2 memory tiering
#### 12.1.2.2 memory tiering and demotion
-------
@@ -6418,6 +6427,7 @@ Intel 的吴峰光 [PMEM NUMA node and hotness accounting/migration](https://lor
| 2022/06/14 | Tim Chen <tim.c.chen@linux.intel.com> | [Cgroup accounting of memory tier usage](https://patchwork.kernel.org/project/linux-mm/cover/cover.1655242024.git.tim.c.chen@linux.intel.com/) | 650358 | v1 ☐☑ | [LORE v1,0/3](https://lore.kernel.org/r/cover.1655242024.git.tim.c.chen@linux.intel.com) |
| 2022/08/29 | Aneesh Kumar K V <aneesh.kumar@linux.ibm.com> | [[v2] mm/demotion: Expose memory tier details via sysfs](https://patchwork.kernel.org/project/linux-mm/patch/20220829060745.287468-1-aneesh.kumar@linux.ibm.com/) | 671886 | v2 ☐☑ | [LORE v2,0/1](https://lore.kernel.org/r/20220829060745.287468-1-aneesh.kumar@linux.ibm.com) |
| 2022/10/20 | Huang, Ying <ying.huang@intel.com> | [memory tier, sysfs: rename attribute "nodes" to "nodelist"](https://patchwork.kernel.org/project/linux-mm/patch/20221020015122.290097-1-ying.huang@intel.com/) | 686946 | v1 ☐☑ | [LORE v1,0/1](https://lore.kernel.org/r/20221020015122.290097-1-ying.huang@intel.com) |
| 2022/11/22 | Mina Almasry <almasrymina@google.com> | [[RFC,V1] mm: Disable demotion from proactive reclaim](https://patchwork.kernel.org/project/linux-mm/patch/20221122203850.2765015-1-almasrymina@google.com/) | 698228 | v1 ☐☑ | [LORE v1,0/1](https://lore.kernel.org/r/20221122203850.2765015-1-almasrymina@google.com) |
@@ -6646,7 +6656,7 @@ ARM 引入了一个[内存标签扩展](https://community.arm.com/developer/ip-p
| 2021/12/30 | andrey.konovalov@linux.dev | [kasan, vmalloc, arm64: add vmalloc tagging support for SW/HW_TAGS](https://patchwork.kernel.org/project/linux-mm/cover/cover.1638308023.git.andreyknvl@google.com/) | NA | v1 ☐ | [2021/11/30 PatchWork 00/31](https://patchwork.kernel.org/project/linux-mm/cover/cover.1638308023.git.andreyknvl@google.com)<br>*-*-*-*-*-*-*-* <br>[2021/12/13 PatchWork v3,00/38](https://patchwork.kernel.org/project/linux-mm/cover/cover.1639432170.git.andreyknvl@google.com)<br>*-*-*-*-*-*-*-* <br>[2021/12/20 PatchWork v4,00/39](https://patchwork.kernel.org/project/linux-mm/cover/cover.1640036051.git.andreyknvl@google.com))<br>*-*-*-*-*-*-*-* <br>[2021/12/30 PatchWork v5,00/39](https://patchwork.kernel.org/project/linux-mm/cover/cover.1640891329.git.andreyknvl@google.com) |
| 2022/02/02 | Christophe Leroy <christophe.leroy@csgroup.eu> | [mm/kasan: Add CONFIG_KASAN_SOFTWARE](https://patchwork.kernel.org/project/linux-mm/patch/a480ac6f31eece520564afd0230c277c78169aa5.1643791473.git.christophe.leroy@csgroup.eu/) | 610616 | v1 ☐ | [PatchWork v1,0/4](https://lore.kernel.org/r/a480ac6f31eece520564afd0230c277c78169aa5.1643791473.git.christophe.leroy@csgroup.eu) |
| 2022/06/13 | andrey.konovalov@linux.dev <andrey.konovalov@linux.dev> | [kasan: switch tag-based modes to stack ring from per-object metadata](https://patchwork.kernel.org/project/linux-mm/cover/cover.1655150842.git.andreyknvl@google.com/) | 649958 | v1 ☐☑ | [LORE v1,0/32](https://lore.kernel.org/r/cover.1655150842.git.andreyknvl@google.com) |
| 2022/10/27 | andrey.konovalov@linux.dev <andrey.konovalov@linux.dev> | [kasan: allow sampling page_alloc allocations for HW_TAGS](https://patchwork.kernel.org/project/linux-mm/patch/c124467c401e9d44dd35a36fdae1c48e4e505e9e.1666901317.git.andreyknvl@google.com/) | 689571 | v1 ☐☑ | [LORE v1,0/1](https://lore.kernel.org/r/c124467c401e9d44dd35a36fdae1c48e4e505e9e.1666901317.git.andreyknvl@google.com)<br>*-*-*-*-*-*-*-* <br>[LORE v2,0/2](https://lore.kernel.org/r/4c341c5609ed09ad6d52f937eeec28d142ff1f46.1669489329.git.andreyknvl@google.com) |
| 2022/10/27 | andrey.konovalov@linux.dev <andrey.konovalov@linux.dev> | [kasan: allow sampling page_alloc allocations for HW_TAGS](https://patchwork.kernel.org/project/linux-mm/patch/c124467c401e9d44dd35a36fdae1c48e4e505e9e.1666901317.git.andreyknvl@google.com/) | 689571 | v1 ☐☑ | [LORE v1,0/1](https://lore.kernel.org/r/c124467c401e9d44dd35a36fdae1c48e4e505e9e.1666901317.git.andreyknvl@google.com)<br>*-*-*-*-*-*-*-* <br>[LORE v2,0/2](https://lore.kernel.org/r/4c341c5609ed09ad6d52f937eeec28d142ff1f46.1669489329.git.andreyknvl@google.com)<br>*-*-*-*-*-*-*-* <br>[LORE v3,0/1](https://lore.kernel.org/r/323d51d422d497b3783dacb130af245f67d77671.1671228324.git.andreyknvl@google.com)<br>*-*-*-*-*-*-*-* <br>[LORE v4,0/1](https://lore.kernel.org/r/129da0614123bb85ed4dd61ae30842b2dd7c903f.1671471846.git.andreyknvl@google.com) |
| 时间 | 作者 | 特性 | 描述 | 是否合入主线 | 链接 |
|:----:|:----:|:---:|:----:|:---------:|:----:|
@@ -7018,7 +7028,7 @@ PLRUS 这一机制旨在解决与 MGLRU 工作类似的问题, MGLRU 也试图
| 时间 | 作者 | 特性 | 描述 | 是否合入主线 | 链接 |
|:----:|:----:|:---:|:----:|:---------:|:----:|
| 2022/11/24 | SeongJae Park <sj@kernel.org> | [implement DAMOS filtering for anon pages and](https://patchwork.kernel.org/project/linux-mm/cover/20221124212114.136863-1-sj@kernel.org/) | 698964 | v1 ☐☑ | [LORE v1,0/11](https://lore.kernel.org/r/20221124212114.136863-1-sj@kernel.org) |
| 2022/11/24 | SeongJae Park <sj@kernel.org> | [implement DAMOS filtering for anon pages and](https://patchwork.kernel.org/project/linux-mm/cover/20221124212114.136863-1-sj@kernel.org/) | 698964 | v1 ☐☑ | [LORE v1,0/11](https://lore.kernel.org/r/20221124212114.136863-1-sj@kernel.org)<br>*-*-*-*-*-*-*-* <br>[LORE v1,0/11](https://lore.kernel.org/r/20221205230830.144349-1-sj@kernel.org) |
### 13.6.5 业界的使用
@@ -7076,7 +7086,7 @@ CSDN 宣传博客 [内存不超过5M, datop 在识别冷热内存及跨 numa 访
| 2022/08/22 | CGEL <cgel.zte@gmail.com> | [ksm: count allocated ksm rmap_items for each process](https://patchwork.kernel.org/project/linux-mm/patch/20220822053653.204150-1-xu.xin16@zte.com.cn/) | 669627 | v1 ☐☑ | [LORE v1,0/1](https://lore.kernel.org/r/20220822053653.204150-1-xu.xin16@zte.com.cn) |
| 2022/08/24 | CGEL <cgel.zte@gmail.com> | [ksm: count allocated rmap_items and update documentation](https://patchwork.kernel.org/project/linux-mm/cover/20220824040036.215002-1-xu.xin16@zte.com.cn/) | 670470 | v2 ☐☑ | [LORE v2,0/2](https://lore.kernel.org/r/20220824040036.215002-1-xu.xin16@zte.com.cn)<br>*-*-*-*-*-*-*-* <br>[LORE v5,0/2](https://lore.kernel.org/r/20220830143731.299702-1-xu.xin16@zte.com.cn) |
| 2022/08/29 | Qi Zheng <zhengqi.arch@bytedance.com> | [add common struct mm_slot and use it in THP and KSM](https://patchwork.kernel.org/project/linux-mm/cover/20220829143055.41201-1-zhengqi.arch@bytedance.com) | 672053 | v1 ☐☑ | [LORE v1,0/7](https://lore.kernel.org/r/20220829143055.41201-1-zhengqi.arch@bytedance.com)<br>*-*-*-*-*-*-*-* <br>[LORE v2,0/7](https://lore.kernel.org/r/20220831031951.43152-1-zhengqi.arch@bytedance.com) |
| 2022/10/08 | xu.xin.sc@gmail.com <xu.xin.sc@gmail.com> | [ksm: support tracking KSM-placed zero-pages](https://lore.kernel.org/all/20221008070156.308465-1-xu.xin16@zte.com.cn) | 在使能 use_zero_pages 之前, ksm 的 pages_sharing 基本是准确的. 但是当启用 use_zero_pages 时, 所有与内核零页合并的空页都不会计算在 pages_sharing 或 pages_shared 中. 这是因为这些空页面被合并为零页面, KSM 不再管理这些页面, 这至少会导致两个问题: 1. MADV_UNMERGEABLE 和其他触发取消共享的方法将不会取消 KSM 放置的共享零页(这至少是违反 MADV_UNMERGEABLE 文档的), 参见[链接](https://lore.kernel.org/lkml/4a3daba6-18f9-d252-697c-197f65578c44@redhat.com). 2. 当启用 use_zero_pages 时, 我们无法知道有多少页是 KSM 放置的零页, 这导致 KSM 对所有实际合并的页面不透明. 通过这个补丁集我们可以精确地取消共享零页 (ksm - 放置) 并计算 ksm 零页. | v1 ☐☑✓ | [2022/10/08 LORE v1,0/5](https://lore.kernel.org/all/20221008070156.308465-1-xu.xin16@zte.com.cn)<br>*-*-*-*-*-*-*-* <br>[2022/10/11 LORE v3,0/5](https://lore.kernel.org/all/20221011022006.322158-1-xu.xin16@zte.com.cn) |
| 2022/10/08 | xu.xin.sc@gmail.com <xu.xin.sc@gmail.com> | [ksm: support tracking KSM-placed zero-pages](https://lore.kernel.org/all/20221008070156.308465-1-xu.xin16@zte.com.cn) | 在使能 use_zero_pages 之前, ksm 的 pages_sharing 基本是准确的. 但是当启用 use_zero_pages 时, 所有与内核零页合并的空页都不会计算在 pages_sharing 或 pages_shared 中. 这是因为这些空页面被合并为零页面, KSM 不再管理这些页面, 这至少会导致两个问题: 1. MADV_UNMERGEABLE 和其他触发取消共享的方法将不会取消 KSM 放置的共享零页(这至少是违反 MADV_UNMERGEABLE 文档的), 参见[链接](https://lore.kernel.org/lkml/4a3daba6-18f9-d252-697c-197f65578c44@redhat.com). 2. 当启用 use_zero_pages 时, 我们无法知道有多少页是 KSM 放置的零页, 这导致 KSM 对所有实际合并的页面不透明. 通过这个补丁集我们可以精确地取消共享零页 (ksm - 放置) 并计算 ksm 零页. | v1 ☐☑✓ | [2022/10/08 LORE v1,0/5](https://lore.kernel.org/all/20221008070156.308465-1-xu.xin16@zte.com.cn)<br>*-*-*-*-*-*-*-* <br>[2022/10/11 LORE v3,0/5](https://lore.kernel.org/all/20221011022006.322158-1-xu.xin16@zte.com.cn)<br>*-*-*-*-*-*-*-* <br>[2022/12/26 LORE v4,0/6](https://lore.kernel.org/r/202212260959492929897@zte.com.cn) |
@@ -7130,6 +7140,7 @@ OS 判断如果是在用户态触发这个硬件内存错误时, 处理方式是
|:----:|:---:|:---:|:----:|:---------:|:----:|
| 2022/10/21 | Luck, Tony <tony.luck@intel.com> | [Copy-on-write poison recovery](https://patchwork.kernel.org/project/linux-mm/cover/20221021200120.175753-1-tony.luck@intel.com/) | 687657 | v3 ☐☑ | [LORE RFC](https://lore.kernel.org/all/20221017234203.103666-1-tony.luck@intel.com)<br>*-*-*-*-*-*-*-* <br>[]()<br>*-*-*-*-*-*-*-* <br>[LORE v3,0/2](https://lore.kernel.org/r/20221021200120.175753-1-tony.luck@intel.com) |
| 2021/03/18 | liubo <liubo254@huawei.com> | [arm64: ras: copy_from_user scenario support uce kernel recovery](https://gitee.com/openeuler/kernel/issues/I5GB28) | machine check safe 特性支持. | v1 ☐ 5.10 | [COMMIT](https://gitee.com/openeuler/kernel/commit/dcd1c6a940ae973d3bd2c99fa77cf590f2e58ad8) |
| 2022/12/19 | Tong Tiangen <tongtiangen@huawei.com> | [arm64: add machine check safe support](https://patchwork.kernel.org/project/linux-mm/cover/20221219120008.3818828-1-tongtiangen@huawei.com/) | 705578 | v8 ☐☑ | [LORE v8,0/4](https://lore.kernel.org/r/20221219120008.3818828-1-tongtiangen@huawei.com) |
## 14.3 Cross Memory Attach - 进程间快速消息传递
@@ -7202,6 +7213,7 @@ OS 判断如果是在用户态触发这个硬件内存错误时, 处理方式是
| 2021/08/13 | Xiongwei Song <sxwjean@gmail.com> | [Use generic code for randomization of virtual address of x86](https://patchwork.kernel.org/project/linux-mm/cover/20211011143150.318239-1-sxwjean@me.com) | ASLR 的重构. | v1 ☐ | [PatchWork v2,0/6](https://patchwork.kernel.org/project/linux-mm/cover/20211011143150.318239-1-sxwjean@me.com) |
| 2017/09/03 | Ard Biesheuvel <ard.biesheuvel@linaro.org> | [implement KASLR for ARM](https://lwn.net/Articles/732891) | ARM 支持 KASLR. | v1 ☐ | [LWN](https://lwn.net/Articles/732891)<br>*-*-*-*-*-*-*-* <br>[PatchWork v2,0/6](https://git.kernel.org/pub/scm/linux/kernel/git/ardb/linux.git/log/?h=arm-kaslr-latest) |
| 2016/01/26 | Ard Biesheuvel <ard.biesheuvel@linaro.org> | [arm64: implement support for KASLR](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/log/?id=2b5fe07a78a09a32002642b8a823428ade611f16) | 支持 ARM64 KASLR | v4 ☐☑✓ 4.6-rc1 | [LORE v4,0/22](https://lore.kernel.org/all/1453828249-14467-1-git-send-email-ard.biesheuvel@linaro.org) |
| 2022/12/27 | Liu Shixin <liushixin2@huawei.com> | [[RFC] arm64/vmalloc: use module region only for module_alloc() if CONFIG_RANDOMIZE_BASE is set](https://patchwork.kernel.org/project/linux-mm/patch/20221227092634.445212-1-liushixin2@huawei.com/) | 添加 10GB 设备后, 插入模块时 module_alloc 会失败. 如果设置了 CONFIG_RANDOMIZE_BASE, 则模块区域可以完全位于 vmalloc 区域中. 尽管如果设置了 ARM64_module_PLTS, module_alloc() 可以回退到 2GB 窗口, 但模块区域仍然很容易耗尽, 因为模块区域位于 vmalloc 区域的底部, 并且 vmalloc 区是从下到上分配的. 如果不是从 module_alloc() 调用, 则跳过模块区域. | v1 ☐☑ | [LORE v1,0/1](https://lore.kernel.org/r/20221227092634.445212-1-liushixin2@huawei.com) |
* 随机函数偏移(FGKASLR)
@@ -7257,7 +7269,7 @@ OS 判断如果是在用户态触发这个硬件内存错误时, 处理方式是
| 时间 | 作者 | 特性 | 描述 | 是否合入主线 | 链接 |
|:-----:|:----:|:----:|:----:|:------------:|:----:|
| 2022/01/30 | Edgecombe, Rick P <rick.p.edgecombe@intel.com> | [Shadow stacks for userspace](https://patchwork.kernel.org/project/linux-mm/cover/20220130211838.8382-1-rick.p.edgecombe@intel.com/) | 609893 | v1 ☐☑ | [PatchWork v1,0/35](https://lore.kernel.org/r/20220130211838.8382-1-rick.p.edgecombe@intel.com) |
| 2022/01/30 | Edgecombe, Rick P <rick.p.edgecombe@intel.com> | [Shadow stacks for userspace](https://patchwork.kernel.org/project/linux-mm/cover/20220130211838.8382-1-rick.p.edgecombe@intel.com) | 609893 | v1 ☐☑ | [PatchWork v1,0/35](https://lore.kernel.org/r/20220130211838.8382-1-rick.p.edgecombe@intel.com)<br>*-*-*-*-*-*-*-* <br>[LORE v2,0/39](https://lore.kernel.org/r/20220929222936.14584-1-rick.p.edgecombe@intel.com)<br>*-*-*-*-*-*-*-* <br>[LORE v3,0/37](https://lore.kernel.org/r/20221104223604.29615-1-rick.p.edgecombe@intel.com)<br>*-*-*-*-*-*-*-* <br>[LORE v4,0/39](https://lore.kernel.org/r/20221203003606.6838-1-rick.p.edgecombe@intel.com) |
@@ -7314,6 +7326,7 @@ OS 判断如果是在用户态触发这个硬件内存错误时, 处理方式是
| 时间 | 作者 | 特性 | 描述 | 是否合入主线 | 链接 |
|:----:|:----:|:---:|:----:|:---------:|:----:|
| 2021/08/10 | Anthony Yznaga <anthony.yznaga@oracle.com> | [x86: Impplement support for unaccepted memory](https://patchwork.kernel.org/project/linux-mm/cover/20210810062626.1012-1-kirill.shutemov@linux.intel.com) | UEFI规范 v2.9 引入了内存接受的概念, 一些虚拟机平台, 如Intel TDX或AMD SEV-SNP, 要求在来宾使用内存之前先接受内存, 并通过特定于虚拟机平台的协议进行接受.<br>接受内存成本很高, 这会使 VMM 为接受的来宾物理地址范围分配内存, 最好等到需要使用内存时再接受内存, 这可以减少启动时间并减少内存开销.<br>支持这种内存需要对核心 mm 代码进行少量更改:<br>1. memblock 必须在分配时接受内存;<br>2. 页面分配器必须在第一次分配页面时接受内存;<br>3. Memblock更改是微不足道的.<br>4. 页面分配器被修改为在第一次分配时接受页面.<br>5. PageOffline() 用于指示页面需要接受.<br>6. 热插拔和引出序号当前使用的标志, 这样的页面对页面分配器不可用.<br>如果一个体系结构想要支持不可接受的内存, 它必须提供三个助手:<br>1. accept_memory() 使一系列物理地址被接受;<br>2. 如果页面需要接受, 则通过 maybe_set_page_offline() 将页面标记为 PageOffline(), 在引导期间用于将页面放在空闲列表上.<br>3. clear_page_offline() 清除使页面被接受并清除 PageOffline(). | v1 ☐ | [PatchWork 0/5](https://patchwork.kernel.org/project/linux-mm/cover/20210810062626.1012-1-kirill.shutemov@linux.intel.com)<br>*-*-*-*-*-*-*-* <br>[LORE v1,00/12](https://lore.kernel.org/r/20220425033934.68551-1-kirill.shutemov@linux.intel.com) |
| 2022/12/07 | Kirill A. Shutemov <kirill.shutemov@linux.intel.com> | [mm, x86/cc: Implement support for unaccepted memory](https://patchwork.kernel.org/project/linux-mm/cover/20221207014933.8435-1-kirill.shutemov@linux.intel.com/) | 702371 | v1 ☐☑ | [LORE v1,0/14](https://lore.kernel.org/r/20221207014933.8435-1-kirill.shutemov@linux.intel.com) |
## 14.12 USERCOPY
+1 -1
View File
@@ -101,7 +101,7 @@
| 5.19 | NA | NA | NA |
| 6.0 | NA | NA | [Linux 6.0 Supporting New Intel/AMD Hardware, Performance Improvements & Much More](https://www.phoronix.com/review/linux-60-features), [6.0-rc1](https://www.phoronix.com/news/Linux-6.0-rc1-Released) |
| 6.1 | NA | NA | [Linux 6.1 Features Include Initial Rust Code, MGLRU, New AMD CPU Features, More Security](https://www.phoronix.com/review/linux-61-features), [The Most Interesting New Features For Linux 6.1](https://www.phoronix.com/news/Linux-6.1-Features) |
| 6.2 | NA | NA | [The Many New Features On The Horizon For Linux 6.2](https://www.phoronix.com/news/Linux-6.2-Early-Features) |
| 6.2 | NA | NA | [The Many New Features On The Horizon For Linux 6.2](https://www.phoronix.com/news/Linux-6.2-Early-Features)<br>*-*-*-*-*-*-*-* <br>[Linux 6.2-rc1 Brings Stable Intel Arc Graphics, Call Depth Tracking & Many More Features](https://www.phoronix.com/news/Linux-6.2-rc1-Released) |
# 6 业界会议
-------
@@ -102,6 +102,7 @@ https://www.phoronix.com/scan.php?page=news_item&px=UDP-IPV6-5P-Optimization
| 时间 | 作者 | 特性 | 描述 | 是否合入主线 | 链接 |
|:----:|:----:|:---:|:----:|:---------:|:----:|
| 2021/08/03 | Peter Oskolkov <posk@google.com> | [thread_info: use helpers to snapshot thread flags](https://lwn.net/Articles/722293) | 参见报道 [Linux 5.17 To Continue With I/O Optimizations, 5~6% Improvement Pending For NVMe](https://www.phoronix.com/scan.php?page=news_item&px=Linux-5.17-Will-Continue-IO) | v1 ☐ | [PatchWork v4,00/10](https://lore.kernel.org/patchwork/cover/1471548) |
| 2022/12/18 | Eric Van Hensbergen <evanhensbergen@icloud.com> | [Performance fixes for 9p filesystem](https://lore.kernel.org/all/20221218232217.1713283-1-evanhensbergen@icloud.com) | [New Patches Aim To Boost Linux 9p Performance By ~10x](https://www.phoronix.com/news/Linux-9p-10x-Performance) | v2 ☐☑✓ | [LORE v2,0/10](https://lore.kernel.org/all/20221218232217.1713283-1-evanhensbergen@icloud.com) |
# 5 ARCH
+16 -1
View File
@@ -535,6 +535,20 @@ linux 调度器定义了多个调度类, 不同调度类的调度优先级不同
### 1.5.4 SMT
-------
| 资料 | 描述 |
|:---:|:----:|
| [同时多线程](https://zh.alegsaonline.com/art/90586) | 一句话介绍 交错式多线程 (IMT), 同步多线程 (SMT), 芯片级多处理 (CMP 或多核处理器) |
| [超能课堂 (104)-- 超线程 / SMT 多线程技术有什么用?](https://www.expreview.com/56674.html) | 简单介绍了 SMT 的工作原理 |
| [说一说超线程 / 同步多线程(HT/SMT)技术那些事儿](https://zhuanlan.zhihu.com/p/352676442) | SMT 一些疑惑解答 |
| [被误解的 CPU 利用率、超线程、动态调频 —— CPU 性能之迷 Part 1](https://zhuanlan.zhihu.com/p/534119705) | 介绍了 ITMT 3.0 以及 SMT 技术 |
| [曲速未来 揭露:新的 PortSmash 超线程 CPU Vuln 可以窃取解密密钥](https://zhuanlan.zhihu.com/p/48625343) | PortSmash 漏洞 (CVE-2018-5407), 该漏洞使用定时攻击来窃取来自同一 CPU 核心中运行 SMT / 超线程的其他进程的信息 |
| [超线程技术究竟好不好?](https://www.zhihu.com/question/290385913) | NA |
| [超威半导体(AMD)的超线程技术和英特尔(Intel)的超线程技术有差别吗?](https://www.zhihu.com/question/350083255) | NA |
| [CPU的超线程技术提升IPC吗?](https://www.zhihu.com/question/404826890), [关于SMT的性能收益](https://zhuanlan.zhihu.com/p/164603076) | NA |
| [超线程的两个线程资源是动态分配的还是固定一半一半的?](https://www.zhihu.com/question/59721493) | NA |
| [英特尔超线程技术](https://baike.baidu.com/item/英特尔超线程技术/10233952) | NA |
| [为什么cinebench r15和r20在CPU满载渲染时超线程可以显著提高跑分?](https://www.zhihu.com/question/319200765/answer/646240231) | 介绍了 TOPDOWN 以及 Intel Vtune 工具 |
#### 1.5.4.1 SMT aware
-------
@@ -1934,7 +1948,7 @@ update_blocked_averages() 在多个场景都被发现成为非常严重的性能
|:----:|:----:|:---:|:---:|:----------:|:----:|
| 2021/06/02 | Valentin Schneider <valentin.schneider@arm.com> | [sched/fair: Active balancer RT/DL preemption fix](https://lore.kernel.org/patchwork/patch/1115663) | NA | v2 ☐ | [PatchWork v1](https://lore.kernel.org/patchwork/patch/1115663) |
| 2021/06/02 | Yafang Shao <laoar.shao@gmail.com> | [sched, fair: try to prevent migration thread from preempting non-cfs task](https://lore.kernel.org/patchwork/patch/1440172) | 规避问题 [a race between active_load_balance and sched_switch](https://lkml.org/lkml/2021/6/14/204) | v1 ☐ | [PatchWork v1 old](https://lore.kernel.org/patchwork/patch/1440172), [PatchWork v1](https://lore.kernel.org/patchwork/patch/1446860) |
| 2021/06/02 | Yafang Shao <laoar.shao@gmail.com> | [sched: Introduce cfs_migration](https://lore.kernel.org/all/20211104145713.4419-1-laoar.shao@gmail.com) | 实现了 per-cpu 的 FIFO 进程 cfs_migration 替代原来的 migration stopper 进程, 在 CFS active load balance 迁移当前进程时使用, 这样如果当前进程已经切换到 RT 进程就不会进行抢占. 从而解决该问题. | RFC ☐ | [LORE 0/4](https://lore.kernel.org/all/20211104145713.4419-1-laoar.shao@gmail.com) |
| 2021/11/04 | Yafang Shao <laoar.shao@gmail.com> | [sched: Introduce cfs_migration](https://lore.kernel.org/all/20211104145713.4419-1-laoar.shao@gmail.com) | 实现了 per-cpu 的 FIFO 进程 cfs_migration 替代原来的 migration stopper 进程, 在 CFS active load balance 迁移当前进程时使用, 这样如果当前进程已经切换到 RT 进程就不会进行抢占. 从而解决该问题. | RFC ☐ | [LORE 0/4](https://lore.kernel.org/all/20211104145713.4419-1-laoar.shao@gmail.com) |
@@ -5443,6 +5457,7 @@ PREEMPT-RT PATCH 的核心思想是最小化内核中不可抢占部分的代码
|:----:|:----:|:---:|:----:|:---------:|:----:|
| 2019/07/17 | Thomas Gleixner <tglx@linutronix.de> | [Kconfig: Introduce CONFIG_PREEMPT_RT](https://lore.kernel.org/all/alpine.DEB.2.21.1907172200190.1778@nanos.tec.linutronix.de) | 在抢占菜单中添加一个新条目 PREEMPT_RT, 以支持内核的实时支持. 该选项仅在体系结构支持时启用. 它选择抢占, 因为 RT 特性依赖于它. 为了实现将现有的 PREEMPT 选项重命名为 `PREEMPT_LL`, 该选项也会选择 PREEMPT. 没有功能上的改变. | v2 ☐☑✓ | [LORE v2,0/1](https://lore.kernel.org/all/alpine.DEB.2.21.1907172200190.1778@nanos.tec.linutronix.de) |
| 2019/7/15 | Thomas Gleixner <tglx@linutronix.de> | [locking, sched: The PREEMPT-RT locking infrastructure](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/log/?id=026659b9774e4c586baeb457557fcfc4e0ad144b) | PREEMPT_RT 的基础支持, 完成了锁语义的转换. 在支持 PREEMPT-RT 的内核中, 以下锁被基于 RT Mutex 的变体替换: mutex, ww_mutex, rw_semaphore, spinlock, rwlock. 但是 semaphores 没有被修改, 因为它并不严格提供 owner 的语义. raw_spinlocks 也没有被修改, 因为它被用在保护调度器、定时器和硬件访问中的低级别操作中. | v1 ☑ 5.3-rc1 | [LORE v5,00/72](https://lore.kernel.org/all/20210815203225.710392609@linutronix.de)<br>*-*-*-*-*-*-*-* <br>[LKML](https://lkml.org/lkml/2019/7/15/1386) |
| 2022/12/19 | Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> | [PM: Fixes for Realtime systems](https://lore.kernel.org/all/20221219151503.385816-1-krzysztof.kozlowski@linaro.org) | TODO | v2 ☐☑✓ | [LORE v2,0/5](https://lore.kernel.org/all/20221219151503.385816-1-krzysztof.kozlowski@linaro.org) |
### 8.7.1 Migrate disable support && kmap_local
+80 -24
View File
@@ -13,14 +13,6 @@ https://lore.kernel.org/patchwork/patch/616611
https://lore.kernel.org/patchwork/project/lkml/list/?submitter=13305
[AMD Posts "P-State EPP" Driver As New Attempt To Improve Performance-Per-Watt On Linux](https://www.phoronix.com/news/AMD-P-State-EPP-Linux)
[Ubuntu 22.10 Bringing Some Performance Uplift For Intel Xeon Scalable](https://www.phoronix.com/review/ubuntu2210-early-icelake)
https://www.phoronix.com/news/VMware-Linux-5.19-ESXi-Retbleed
| 2022/08/19 | Alexei Starovoitov <alexei.starovoitov@gmail.com> | [bpf: BPF specific memory allocator.](https://patchwork.kernel.org/project/linux-mm/cover/20220819214232.18784-1-alexei.starovoitov@gmail.com/) | 669364 | v3 ☐☑ | [LORE v3,0/15](https://lore.kernel.org/r/20220819214232.18784-1-alexei.starovoitov@gmail.com)<br>*-*-*-*-*-*-*-* <br>[LORE v4,0/15](https://lore.kernel.org/r/20220826024430.84565-1-alexei.starovoitov@gmail.com)<br>*-*-*-*-*-*-*-* <br>[LORE v5,0/15](https://lore.kernel.org/r/20220901161547.57722-1-alexei.starovoitov@gmail.com)<br>*-*-*-*-*-*-*-* <br>[LORE v6,0/16](https://lore.kernel.org/r/20220902211058.60789-1-alexei.starovoitov@gmail.com) |
| 2022/09/02 | Yafang Shao <laoar.shao@gmail.com> | [bpf: Introduce selectable memcg for bpf map](https://patchwork.kernel.org/project/linux-mm/cover/20220902023003.47124-1-laoar.shao@gmail.com/) | 673444 | v3 ☐☑ | [LORE v3,0/13](https://lore.kernel.org/r/20220902023003.47124-1-laoar.shao@gmail.com) |
@@ -31,11 +23,6 @@ https://www.phoronix.com/news/VMware-Linux-5.19-ESXi-Retbleed
| 2022/09/13 | Doug Berger <opendmb@gmail.com> | [mm: introduce Designated Movable Blocks](https://patchwork.kernel.org/project/linux-mm/cover/20220913195508.3511038-1-opendmb@gmail.com/) | 676674 | v1 ☐☑ | [LORE v1,0/21](https://lore.kernel.org/r/20220913195508.3511038-1-opendmb@gmail.com) |
| 2022/09/22 | Mathieu Desnoyers <mathieu.desnoyers@efficios.com> | [RSEQ node id and virtual CPU id extensions](https://lore.kernel.org/all/20220922105941.237830-1-mathieu.desnoyers@efficios.com) | TODO |v4 ☐☑✓ | [LORE v4,0/25](https://lore.kernel.org/all/20220922105941.237830-1-mathieu.desnoyers@efficios.com) |
[Linux RSEQ Patches Updated For Allowing Faster getCPU () In C Libraries](https://www.phoronix.com/news/Linux-RSEQ-Faster-getCPU)
@@ -45,9 +32,8 @@ https://www.phoronix.com/news/VMware-Linux-5.19-ESXi-Retbleed
| 2022/09/26 | Zhongkun He <hezhongkun.hzk@bytedance.com> | [[RFC] proc: Add a new isolated /proc/pid/mempolicy type.](https://patchwork.kernel.org/project/linux-mm/patch/20220926091033.340-1-hezhongkun.hzk@bytedance.com/) | 680392 | v1 ☐☑ | [LORE v1,0/1](https://lore.kernel.org/r/20220926091033.340-1-hezhongkun.hzk@bytedance.com) |
| 2022/09/26 | David Hildenbrand <david@redhat.com> | [mm/autonuma: replace savedwrite infrastructure](https://patchwork.kernel.org/project/linux-mm/cover/20220926152618.194810-1-david@redhat.com/) | 680555 | v1 ☐☑ | [LORE v1,0/5](https://lore.kernel.org/r/20220926152618.194810-1-david@redhat.com) |
| 2022/09/26 | David Hildenbrand <david@redhat.com> | [mm/autonuma: replace savedwrite infrastructure](https://patchwork.kernel.org/project/linux-mm/cover/20220926152618.194810-1-david@redhat.com) | 680555 | v1 ☐☑ | [LORE v1,0/5](https://lore.kernel.org/r/20220926152618.194810-1-david@redhat.com) |
| 2022/09/29 | Edgecombe, Rick P <rick.p.edgecombe@intel.com> | [Shadowstacks for userspace](https://patchwork.kernel.org/project/linux-mm/cover/20220929222936.14584-1-rick.p.edgecombe@intel.com/) | 682068 | v2 ☐☑ | [LORE v2,0/39](https://lore.kernel.org/r/20220929222936.14584-1-rick.p.edgecombe@intel.com) |
| 2022/09/29 | Shradha Gupta <shradhagupta@linux.microsoft.com> | [Configurable order free page reporting in hyper-v](https://patchwork.kernel.org/project/linux-mm/cover/1664447081-14744-1-git-send-email-shradhagupta@linux.microsoft.com/) | 681863 | v1 ☐☑ | [LORE v1,0/2](https://lore.kernel.org/r/1664447081-14744-1-git-send-email-shradhagupta@linux.microsoft.com) |
| 2022/10/04 | Yosry Ahmed <yosryahmed@google.com> | [mm/vmscan: check references from all memcgs for swapbacked memory](https://patchwork.kernel.org/project/linux-mm/patch/20221004233446.787056-1-yosryahmed@google.com/) | 683116 | v1 ☐☑ | [LORE v1,0/1](https://lore.kernel.org/r/20221004233446.787056-1-yosryahmed@google.com) |
@@ -96,8 +82,6 @@ https://lkml.org/lkml/2021/3/16/546
| 2022/10/26 | Joey Gouly <joey.gouly@arm.com> | [mm: In-kernel support for memory-deny-write-execute (MDWE)](https://patchwork.kernel.org/project/linux-mm/cover/20221026150457.36957-1-joey.gouly@arm.com/) | 689074 | v1 ☐☑ | [LORE RFC,0/4](https://lore.kernel.org/linux-arm-kernel/20220413134946.2732468-1-catalin.marinas@arm.com)<br>*-*-*-*-*-*-*-* <br>[LORE v1,0/2](https://lore.kernel.org/r/20221026150457.36957-1-joey.gouly@arm.com) |
@@ -117,27 +101,32 @@ https://lkml.org/lkml/2021/3/16/546
[Call Depth Tracking Coming To Linux 6.2 To Help Recover Performance On Skylake-Era CPUs](https://www.phoronix.com/news/Call-Depth-Tracking-Linux-6.2)
khugepage_code 将选择命中率最高的节点作为首选节点, 并尝试在多个节点具有相同命中率记录的情况下进行一些平衡. 基本上它在概念上是这样的:
* 如果目标节点 <= last_target_node, 则从 last_target_node + 1 迭代到 MAX_NUMNODES(默认配置为 1024)* 如果 max_value == node_load[nid], 则 target_node = nid
但也存在一种极端情况, 特别是对于 MADV_COLLAPSE, 不存在的结点可以作为首选结点返回.
假设系统有 2 个节点, target_node 为 0,last_target_node 为 1, 如果命中 MADV_COLLAPSE 路径, max_value 可能为 0, 那么它可能为 target_node 返回 2, 但实际上它不存在 (离线), 因此触发警告.
节点均衡是由 commit 9f1b868a13ac("mm: thp:
Khugepaged: 添加查找目标节点的策略") 以满足 "numactl—interleave=all". 但交叉只是一种暗示, 并没有什么硬性要求.
因此, 使用 nodemask 来记录具有相同命中记录的节点, 巨大的页面分配可能会回退到这些节点. 并删除__GFP_THISNODE, 因为它不允许回退. 如果 nodemask 为空 (没有设置节点), 这意味着只有一个节点的历史记录最多, nodemask 方法实际上类似于 `__GFP_THISNODE`.
| 2022/11/03 | Muhammad Usama Anjum <usama.anjum@collabora.com> | [Implement IOCTL to get and/or the clear info about PTEs](https://patchwork.kernel.org/project/linux-mm/cover/20221103100736.2356351-1-usama.anjum@collabora.com/) | 691588 | v4 ☐☑ | [LORE v4,0/3](https://lore.kernel.org/r/20221103100736.2356351-1-usama.anjum@collabora.com)<br>*-*-*-*-*-*-*-* <br>[LORE v6,0/3](https://lore.kernel.org/r/20221109102303.851281-1-usama.anjum@collabora.com) |
| 2022/11/03 | Yang Shi <shy828301@gmail.com> | [[v2,1/2] mm: khugepaged: allow page allocation fallback to eligible nodes](https://patchwork.kernel.org/project/linux-mm/patch/20221103213641.7296-1-shy828301@gmail.com/) | 691842 | v2 ☐☑ | [LORE v2,0/2](https://lore.kernel.org/r/20221103213641.7296-1-shy828301@gmail.com) |
| 2022/11/04 | zhaoyang.huang <zhaoyang.huang@unisoc.com> | [[RFC] mm: introduce object accounting via backtrace on slub](https://patchwork.kernel.org/project/linux-mm/patch/1667550838-10639-1-git-send-email-zhaoyang.huang@unisoc.com/) | 692001 | v1 ☐☑ | [LORE v1,0/1](https://lore.kernel.org/r/1667550838-10639-1-git-send-email-zhaoyang.huang@unisoc.com) |
| 2022/11/04 | Ananda Badmaev <a.badmaev@clicknet.pro> | [[v6] mm: add zblock - new allocator for use via zpool API](https://patchwork.kernel.org/project/linux-mm/patch/20221104085856.18745-1-a.badmaev@clicknet.pro/) | 692004 | v6 ☐☑ | [LORE v6,0/1](https://lore.kernel.org/r/20221104085856.18745-1-a.badmaev@clicknet.pro) |
| 2022/11/04 | Edgecombe, Rick P <rick.p.edgecombe@intel.com> | [Shadow stacks for userspace](https://patchwork.kernel.org/project/linux-mm/cover/20221104223604.29615-1-rick.p.edgecombe@intel.com/) | 692293 | v3 ☐☑ | [LORE v3,0/37](https://lore.kernel.org/r/20221104223604.29615-1-rick.p.edgecombe@intel.com) |
| 2022/11/07 | Kirill A. Shutemov <kirill.shutemov@linux.intel.com> | [[PATCHv11.1,04/16] x86/mm: Handle LAM on context switch](https://patchwork.kernel.org/project/linux-mm/patch/20221107213558.27807-1-kirill.shutemov@linux.intel.com/) | 692964 | v1 ☐☑ | [LORE v1,0/16](https://lore.kernel.org/r/20221107213558.27807-1-kirill.shutemov@linux.intel.com) |
| 2022/11/07 | Song Liu <song@kernel.org> | [execmem_alloc for BPF programs](https://patchwork.kernel.org/project/linux-mm/cover/20221107223921.3451913-1-song@kernel.org/) | 692973 | v2 ☐☑ | [LORE v2,0/5](https://lore.kernel.org/r/20221107223921.3451913-1-song@kernel.org)[LORE v4,0/6](https://lore.kernel.org/r/20221117202322.944661-1-song@kernel.org)<br>*-*-*-*-*-*-*-* <br>[LORE v5,0/6](https://lore.kernel.org/r/20221128190245.2337461-1-song@kernel.org) |
| 2022/11/08 | Lukas Czerner <lczerner@redhat.com> | [shmem: user and group quota support for tmpfs](https://patchwork.kernel.org/project/linux-mm/cover/20221108133010.75226-1-lczerner@redhat.com/) | 693244 | v1 ☐☑ | [LORE v1,0/2](https://lore.kernel.org/r/20221108133010.75226-1-lczerner@redhat.com)<br>*-*-*-*-*-*-*-* <br>[LORE v2,0/3](https://lore.kernel.org/r/20221121142854.91109-1-lczerner@redhat.com) |
| 2022/11/08 | Linus Torvalds <torvalds@linux-foundation.org> | [[1/4] mm: introduce 'encoded' page pointers with embedded extra bits](https://patchwork.kernel.org/project/linux-mm/patch/20221108194139.57604-1-torvalds@linux-foundation.org/) | 693373 | v1 ☐☑ | [LORE v1,0/4](https://lore.kernel.org/r/20221108194139.57604-1-torvalds@linux-foundation.org)<br>*-*-*-*-*-*-*-* <br>[LORE v1,0/4](https://lore.kernel.org/r/20221109203051.1835763-1-torvalds@linux-foundation.org) |
| 2022/11/09 | Baoquan He <bhe@redhat.com> | [mm/vmalloc.c: allow vread() to read out vm_map_ram areas](https://patchwork.kernel.org/project/linux-mm/cover/20221109033535.269229-1-bhe@redhat.com/) | 693476 | v1 ☐☑ | [LORE v1,0/3](https://lore.kernel.org/r/20221109033535.269229-1-bhe@redhat.com) |
| 2022/11/09 | Chao Xu <amos.xuchao@gmail.com> | [mm/vmscan: simplify the nr assignment logic for pages to scan](https://patchwork.kernel.org/project/linux-mm/patch/20221109070416.620887-1-Chao.Xu9@zeekrlife.com/) | 693511 | v1 ☐☑ | [LORE v1,0/1](https://lore.kernel.org/r/20221109070416.620887-1-Chao.Xu9@zeekrlife.com)<br>*-*-*-*-*-*-*-* <br>[LORE v2,0/1](https://lore.kernel.org/r/20221110113130.284290-1-Chao.Xu9@zeekrlife.com) |
| 2022/11/09 | Joao Martins <joao.m.martins@oracle.com> | [[v3] mm/hugetlb_vmemmap: remap head page to newly allocated page](https://patchwork.kernel.org/project/linux-mm/patch/20221109200623.96867-1-joao.m.martins@oracle.com/) | 693796 | v3 ☐☑ | [LORE v3,0/1](https://lore.kernel.org/r/20221109200623.96867-1-joao.m.martins@oracle.com)<br>*-*-*-*-*-*-*-* <br>[LORE v4,0/1](https://lore.kernel.org/r/20221110121214.6297-1-joao.m.martins@oracle.com|
| 2022/11/10 | Lu Jialin <lujialin4@huawei.com> | [mm/memcontrol.c: drains percpu charge caches in memory.reclaim](https://patchwork.kernel.org/project/linux-mm/patch/20221110065316.67204-1-lujialin4@huawei.com/) | 693926 | v1 ☐☑ | [LORE v1,0/1](https://lore.kernel.org/r/20221110065316.67204-1-lujialin4@huawei.com) |
| 2022/11/15 | Nhat Pham <nphamcs@gmail.com> | [cachestat: a new syscall for page cache state of files](https://patchwork.kernel.org/project/linux-mm/cover/20221115182901.2755368-1-nphamcs@gmail.com/) | 695661 | v1 ☐☑ | [LORE v1,0/4](https://lore.kernel.org/r/20221115182901.2755368-1-nphamcs@gmail.com) |
| 2022/11/17 | Song Liu <song@kernel.org> | [execmem_alloc for BPF programs](https://patchwork.kernel.org/project/linux-mm/cover/20221117202322.944661-1-song@kernel.org/) | 696625 | v4 ☐☑ | |
| 2022/11/19 | Ananda Badmaev <a.badmaev@clicknet.pro> | [[v7] mm: add zblock - new allocator for use via zpool API](https://patchwork.kernel.org/project/linux-mm/patch/20221119082159.63636-1-a.badmaev@clicknet.pro/) | 697232 | v7 ☐☑ | [LORE v7,0/1](https://lore.kernel.org/r/20221119082159.63636-1-a.badmaev@clicknet.pro)<br>*-*-*-*-*-*-*-* <br>[LORE v8,0/1](https://lore.kernel.org/r/20221121145435.41002-1-a.badmaev@clicknet.pro) |
| 2022/11/19 | Ananda Badmaev <a.badmaev@clicknet.pro> | [mm: add zblock - new allocator for use via zpool API](https://patchwork.kernel.org/project/linux-mm/patch/20221119082159.63636-1-a.badmaev@clicknet.pro/) | 697232 | v7 ☐☑ | [LORE v6,0/1](https://lore.kernel.org/r/20221104085856.18745-1-a.badmaev@clicknet.pro)<br>*-*-*-*-*-*-*-* <br>[LORE v9,0/1](https://lore.kernel.org/r/20221202040110.14291-1-a.badmaev@clicknet.pro)[LORE v7,0/1](https://lore.kernel.org/r/20221119082159.63636-1-a.badmaev@clicknet.pro)<br>*-*-*-*-*-*-*-* <br>[LORE v8,0/1](https://lore.kernel.org/r/20221121145435.41002-1-a.badmaev@clicknet.pro) |
| 2022/11/21 | Vlastimil Babka <vbabka@suse.cz> | [Introduce CONFIG_SLUB_TINY and deprecate SLOB](https://patchwork.kernel.org/project/linux-mm/cover/20221121171202.22080-1-vbabka@suse.cz/)| 697743 | v1 ☐☑ | [LORE v1,0/12](https://lore.kernel.org/r/20221121171202.22080-1-vbabka@suse.cz) |
| 2022/11/21 | Aleksey Romanov <avromanov@sberdevices.ru> | [Introduce merge identical pages mechanism](https://patchwork.kernel.org/project/linux-mm/cover/20221121190020.66548-1-avromanov@sberdevices.ru/) | 697795 | v1 ☐☑ | [LORE v1,0/4](https://lore.kernel.org/r/20221121190020.66548-1-avromanov@sberdevices.ru) |
| 2022/11/22 | Mina Almasry <almasrymina@google.com> | [[RFC,V1] mm: Disable demotion from proactive reclaim](https://patchwork.kernel.org/project/linux-mm/patch/20221122203850.2765015-1-almasrymina@google.com/) | 698228 | v1 ☐☑ | [LORE v1,0/1](https://lore.kernel.org/r/20221122203850.2765015-1-almasrymina@google.com) |
| 2022/11/22 | Mina Almasry <almasrymina@google.com> | [[RFC,v1] mm: Add memory.demote for proactive demotion only](https://patchwork.kernel.org/project/linux-mm/patch/20221122203850.2765015-2-almasrymina@google.com/) | 698229 | v1 ☐☑ | [LORE v1,0/1](https://lore.kernel.org/r/20221122203850.2765015-2-almasrymina@google.com) |
| 2022/11/24 | Jiasheng Jiang <jiasheng@iscas.ac.cn> | [mm/vmalloc: Add check for KMEM_CACHE](https://patchwork.kernel.org/project/linux-mm/patch/20221124040226.17953-1-jiasheng@iscas.ac.cn/) | 698747 | v1 ☐☑ | [LORE v1,0/1](https://lore.kernel.org/r/20221124040226.17953-1-jiasheng@iscas.ac.cn) |
| 2022/11/25 | Peter Xu <peterx@redhat.com> | [mm/thp: Re-apply mkdirty for small pages after split](https://patchwork.kernel.org/project/linux-mm/patch/20221125185857.3110155-1-peterx@redhat.com/) | 699295 | v1 ☐☑ | [LORE v1,0/1](https://lore.kernel.org/r/20221125185857.3110155-1-peterx@redhat.com) |
@@ -147,3 +136,70 @@ https://lkml.org/lkml/2021/3/16/546
| 2022/11/29 | Liam Howlett <Liam.Howlett@Oracle.com> | [VMA type safety through VMA iterator](https://patchwork.kernel.org/project/linux-mm/cover/20221129164352.3374638-1-Liam.Howlett@oracle.com/) | 700163 | v1 ☐☑ | [LORE v1,0/43](https://lore.kernel.org/r/20221129164352.3374638-1-Liam.Howlett@oracle.com) |
| 2022/11/30 | <ye.xingchen@zte.com.cn> | [mm/huge_memory: add TRANSPARENT_HUGEPAGE_NEVER for THP](https://patchwork.kernel.org/project/linux-mm/patch/202211301651462590168@zte.com.cn/) | 700357 | v1 ☐☑ | [LORE v1,0/1](https://lore.kernel.org/r/202211301651462590168@zte.com.cn) |
| 2022/11/30 | Matthew Wilcox <willy@infradead.org> | [Split page pools from struct page](https://patchwork.kernel.org/project/linux-mm/cover/20221130220803.3657490-1-willy@infradead.org/) | 700614 | v1 ☐☑ | [LORE v1,0/24](https://lore.kernel.org/r/20221130220803.3657490-1-willy@infradead.org) |
| 2022/12/01 | Mina Almasry <almasrymina@google.com> | [[v1] mm: disable top-tier fallback to reclaim on proactive reclaim](https://patchwork.kernel.org/project/linux-mm/patch/20221201233317.1394958-1-almasrymina@google.com/) | 701011 | v1 ☐☑ | [LORE v1,0/1](https://lore.kernel.org/r/20221201233317.1394958-1-almasrymina@google.com) |
| 2022/12/02 | Alistair Popple <apopple@nvidia.com> | [mm/mmap: Properly unaccount memory on mas_preallocate() failure](https://patchwork.kernel.org/project/linux-mm/patch/20221202045339.2999017-1-apopple@nvidia.com/) | 701081 | v1 ☐☑ | [LORE v1,0/1](https://lore.kernel.org/r/20221202045339.2999017-1-apopple@nvidia.com) |
| 2022/12/02 | David Hildenbrand <david@redhat.com> | [[RFC] mm/userfaultfd: enable writenotify while userfaultfd-wp is enabled for a VMA](https://patchwork.kernel.org/project/linux-mm/patch/20221202122748.113774-1-david@redhat.com/) | 701236 | v1 ☐☑ | [LORE v1,0/1](https://lore.kernel.org/r/20221202122748.113774-1-david@redhat.com) |
| 2022/12/02 | Brian Foster <bfoster@redhat.com> | [proc: improve root readdir latency with many threads](https://patchwork.kernel.org/project/linux-mm/cover/20221202171620.509140-1-bfoster@redhat.com/) | 701317 | v3 ☐☑ | [LORE v3,0/5](https://lore.kernel.org/r/20221202171620.509140-1-bfoster@redhat.com) |
| 2022/11/09 | Baoquan He <bhe@redhat.com> | [mm/vmalloc.c: allow vread() to read out vm_map_ram areas](https://patchwork.kernel.org/project/linux-mm/cover/20221109033535.269229-1-bhe@redhat.com/) | 693476 | v1 ☐☑ | [LORE v1,0/3](https://lore.kernel.org/r/20221109033535.269229-1-bhe@redhat.com)<br>*-*-*-*-*-*-*-* <br>[LORE v1,0/7](https://lore.kernel.org/r/20221204013046.154960-1-bhe@redhat.com) |
| 2022/12/05 | Li,Rongqing <lirongqing@baidu.com> | [mm: memcontrol: speedup memory cgroup resize](https://patchwork.kernel.org/project/linux-mm/patch/1670240992-28563-1-git-send-email-lirongqing@baidu.com/) | 701772 | v1 ☐☑ | [LORE v1,0/1](https://lore.kernel.org/r/1670240992-28563-1-git-send-email-lirongqing@baidu.com) |
| 2022/12/05 | Stephen Boyd <swboyd@chromium.org> | [pstore: Avoid kcore oops by vmap()ing with VM_IOREMAP](https://patchwork.kernel.org/project/linux-mm/patch/20221205233136.3420802-1-swboyd@chromium.org/) | 702003 | v1 ☐☑ | [LORE v1,0/1](https://lore.kernel.org/r/20221205233136.3420802-1-swboyd@chromium.org) |
| 2022/12/06 | Fabio M. De Francesco <fmdefrancesco@gmail.com> | [mm/highmem: Add notes about conversions from kmap{,_atomic}()](https://patchwork.kernel.org/project/linux-mm/patch/20221206070029.7342-1-fmdefrancesco@gmail.com/) | 702076 | v1 ☐☑ | [LORE v1,0/1](https://lore.kernel.org/r/20221206070029.7342-1-fmdefrancesco@gmail.com)<br>*-*-*-*-*-*-*-* <br>[LORE v2,0/1](https://lore.kernel.org/r/20221207225308.8290-1-fmdefrancesco@gmail.com) |
| 2022/12/06 | David Hildenbrand <david@redhat.com> | [mm: support `__HAVE_ARCH_PTE_SWP_EXCLUSIVE` on all architectures with swap PTEs](https://patchwork.kernel.org/project/linux-mm/cover/20221206144730.163732-1-david@redhat.com/) | 702222 | v1 ☐☑ | [LORE v1,0/26](https://lore.kernel.org/r/20221206144730.163732-1-david@redhat.com) |
| 2022/12/06 | Nico Pache <npache@redhat.com> | [[RFC] vmscan: Scale file_is_tiny calculation based on priority](https://patchwork.kernel.org/project/linux-mm/patch/20221206222315.37631-1-npache@redhat.com/) | 702319 | v1 ☐☑ | [LORE v1,0/1](https://lore.kernel.org/r/20221206222315.37631-1-npache@redhat.com) |
| 2022/12/07 | Vishal Moola (Oracle) <vishal.moola@gmail.com> | [Convert deactivate_page() to deactivate_folio()](https://patchwork.kernel.org/project/linux-mm/cover/20221207002158.418789-1-vishal.moola@gmail.com/) | 702344 | v1 ☐☑ | [LORE v1,0/3](https://lore.kernel.org/r/20221207002158.418789-1-vishal.moola@gmail.com) |
| 2022/12/07 | Kefeng Wang <wangkefeng.wang@huawei.com> | [[1/2] mm: huge_memory: Convert madvise_free_huge_pmd to use a folio](https://patchwork.kernel.org/project/linux-mm/patch/20221207023431.151008-1-wangkefeng.wang@huawei.com/) | 702384 | v1 ☐☑ | [LORE v1,0/2](https://lore.kernel.org/r/20221207023431.151008-1-wangkefeng.wang@huawei.com) |
| 2022/12/08 | chengkaitao <pilgrimtao@gmail.com> | [[v2] mm: memcontrol: protect the memory in cgroup from being oom killed](https://patchwork.kernel.org/project/linux-mm/patch/20221208034644.3077-1-chengkaitao@didiglobal.com/) | 702809 | v2 ☐☑ | [LORE v2,0/1](https://lore.kernel.org/r/20221208034644.3077-1-chengkaitao@didiglobal.com) |
| 2022/12/08 | David Hildenbrand <david@redhat.com> | [[v1] mm/userfaultfd: enable writenotify while userfaultfd-wp is enabled for a VMA](https://patchwork.kernel.org/project/linux-mm/patch/20221208114137.35035-1-david@redhat.com/) | 702923 | v1 ☐☑ | [LORE v1,0/1](https://lore.kernel.org/r/20221208114137.35035-1-david@redhat.com)<br>*-*-*-*-*-*-*-* <br>[LORE v2,0/1](https://lore.kernel.org/r/20221209080912.7968-1-david@redhat.com) |
| 2022/12/08 | Wenchao Hao <haowenchao@huawei.com> | [cma:tracing: Print alloc result in trace_cma_alloc_finish](https://patchwork.kernel.org/project/linux-mm/patch/20221208142130.1501195-1-haowenchao@huawei.com/) | 702989 | v1 ☐☑ | [LORE v1,0/1](https://lore.kernel.org/r/20221208142130.1501195-1-haowenchao@huawei.com) |
| 2022/12/08 | Peter Xu <peterx@redhat.com> | [mm/uffd: Always wr-protect pte in pte|pmd_mkuffd_wp()](https://patchwork.kernel.org/project/linux-mm/patch/20221208194628.766316-1-peterx@redhat.com/) | 703082 | v1 ☐☑ | [LORE v1,0/1](https://lore.kernel.org/r/20221208194628.766316-1-peterx@redhat.com) |
| 2022/12/09 | Xander <xandermoerkerken@gmail.com> | [Added ability to vmalloc executable memory](https://patchwork.kernel.org/project/linux-mm/patch/20221209131052.64235-1-xander.moerkerken@omron.com/) | 703287 | v1 ☐☑ | [LORE v1,0/1](https://lore.kernel.org/r/20221209131052.64235-1-xander.moerkerken@omron.com) |
| 2022/12/09 | Nhat Pham <nphamcs@gmail.com> | [[v3,2/4] workingset: refactor LRU refault to expose refault recency check](https://patchwork.kernel.org/project/linux-mm/patch/20221209172922.3143160-1-nphamcs@gmail.com/) | 703468 | v3 ☐☑ | [LORE v3,0/4](https://lore.kernel.org/r/20221209172922.3143160-1-nphamcs@gmail.com) |
| 2022/12/12 | Yafang Shao <laoar.shao@gmail.com> | [mm, bpf: Add BPF into /proc/meminfo](https://patchwork.kernel.org/project/linux-mm/cover/20221212003711.24977-1-laoar.shao@gmail.com/) | 703689 | v1 ☐☑ | [LORE v1,0/9](https://lore.kernel.org/r/20221212003711.24977-1-laoar.shao@gmail.com) |
| 2022/12/12 | David Hildenbrand <david@redhat.com> | [[mm-stable] mm/gup_test: free memory allocated via kvcalloc() using kvfree()](https://patchwork.kernel.org/project/linux-mm/patch/20221212182018.264900-1-david@redhat.com/) | 703907 | v1 ☐☑ | [LORE v1,0/1](https://lore.kernel.org/r/20221212182018.264900-1-david@redhat.com) |
| 2022/12/12 | Jason A. Donenfeld <Jason@zx2c4.com> | [[RFC,v12,1/6] mm: add VM_DROPPABLE for designating always lazily freeable mappings](https://patchwork.kernel.org/project/linux-mm/patch/20221212185347.1286824-2-Jason@zx2c4.com/) | 703918 | v12 ☐☑ | [LORE v12,0/6](https://lore.kernel.org/r/20221212185347.1286824-2-Jason@zx2c4.com) |
| 2022/12/12 | Mike Kravetz <mike.kravetz@oracle.com> | [[1/2] hugetlb: really allocate vma lock for all sharable vmas](https://patchwork.kernel.org/project/linux-mm/patch/20221212235042.178355-1-mike.kravetz@oracle.com/) | 703972 | v1 ☐☑ | [LORE v1,0/2](https://lore.kernel.org/r/20221212235042.178355-1-mike.kravetz@oracle.com) |
| 2022/12/13 | Kefeng Wang <wangkefeng.wang@huawei.com> | [[-next,v3] mm: hwposion: support recovery from ksm_might_need_to_copy()](https://patchwork.kernel.org/project/linux-mm/patch/20221213030557.143432-1-wangkefeng.wang@huawei.com/) | 703997 | v3 ☐☑ | [LORE v3,0/1](https://lore.kernel.org/r/20221213030557.143432-1-wangkefeng.wang@huawei.com) |
| 2022/12/13 | Michal Hocko <mhocko@suse.com> | [memcg reclaim demotion wrt. isolation](https://patchwork.kernel.org/project/linux-mm/patch/Y5idFucjKVbjatqc@dhcp22.suse.cz/) | 704194 | v1 ☐☑ | [LORE v1,0/1](https://lore.kernel.org/r/Y5idFucjKVbjatqc@dhcp22.suse.cz) |
| 2022/12/13 | Nico Pache <npache@redhat.com> | [[RFC,V2] mm: add the zero case to page[1].compound_nr in set_compound_order](https://patchwork.kernel.org/project/linux-mm/patch/20221213234505.173468-1-npache@redhat.com/) | 704325 | v2 ☐☑ | [LORE v2,0/1](https://lore.kernel.org/r/20221213234505.173468-1-npache@redhat.com) |
| 2022/12/14 | Peter Xu <peterx@redhat.com> | [[v2] mm/uffd: Always wr-protect pte in pte|pmd_mkuffd_wp()](https://patchwork.kernel.org/project/linux-mm/patch/20221214201533.1774616-1-peterx@redhat.com/) | 704573 | v2 ☐☑ | [LORE v2,0/1](https://lore.kernel.org/r/20221214201533.1774616-1-peterx@redhat.com) |
| 2022/12/14 | Yuanchu Xie <yuanchu@google.com> | [mm: multi-gen LRU: working set extensions](https://patchwork.kernel.org/project/linux-mm/cover/20221214225123.2770216-1-yuanchu@google.com/) | 704609 | v1 ☐☑ | [LORE v1,0/2](https://lore.kernel.org/r/20221214225123.2770216-1-yuanchu@google.com) |
| 2022/12/17 | Yafang Shao <laoar.shao@gmail.com> | [mm: page_ext: split page_ext flags](https://patchwork.kernel.org/project/linux-mm/cover/20221217105833.24851-1-laoar.shao@gmail.com/) | 705332 | v1 ☐☑ | [LORE v1,0/2](https://lore.kernel.org/r/20221217105833.24851-1-laoar.shao@gmail.com) |
| 2022/12/19 | Hao Sun <sunhao.th@gmail.com> | [mm: new primitive kvmemdup()](https://patchwork.kernel.org/project/linux-mm/patch/20221219042126.3396-1-sunhao.th@gmail.com/) | 705487 | v1 ☐☑ | [LORE v1,0/1](https://lore.kernel.org/r/20221219042126.3396-1-sunhao.th@gmail.com))<br>*-*-*-*-*-*-*-*<br>[LORE v2,0/1](https://lore.kernel.org/r/20221221144245.27164-1-sunhao.th@gmail.com) |
| 2022/12/19 | Bagas Sanjaya <bagasdotme@gmail.com> | [docs: cgroup-v1: formatting improv for"Memory Resource Controller"doc](https://patchwork.kernel.org/project/linux-mm/cover/20221219042209.22898-1-bagasdotme@gmail.com/) | 705488 | v1 ☐☑ | [LORE v1,0/10](https://lore.kernel.org/r/20221219042209.22898-1-bagasdotme@gmail.com) |
| 2022/12/19 | David Hildenbrand <david@redhat.com> | [mm/nommu: don't use VM_MAYSHARE for MAP_PRIVATE mappings](https://patchwork.kernel.org/project/linux-mm/cover/20221219163013.259423-1-david@redhat.com/) | 705652 | v1 ☐☑ | [LORE v1,0/2](https://lore.kernel.org/r/20221219163013.259423-1-david@redhat.com) |
| 2022/12/20 | Muhammad Usama Anjum <usama.anjum@collabora.com> | [[RFC] mm: implement granular soft-dirty vma support](https://patchwork.kernel.org/project/linux-mm/patch/20221220162606.1595355-1-usama.anjum@collabora.com/) | 705984 | v1 ☐☑ | [LORE v1,0/1](https://lore.kernel.org/r/20221220162606.1595355-1-usama.anjum@collabora.com) |
| 2022/12/20 | Uladzislau Rezki <urezki@gmail.com> | [[1/2] mm: vmalloc: Avoid a double lookup of freed VA in a tree](https://patchwork.kernel.org/project/linux-mm/patch/20221220182704.181657-1-urezki@gmail.com/) | 706007 | v1 ☐☑ | [LORE v1,0/2](https://lore.kernel.org/r/20221220182704.181657-1-urezki@gmail.com) |
| 2022/12/20 | Roman Gushchin <roman.gushchin@linux.dev> | [mm: kmem: optimize obj_cgroup pointer retrieval](https://patchwork.kernel.org/project/linux-mm/cover/20221220182745.1903540-1-roman.gushchin@linux.dev/) | 706008 | v1 ☐☑ | [LORE v1,0/2](https://lore.kernel.org/r/20221220182745.1903540-1-roman.gushchin@linux.dev) |
| 2022/12/20 | Roman Gushchin <roman.gushchin@linux.dev> | [[RFC] ipc/mqueue: introduce msg cache](https://patchwork.kernel.org/project/linux-mm/patch/20221220184813.1908318-1-roman.gushchin@linux.dev/) | 706018 | v1 ☐☑ | [LORE v1,0/1](https://lore.kernel.org/r/20221220184813.1908318-1-roman.gushchin@linux.dev) |
| 2022/12/21 | Jason A. Donenfeld <Jason@zx2c4.com> | [[v13,2/7] mm: add VM_DROPPABLE for designating always lazily freeable mappings](https://patchwork.kernel.org/project/linux-mm/patch/20221221142327.126451-3-Jason@zx2c4.com/) | 706247 | v13 ☐☑ | [LORE v13,0/7](https://lore.kernel.org/r/20221221142327.126451-3-Jason@zx2c4.com) |
| 2022/12/21 | Marcelo Tosatti <mtosatti@redhat.com> | [Ensure quiet_vmstat() is called when returning to userpace and when idle tick is stopped](https://patchwork.kernel.org/project/linux-mm/cover/20221221165801.362118576@redhat.com/) | 706283 | v11 ☐☑ | [LORE v11,0/6](https://lore.kernel.org/r/20221221165801.362118576@redhat.com)<br>*-*-*-*-*-*-*-* <br>[LORE v12,0/6](https://lore.kernel.org/r/20221227121137.102497574@redhat.com) |
| 2022/12/21 | Uladzislau Rezki <urezki@gmail.com> | [[v2,1/3] mm: vmalloc: Avoid of calling `__find_vmap_area()` twise in __vunmap()](https://patchwork.kernel.org/project/linux-mm/patch/20221221174454.1085130-1-urezki@gmail.com/) | 706294 | v2 ☐☑ | [LORE v2,0/3](https://lore.kernel.org/r/20221221174454.1085130-1-urezki@gmail.com) |
| 2022/12/22 | Yuanchu Xie <yuanchu@google.com> | [[1/2] mm: add vma_has_locality()](https://patchwork.kernel.org/project/linux-mm/patch/20221222061341.381903-1-yuanchu@google.com/) | 706396 | v1 ☐☑ | [LORE v1,0/2](https://lore.kernel.org/r/20221222061341.381903-1-yuanchu@google.com) |
| 2022/12/23 | Zach O'Keefe <zokeefe@google.com> | [mm/shmem: restore SHMEM_HUGE_DENY precedence over MADV_COLLAPSE](https://patchwork.kernel.org/project/linux-mm/patch/20221223003833.2793963-1-zokeefe@google.com/) | 706614 | v1 ☐☑ | [LORE v1,0/1](https://lore.kernel.org/r/20221223003833.2793963-1-zokeefe@google.com) |
| 2022/12/23 | Zach O'Keefe <zokeefe@google.com> | [mm/MADV_COLLAPSE: don't expand collapse when vm_end is past requested end](https://patchwork.kernel.org/project/linux-mm/patch/20221223003953.2795313-1-zokeefe@google.com/) | 706615 | v1 ☐☑ | [LORE v1,0/1](https://lore.kernel.org/r/20221223003953.2795313-1-zokeefe@google.com)<br>*-*-*-*-*-*-*-* <br>[LORE v2,0/2](https://lore.kernel.org/r/20221224081203.3193960-1-zokeefe@google.com)<br>*-*-*-*-*-*-*-* <br>[LORE v3,0/2](https://lore.kernel.org/r/20221224082035.3197140-1-zokeefe@google.com) |
| 2022/12/23 | Soichiro Ueda <the.latticeheart@gmail.com> | [virtio_balloon: high order allocation](https://patchwork.kernel.org/project/linux-mm/patch/20221223093527.12424-1-the.latticeheart@gmail.com/) | 706715 | v1 ☐☑ | [LORE v1,0/1](https://lore.kernel.org/r/20221223093527.12424-1-the.latticeheart@gmail.com) |
| 2022/10/24 | Nick Terrell <nickrterrell@gmail.com> | [zstd: Update to upstream v1.5.2](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/log/?id=2aa14b1ab2c41a4fe41efae80d58bb77da91f19f) | [Updated Zstd Implementation Merged For Linux 6.2](https://www.phoronix.com/news/Linux-6.2-Zstd) | v1 ☐☑✓ | [LORE v1,0/2](https://lore.kernel.org/all/20221024202606.404049-1-nickrterrell@gmail.com) |
| 2022/11/10 | Nick Desaulniers <ndesaulniers@google.com> | [Makefile.debug: support for -gz=zstd](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/log/?id=9f8fe647797a4bc049bc7cceaf3a63584678ba04) | 实现 DEBUG_INFO_COMPRESSED_ZSTD, 参见 phoronix 报道 [Linux 6.2 Allows For Zstd-Compressed Debug Information](https://www.phoronix.com/news/Linux-6.2-Zstd-Debug-Info) | v3 ☐☑✓ 6.2-rc1 | [LORE](https://lore.kernel.org/all/20221110195932.377841-1-ndesaulniers@google.com) |
| 2022/04/06 | Liao Chang <liaochang1@huawei.com> | [softirq: Introduce softirq throttling](https://lore.kernel.org/all/20220406022749.184807-1-liaochang1@huawei.com) | TODO | v1 ☐☑✓ | [LORE v1,0/3](https://lore.kernel.org/all/20220406022749.184807-1-liaochang1@huawei.com) |
http://viz-js.com
https://mermaid.live
https://latex.codecogs.com
https://www.latexlive.com
| 2022/11/15 | Nhat Pham <nphamcs@gmail.com> | [cachestat: a new syscall for page cache state of files](https://patchwork.kernel.org/project/linux-mm/cover/20221115182901.2755368-1-nphamcs@gmail.com/) | 695661 | v1 ☐☑ | [LORE v1,0/4](https://lore.kernel.org/r/20221115182901.2755368-1-nphamcs@gmail.com)<br>*-*-*-*-*-*-*-* <br>[LORE v2,0/4](https://lore.kernel.org/r/20221205175140.1543229-1-nphamcs@gmail.com)<br>*-*-*-*-*-*-*-* <br>[LORE v3,0/4](https://lore.kernel.org/r/20221208223104.1554368-1-nphamcs@gmail.com)<br>*-*-*-*-*-*-*-* <br>[LORE v4,0/4](https://lore.kernel.org/r/20221216192149.3902877-1-nphamcs@gmail.com) |
| 2022/12/16 | Keith Busch <kbusch@meta.com> | [dmapool enhancements](https://patchwork.kernel.org/project/linux-mm/cover/20221216201625.2362737-1-kbusch@meta.com/) | 705206 | v1 ☐☑ | [LORE v1,0/11](https://lore.kernel.org/r/20221216201625.2362737-1-kbusch@meta.com) |
+2
View File
@@ -124,6 +124,8 @@ Intel 发布的 ControlFlag 用机器学习来发现代码中的错误, 支持 C
| 2021/01/10 | Joe Perches <joe@perches.com> | [Documentation: Replace lkml.org links with lore](https://patchwork.kernel.org/project/linux-omap/patch/77cdb7f32cfb087955bfc3600b86c40bed5d4104.camel@perches.com/#23968747) | 补丁将内核中 lkml 的链接转换为 lore.kernel.org 的链接. 补丁描述中提供了一个脚本来完整这个工作. | v1 ☑ 5.12-rc1 | [commit](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=05a5f51ca566674e6a6ee9cef0af1b00bf100d67) |
| 2020/02/06 | Joe Perches <joe@perches.com> | [B4 Better tools for kernel developers](https://lwn.net/Articles/811528) | 补丁将内核中 lkml 的链接转换为 lore.kernel.org 的链接. 补丁描述中提供了一个脚本来完整这个工作. | v1 ☑ 5.12-rc1 | [GIT](https://git.kernel.org/pub/scm/utils/b4/b4.git), [elinux](https://elinux.org/images/9/93/Kernel_email_tools_elce_2020.pdf) |
[Sending a kernel patch with b4 (part 1)](https://people.kernel.org/monsieuricon/sending-a-kernel-patch-with-b4-part-1), Konstantin Ryabitsev 的博客展示如何使用 B4 提交内核补丁, 无需(直接)使用电子邮件.
patchwork 提供了 [API](https://patchwork.kernel.org/api/projects) 可以获取到各个 patchwork 子项目的 ID 等信息.
[xuliker/kde](https://github.com/xuliker/kde) 接着 patchwork 的 API, 提供了一个获取制定日期各个 patchwork 项目上邮件的脚本 [get_mm_patch_series_today.sh](https://github.com/xuliker/kde/blob/master/kernel_mailing_list/mm_community/get_mm_patch_series_today.sh)
+8 -2
View File
@@ -176,12 +176,18 @@ jeremy 很早就写了一个 pv ticketlock, 原理大概就是 vcpu 在拿锁了
| 时间 | 作者 | 特性 | 描述 | 是否合入主线 | 链接 |
|:----:|:----:|:---:|:----:|:---------:|:----:|
| 2022/10/26 | Huang, Kai <kai.huang@intel.com> | [TDX host kernel support](https://patchwork.kernel.org/project/linux-mm/cover/cover.1666824663.git.kai.huang@intel.com/) | 689199 | v6 ☐☑ | [LORE v6,0/21](https://lore.kernel.org/r/cover.1666824663.git.kai.huang@intel.com)<br>*-*-*-*-*-*-*-* <br>[LORE v7,0/20](https://lore.kernel.org/r/cover.1668988357.git.kai.huang@intel.com) |
| 2022/10/26 | Huang, Kai <kai.huang@intel.com> | [TDX host kernel support](https://patchwork.kernel.org/project/linux-mm/cover/cover.1666824663.git.kai.huang@intel.com/) | 689199 | v6 ☐☑ | [LORE v6,0/21](https://lore.kernel.org/r/cover.1666824663.git.kai.huang@intel.com)<br>*-*-*-*-*-*-*-* <br>[LORE v7,0/20](https://lore.kernel.org/r/cover.1668988357.git.kai.huang@intel.com)<br>*-*-*-*-*-*-*-* <br>[LORE v8,0/16](https://lore.kernel.org/r/cover.1670566861.git.kai.huang@intel.com) |
| 2021/04/16 | Kirill A. Shutemov <kirill.shutemov@linux.intel.com> | [TDX and guest memory unmapping](https://lore.kernel.org/all/20210416154106.23721-1-kirill.shutemov@linux.intel.com) | 作者有意不考虑 TDX, 并尝试找到一种通用的方法来从主机用户空间取消 KVM 客户内存的映射. 借助页表中 PG_hwpoison 的页和 SWP_HWPOISON 的交换项:<br>1. 如果应用程序接触到 SWP_HWPOISON 映射的页面, 它将得到 SIGBUS.<br>2. 当我们将页面设置为 TD-private 时, 我们可以将页面标记为有毒的, 并用 SWP_HWPOISON 替换映射该页的所有 pte. | v1 ☐☑✓ | [LORE v1,0/13](https://lore.kernel.org/all/20210416154106.23721-1-kirill.shutemov@linux.intel.com) |
| 2021/08/23 | Sean Christopherson <seanjc@google.com> | [KVM: mm: fd-based approach for supporting KVM guest private memory](https://lore.kernel.org/all/20210824005248.200037-1-seanjc@google.com) | 这是 Kirill 的 RFC 的延续, 通过在 `struct page` 级别跟踪客户内存来支持 TDX 客户私有内存. 这个提案是由 Andy Lutomirksi 对通过 `struct page` 进行跟踪的担忧引发的几次离线讨论的结果. | v1 ☐☑✓ | [LORE](https://lore.kernel.org/all/20210824005248.200037-1-seanjc@google.com) |
| 2022/10/25 | Chao Peng <chao.p.peng@linux.intel.com> | [KVM: mm: fd-based approach for supporting KVM](https://patchwork.kernel.org/project/linux-mm/cover/20221025151344.3784230-1-chao.p.peng@linux.intel.com/) | 用于机密计算场景 (如 [Intel TDX](https://www.intel.com/content/www/us/en/developer/articles/technical/intel-trust-domain-extensions.html)) 的 KVM 客户私有内存. 本系列通过引入新的 mm 和 KVM 接口来解决 KVM 用户空间导致的崩溃问题, 因此 KVM 用户空间仍然可以通过基于 fd 的方法管理来宾内存, 但它永远不能访问来宾内存内容. | v9 ☐☑ | [LORE v9,0/8](https://lore.kernel.org/r/20221025151344.3784230-1-chao.p.peng@linux.intel.com) |
| 2022/10/25 | Chao Peng <chao.p.peng@linux.intel.com> | [KVM: mm: fd-based approach for supporting KVM](https://patchwork.kernel.org/project/linux-mm/cover/20221025151344.3784230-1-chao.p.peng@linux.intel.com/) | 用于机密计算场景 (如 [Intel TDX](https://www.intel.com/content/www/us/en/developer/articles/technical/intel-trust-domain-extensions.html)) 的 KVM 客户私有内存. 本系列通过引入新的 mm 和 KVM 接口来解决 KVM 用户空间导致的崩溃问题, 因此 KVM 用户空间仍然可以通过基于 fd 的方法管理来宾内存, 但它永远不能访问来宾内存内容. | v9 ☐☑ | [LORE v9,0/8](https://lore.kernel.org/r/20221025151344.3784230-1-chao.p.peng@linux.intel.com)<br>*-*-*-*-*-*-*-* <br>[LORE v10,0/9](https://lore.kernel.org/r/20221202061347.1070246-1-chao.p.peng@linux.intel.com) |
## 6.3 Secure Nested Paging
-------
| 时间 | 作者 | 特性 | 描述 | 是否合入主线 | 链接 |
|:----:|:----:|:---:|:----:|:---------:|:----:|
| 2022/12/14 | Michael Roth <michael.roth@amd.com> | [Add AMD Secure Nested Paging (SEV-SNP) Hypervisor Support](https://patchwork.kernel.org/project/linux-mm/cover/20221214194056.161492-1-michael.roth@amd.com/) | 704568 | v7 ☐☑ | [LORE v7,0/64](https://lore.kernel.org/r/20221214194056.161492-1-michael.roth@amd.com) |
# 7 ANDROID