description/open_source: update phoronix vs LWN to date 20240301

This commit is contained in:
Cheng Jian
2024-03-24 19:19:42 +08:00
parent 130d76b553
commit 319716aa46
11 changed files with 262 additions and 29 deletions
+38 -5
View File
@@ -133,7 +133,7 @@ v5.7 引入了拆分锁检测的支持, 这依赖于 x86_64 intel CPU 遇到拆
| 时间 | 作者 | 特性 | 描述 | 是否合入主线 | 链接 |
|:---:|:----:|:---:|:----:|:---------:|:----:|
| 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) |
| 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) 和 [Intel FRED Merged For Linux 6.9 As An Important Improvement With Future CPUs](https://www.phoronix.com/news/Intel-FRED-Merged-Linux-6.9). | v1 ☐☑✓ | [LORE v1,0/32](https://lore.kernel.org/all/20221220063658.19271-1-xin3.li@intel.com)<br>*-*-*-*-*-*-*-* <br>[LORE v13,0/35](https://lore.kernel.org/all/20231205105030.8698-1-xin3.li@intel.com) |
@@ -261,6 +261,7 @@ ASYM_PACKING 用于平衡物理核心与 SMT 之间的负载均衡处理 (例如
| 2024/01/31 | Stanislaw Gruszka <stanislaw.gruszka@linux.intel.com> | [thermal/netlink/intel_hfi: Enable HFI feature only when required](https://lore.kernel.org/all/20240131120535.933424-1-stanislaw.gruszka@linux.intel.com) | 该补丁集仅在有用户空间实体侦听热网络链接事件时才启用 HFI. 引入了一个 netlink 通知, 它与 netlink_has_listners()检查一起, 允许驱动程序根据实际用户空间消费者的存在发送 netlink 多播事件. 此功能通过允许在不需要时禁用功能来优化资源使用. 然后在 intel_hif 驱动程序中实现通知机制, 用于动态禁用硬件反馈接口 (HFI). 通过实现 netlink 通知回调, 驱动程序现在可以根据实际需求启用或禁用 HFI, 特别是当用户空间应用程序(如英特尔速度选择或英特尔低功耗守护进程) 利用与性能和能效功能相关的事件时. 在有 Intel HFI 但没有安装用户空间组件的机器上, 我们可以节省大量的 CPU 周期. | v1 ☐☑✓ | [LORE v1,0/3](https://lore.kernel.org/all/20240131120535.933424-1-stanislaw.gruszka@linux.intel.com) |
| 2024/02/02 | Ricardo Neri <ricardo.neri-calderon@linux.intel.com> | [thermal: intel: hfi: Prework for the virtualization of HFI](https://lore.kernel.org/all/20240203040515.23947-1-ricardo.neri-calderon@linux.intel.com) | 用于 [支持 IPC 类任务的调度](https://lore.kernel.org/all/20230613042422.5344-1-ricardo.neri-calderon@linux.intel.com) 的基础 <br>1. 重新组织 HFI 驱动程序的部分, 以便于实现虚拟 HFI 表.<br>2. 引入了 ITD 类的概念并启用了 ITD.<br>3. 增加了对重置当前任务的 ITD 分类历史的支持, 以便在上下文切换期间使用. HFI 的虚拟化要求在系统中无条件启用 HFI 和 ITD. 这与 Stanislaw 的补丁集 [thermal/netlink/intel_hfi: Enable HFI feature only when required](https://lore.kernel.org/all/20240131120535.933424-1-stanislaw.gruszka@linux.intel.com) 存在冲突. | v1 ☐☑✓ | [LORE v1,0/9](https://lore.kernel.org/all/20240203040515.23947-1-ricardo.neri-calderon@linux.intel.com) |
| 2024/02/03 | Zhao Liu <zhao1.liu@linux.intel.com> | [Intel Thread Director Virtualization](https://lore.kernel.org/all/20240203091214.411862-1-zhao1.liu@linux.intel.com) | 以虚拟化硬件反馈接口 (HFI) 和英特尔线程控制器(ITD), 从而为使用 ITD 进行调度的虚拟机带来好处. 他的实验表明, 在某些工作负载和配置中, 性能提高了 14%. [Intel Thread Director Virtualization Patches Boost Some Workloads By ~14%](https://www.phoronix.com/news/Intel-Thread-Director-Virt) | v1 ☐☑✓ | [LORE v1,0/26](https://lore.kernel.org/all/20240203091214.411862-1-zhao1.liu@linux.intel.com)|
| 2024/02/23 | Stanislaw Gruszka <stanislaw.gruszka@linux.intel.com> | [thermal/netlink/intel_hfi: Enable HFI feature only when required](https://lore.kernel.org/all/20240223155942.60813-1-stanislaw.gruszka@linux.intel.com) | 英特尔 HFI 驱动程序可以在需要时启用它, 从而"节省大量 CPU 周期". 仅在有用户空间使用者处于活动状态时启用它. 如果英特尔 Speed Select 或英特尔低功耗守护程序正在运行, 英特尔 HFI 接口将被激活, 但如果不是, 它将被禁用, 从而显然可以节省大量 CPU 资源. 参见 phoronix 报道 [英特尔 HFI 驱动程序可以“节省大量 CPU 周期”,只需在需要时才启用自身](https://www.phoronix.com/news/Intel-HFI-Enable-Disable). | v4 ☐☑✓ | [LORE v4,0/3](https://lore.kernel.org/all/20240223155942.60813-1-stanislaw.gruszka@linux.intel.com) |
@@ -469,6 +470,11 @@ SGX 旨在以硬件安全为强制性保障, 不依赖于固件和软件的安
| 2023/06/07 | Nikolay Borisov <nik.borisov@suse.com> | [Add ability to disable ia32 at boot time](https://lore.kernel.org/all/20230607072936.3766231-1-nik.borisov@suse.com) | [Linux Patches Posted That Would Allow Boot-Time Disabling Of x86 32-bit Processes](https://www.phoronix.com/news/Linux-Boot-Disable-32-bit) | v1 ☐☑✓ | [LORE v1,0/3](https://lore.kernel.org/all/20230607072936.3766231-1-nik.borisov@suse.com) |
## 1.11 X86S
-------
[Intel Continues Prepping The Linux Kernel For X86S](https://www.phoronix.com/news/Linux-6.9-More-X86S)
# 2 ARM64
-------
@@ -822,6 +828,8 @@ ARM v8.2 引入了 [UAO](https://community.arm.com/arm-community-blogs/b/archite
# 4 CPU 漏洞
-------
[GhostRace Detailed - Speculative Race Conditions Affecting All Major CPUs / ISAs](https://www.phoronix.com/news/CPU-Speculative-GhostRace)
## 4.1 Straight Line Speculation
-------
@@ -847,9 +855,18 @@ SLS 被认为是 Spectre 漏洞的变体, 但二者的攻击范围略有不同,
| 2021/12/04 | Peter Zijlstra <peterz@infradead.org> | [x86: Add stright-line-speculation mitigations](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/log/?id=e463a09af2f0677b9485a7e8e4e70b396b2ffb6f) | 20211204134338.760603010@infradead.org | v2 ☑✓ 5.17-rc1 | [LORE v2,0/6](https://lore.kernel.org/all/20211204134338.760603010@infradead.org) |
## 4.2 Control-Flow Enforcement Technology (CET)
## 4.2 Control-Flow Enforcement Technology (CET)
-------
## 4.X 通用机制
-------
| 时间 | 作者 | 特性 | 描述 | 是否合入主线 | 链接 |
|:---:|:----:|:---:|:----:|:---------:|:----:|
| 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) |
# 5 benchmark
-------
@@ -930,6 +947,10 @@ Arm True Random Number Generator Firmware Interface 1.0 于去年发布, 最终
| 2021/11/21 | "Stephan Müller" <smueller@chronox.de> | [/dev/random - a new approach](https://lore.kernel.org/lkml/2036923.9o76ZdvQCi@positron.chronox.de) | 随机数实现改进. | v1 ☐ | [Patchwork v43 00/15](https://lore.kernel.org/lkml/2036923.9o76ZdvQCi@positron.chronox.de) |
| 2022/02/23 | Jason A. Donenfeld <Jason@zx2c4.com> | [VM fork detection for RNG](https://lore.kernel.org/all/20220223220456.666193-1-Jason@zx2c4.com) | [Linux RNG Improvements Aim For Better VM Security](https://www.phoronix.com/scan.php?page=news_item&px=Linux-RNG-VM-Forks) | v2 ☐☑✓ | [LORE v2,0/2](https://lore.kernel.org/all/20220223220456.666193-1-Jason@zx2c4.com) |
### 6.2.3 A RDRAND followup
-------
[A RDRAND followup](https://lwn.net/Articles/963281)
## 6.3 总线
@@ -1157,16 +1178,25 @@ openEuler 提供了 [openEuler/prefetch_tuning](https://gitee.com/openeuler/pref
[AMD P-State Preferred Core Support For Linux Tried A 13th Time](https://www.phoronix.com/news/AMD-P-State-Preferred-Core-13)
[](https://www.phoronix.com/news/AMD-State-Preferred-Core-Linux)
[AMD P-State Preferred Core Support Coming With Linux 6.9](https://www.phoronix.com/news/Linux-6.9-AMD-P-State-Preferred)
磁芯频率受半导体工艺变化的影响. 并非所有内核都能够达到最大频率, 具体取决于基础架构限制. 因此, AMD 重新定义了硬件最大频率的概念. 这意味着一小部分内核可以达到最大频率. 为了找到给定场景的最佳进程调度策略, 操作系统需要通过 CPPC 接口的最高性能功能寄存器来了解平台通知的核心排序.
AMD-pstate 首选核心的早期实现仅支持静态核心排名和目标性能. 现在, 它能够根据工作负载和平台条件动态更改首选核心, 并考虑到热量和老化.
AMD-pstate 驱动程序利用 ITMT 体系结构提供的功能和数据结构, 使调度器倾向于在内核上进行调度, 从而可以以较低的电压获得更高的频率. 我们称它为 "首选核心(AMD-pstate preferred core)".
1. 通过调用 sched_set_itmt_core_prio() 来设置优先级, 调用 sched_set_itmt_support() 来启用 ITMT 特性. AMD-pstate 驱动使用最高的性能值来表示 CPU 的优先级. 数值越高优先级越高.
2. AMD-pstate 驱动程序将在引导时提供初始核心排序. 它依靠 CPPC 接口将内核排名传递给操作系统和调度器, 以确保操作系统首先选择性能最高的内核来调度进程. 当 AMD-pstate 驱动程序接收到具有最高性能变化的消息时, 它将更新核心排名.
| 时间 | 作者 | 特性 | 描述 | 是否合入主线 | 链接 |
|:---:|:----:|:---:|:----:|:---------:|:----:|
| 2023/08/15 | Meng Li <li.meng@amd.com> | [AMD Pstate Preferred Core](https://lore.kernel.org/all/20230815061546.3556083-1-li.meng@amd.com) | TODO | v2 ☐☑✓ | [LORE v2,0/7](https://lore.kernel.org/all/20230815061546.3556083-1-li.meng@amd.com)<br>*-*-*-*-*-*-*-* <br>[LORE v13,0/7](https://lore.kernel.org/all/20240112092531.789841-1-li.meng@amd.com) |
| 2023/08/15 | Meng Li <li.meng@amd.com> | [amd-pstate preferred core](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/log/?id=dfddf34a3f0d45483f5b3e46c2e7bda173796f1b) | [AMD Pstate Preferred Core](https://lore.kernel.org/all/20230815061546.3556083-1-li.meng@amd.com) 以及 [AMD P-State Preferred Core Submitted For Linux 6.9 While Intel Meteor Lake Gets Tuned](https://www.phoronix.com/news/AMD-P-State-Preferred-Core-69) | v2 ☐☑✓ 6.9-rc1 | [LORE v2,0/7](https://lore.kernel.org/all/20230815061546.3556083-1-li.meng@amd.com)<br>*-*-*-*-*-*-*-* <br>[LORE v13,0/7](https://lore.kernel.org/all/20240112092531.789841-1-li.meng@amd.com)<br>*-*-*-*-*-*-*-* <br>[LORE v14,0/7](https://lore.kernel.org/lkml/20240119090502.3869695-1-li.meng@amd.com) |
| 2024/03/18 | Perry Yuan <perry.yuan@amd.com> | [AMD Pstate Driver Core Performance Boost](https://lore.kernel.org/all/cover.1710754236.git.perry.yuan@amd.com) | 该补丁集系列为 AMD pstate 驱动程序增加了核心性能提升 (core performance boost) 功能, 包括被动, 引导和主动模式支持. 用户可以使用新的 sysfs 条目: "/sys/devices/system/cpu/amd_pstate/cpb_boost" 更改核心频率 boost 控制. 由于与支持所有模式的新 cpb_boost 的功能冲突, 传统的 boost 接口已被删除. 参见 [AMD Posts Updated Linux Patches For P-State Core Performance Boost](https://www.phoronix.com/news/AMD-Core-Performance-Boost-6). | v6 ☐☑✓ | [LORE v6,0/6](https://lore.kernel.org/all/cover.1710754236.git.perry.yuan@amd.com) |
| 2024/03/08 | Sibi Sankar <quic_sibis@quicinc.com> | [cpufreq: scmi: Add boost frequency support](https://lore.kernel.org/all/20240308104410.385631-1-quic_sibis@quicinc.com) | [ARM SCMI CPUFreq Driver Enabling Boost Support By Default With Linux 6.9](https://www.phoronix.com/news/ARM-SCMI-CPUFreq-Boost-Linux-69). | v3 ☐☑✓ | [LORE v3,0/2](https://lore.kernel.org/all/20240308104410.385631-1-quic_sibis@quicinc.com)<br>*-*-*-*-*-*-*-* <br>[LORE v4,0/2](https://www.phoronix.com/news/Linux-69-RAM-Bandwidth-Throttle) |
## 6.13 Device
@@ -1183,6 +1213,9 @@ openEuler 提供了 [openEuler/prefetch_tuning](https://gitee.com/openeuler/pref
| 时间 | 作者 | 特性 | 描述 | 是否合入主线 | 链接 |
|:---:|:----:|:---:|:----:|:---------:|:----:|
| 2023/08/29 | Tony Luck <tony.luck@intel.com> | [Add support for Sub-NUMA cluster (SNC) systems](https://lore.kernel.org/all/20230829234426.64421-1-tony.luck@intel.com) | [Intel Fixing Up Sub-NUMA Clustering For Linux So That It Behaves With RDT](https://www.phoronix.com/news/Intel-SNT-RDT-Fixing-Up) | v5 ☐☑✓ | [LORE v5,0/8](https://lore.kernel.org/all/20230829234426.64421-1-tony.luck@intel.com) |
| 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) |
<br>
+1
View File
@@ -632,6 +632,7 @@ Wasmtime 完全开源, 使用 Rust 编程语言, 是的, 并且符合 WASI 标
| [ebpf-for-windows](https://github.com/microsoft/ebpf-for-windows) | [eBPF programming on Windows](https://blog.subcom.tech/ebpf-programming-on-windows). |
| [redcanaryco/ebpfmon](https://github.com/redcanaryco/ebpfmon) | [eBPFmon: A new tool for exploring and interacting with eBPF applications](https://redcanary.com/blog/ebpfmon) |
| [TrailOfBits](https://github.com/trailofbits) | [Trail of Bits 开发了一套开源库, 旨在简化 eBPF 应用程序的创建和部署. 这些库有助于高效的进程和网络事件监控、函数跟踪、内核调试符号解析和 eBPF 代码生成. 参见 [Use our suite of eBPF libraries](https://blog.trailofbits.com/2023/08/09/use-our-suite-of-ebpf-libraries). |
| [Netflix/bpftop](https://github.com/Netflix/bpftop) | [bpftop blog](https://netflixtechblog.com/announcing-bpftop-streamlining-ebpf-performance-optimization-6a727c1ae2e5)
## X.2 业界博客
-------
+57 -5
View File
@@ -134,6 +134,8 @@ https://lwn.net/Articles/422487/
|:----:|:----:|:---:|:----:|:---------:|:----:|
| 2009/08/05 | Arjan van de Ven <arjan@infradead.org> | [Implement crashkernel=auto](https://lore.kernel.org/patchwork/cover/166256) | 实现 crashkernel=auto . | v1 ☐ | [PatchWork](https://lore.kernel.org/patchwork/cover/166256) |
| 2022/08/28 | Baoquan He <bhe@redhat.com> | [arm64, kdump: enforce to take 4G as the crashkernel low memory end](https://patchwork.kernel.org/project/linux-mm/cover/20220828005545.94389-1-bhe@redhat.com/) | 671768 | v1 ☐☑ | [LORE v1,0/2](https://lore.kernel.org/r/20220828005545.94389-1-bhe@redhat.com) |
| 2024/03/05 | Steven Rostedt <rostedt@goodmis.org> | [tracing: Persistent traces across a reboot or crash](https://lore.kernel.org/all/20240306015910.766510873@goodmis.org) | [Experimental Linux Patches Allow Kernel Tracing To Work Past Reboots/Crashes](https://www.phoronix.com/news/Linux-Tracing-Post-Reboots). | v1 ☐☑✓ | [LORE v1,0/8](https://lore.kernel.org/all/20240306015910.766510873@goodmis.org) |
[crash extension modules](https://crash-utility.github.io/extensions.html)
@@ -312,10 +314,15 @@ $reclaim = current\_mem \times reclaim\_ratio \times max(0,1 \frac{psi_some}
[Linux 6.7 Continues Work On printk Threaded Printing](https://www.phoronix.com/news/Linux-6.7-printk)
[Third Version Of Linux Atomic Console Support Posted](https://www.phoronix.com/news/Linux-Threaded-Atomic-Console-3)
[Linux 6.9 Cleans Up Printk Code While Preparing For Atomic Consoles](https://www.phoronix.com/news/Linux-6.9-Printk-Cleanup)
| 时间 | 作者 | 特性 | 描述 | 是否合入主线 | 链接 |
|:----:|:----:|:---:|:----:|:---------:|:----:|
| 2022/02/07 | John Ogness <john.ogness@linutronix.de> | [implement threaded console printing](https://lore.kernel.org/all/20220207194323.273637-1-john.ogness@linutronix.de) | 参见 phoronix 报道 [Linux Gets Patches For Threaded Console Printing](https://www.phoronix.com/scan.php?page=news_item&px=Linux-Threaded-Console-Print) 和 [Patches Updated For Linux To Enjoy Consoles Running At Full-Speed](https://www.phoronix.com/scan.php?page=news_item&px=Printk-v3-Consoles-Full-Speed) | v1 ☐ | [LORE v1,0/13](https://lore.kernel.org/all/20220207194323.273637-1-john.ogness@linutronix.de) |
| 2023/03/02 | John Ogness <john.ogness@linutronix.de> | [threaded/atomic console support](https://lore.kernel.org/all/87wn3zsz5x.fsf@jogness.linutronix.de) | TODO | v1 ☐☑✓ | [LORE v1,0/18](https://lore.kernel.org/all/87wn3zsz5x.fsf@jogness.linutronix.de) |
| 2024/02/18 | John Ogness <john.ogness@linutronix.de> | [wire up write_atomic() printing](https://lore.kernel.org/all/20240218185726.1994771-1-john.ogness@linutronix.de) | TODO | v2 ☐☑✓ | [LORE v2,0/26](https://lore.kernel.org/all/20240218185726.1994771-1-john.ogness@linutronix.de) |
## 9.3 A new approach printk
@@ -579,12 +586,15 @@ bperf 试图通过允许多个 "周期" 或 "指令" 的 perf_event (在不同
几年来, Facebook 的工程师们一直在研究 [BOLT](https://www.phoronix.com/scan.php?page=news_item&px=Facebook-BOLT-Optimize-Binaries), 以此加速 Linux/ELF 二进制文件.
BOLT 是一个二进制优化和布局工具, 它是一个 Facebook 孵化器项目, 用于加速Linux x86-64/AArch64 ELF 二进制文件. 这个工具能够分析和重新排布的可执行程序, 以产生比编译器的 LTO 和 PGO 优化所能实现的更快的性能.
BOLT 是一个二进制优化和布局工具, 它是一个 Facebook 孵化器项目, 用于加速Linux x86-64/AArch64 ELF 二进制文件. 这个工具能够分析和重新排布的可执行程序, 以产生比编译器的 LTO 和 PGO 优化所能实现的更快的性能. 2022 年 1 月, [BOLT Merged Into LLVM To Optimize Binaries For Faster Performance](https://www.phoronix.com/news/LLVM-Lands-BOLT). 允许优化二进制文件的布局, 作为链接后的步骤, 以提高性能. 与配置文件引导优化 (PGO) 一样, BOLT 首先需要分析步骤来生成性能记录以反馈优化过程, 但收益可能很大.
facebook 在 LPC-2021 公布了其[最新基于 BOLT 优化 Linux 内核的进展](https://www.phoronix.com/scan.php?page=news_item&px=Facebook-BOLTing-The-Kernel), 这项工作与允许 Linux 内核的配置文件引导优化(PGO)的挑战类似, 与现有的 BOLT 专注于仅优化 ELF 应用程序可执行性相比, BOLT'ing 的 Linux 内核在正确分析/采样内核和相关优化工作负载、内核的大规模代码基数、模块与内核代码等方面面临着类似的复杂障碍. 从公布的信息上看效果不错, 在 PGO + LTO 编译器优化的基础之上仍然带来了两位数的提升(double digit speedups"). 这些提速是通过优化可执行工具的代码布局来实现更高效的硬件页面使用和指令缓存. 参见 [slides](https://linuxplumbersconf.org/event/11/contributions/974/attachments/923/1793/Optimizing%20Linux%20Kernel%20with%20BOLT.pdf).
BOLT 之前代码在 [github 开源](https://github.com/facebookincubator/BOLT), 随后在 2022 合并到[主线 LLVM](https://github.com/llvm/llvm-project/tree/main/bolt), 参见 [BOLT Close To Merging Into LLVM For Optimizing Performance Of Binaries](https://www.phoronix.com/scan.php?page=news_item&px=BOLT-Inches-To-LLVM). 并默认情况下在 Linux x86_64 和 AArch64 测试版本中被打开, [LLVM's BOLT Flipped On By Default For Linux x86/AArch64 Test Releases](https://www.phoronix.com/news/LLVM-BOLT-Default-Test-Releases).
Facebook 一直致力于 BOLT 的 Linux 内核以获得更高的性能, [Meta Continues Working On BOLT'ing The Linux Kernel For Greater Performance](https://www.phoronix.com/news/LLVM-BOLT-Linux-Kernel-2024), 经过 2 年的努力, 这项工作终于于 2024 年 2 合入 LLVM 主线. 参见 [BOLT: Add writing support for Linux kernel ORC #80950](https://github.com/llvm/llvm-project/pull/80950).
LLVM BOLT 优化 GNOME 的 Pango 净改进 ~6%, 参见 phoronix 报道 [LLVM BOLT Optimizations Net ~6% Improvement For GNOME's Pango](https://www.phoronix.com/news/LLVM-BOLT-Faster-Pango).
## 13.3 Shrinking the kernel
-------
@@ -697,6 +707,9 @@ v2: [Fast Kernel Headers v2 Posted - Speeds Up Clang-Built Linux Kernel Build By
-------
### 13.8.1 Mold
-------
Mold 是目前 Unix 链接器的现代替代品, 已经达到了 1.0 版本. 由 LLVM lld 连接器的原创者编写, 通过提高并行性, Mold 的目标是比它的前辈快几倍.
2021 年 12 月 [Mold 1.0 发布](https://www.phoronix.com/scan.php?page=news_item&px=Mold-1.0-Released), 作为非常有前途的高性能链接器, 是当前主流编译器等(如 GNU 的 Gold 和 LLVM 的 LLD) 首选替代方案. 随即 GCC 12 宣布增加了[对 Mold 的支持](https://www.phoronix.com/scan.php?page=news_item&px=GCC-12-Mold-Linker). 紧接着 Mold 宣布 1.0.1 将[维护 1 年](https://www.phoronix.com/scan.php?page=news_item&px=Mold-1.0.1-Released), 成为事实上的 LTS 版本.
@@ -705,9 +718,18 @@ Mold 是目前 Unix 链接器的现代替代品, 已经达到了 1.0 版本. 由
Mesa CI 开始使用 Mold 作为其 x86_64 和 AArch64 上的默认链接器, 从而提高其 CI 的工作效率, 最终也可能帮助他们解决以前不断膨胀的云 CI 成本. [Mesa CI Begins Making Use Of Mold Linker For "Substantial" Performance Improvement](https://www.phoronix.com/news/Mesa-CI-Begins-Mold).
[Mold 1.6 High Speed Linker Adds PPC64 and s390x, Smaller Output Files](https://www.phoronix.com/news/Mold-1.6-Linker)
[Mold 1.6 High Speed Linker Adds PPC64 and s390x, Smaller Output Files](https://www.phoronix.com/news/Mold-1.6-Linker).
[Mold 2.0 High Speed Linker Released: Moves From AGPL To MIT License](https://www.phoronix.com/news/Mold-2.0-Linker).
[Mold Linker Performance Remains Very Compelling In 2024 Over GNU Gold/ld, LLVM lld](https://www.phoronix.com/news/Mold-Linker-2024-Performance).
### 13.8.2 dynamic linking
-------
[A look at dynamic linking](https://lwn.net/Articles/961117)
[Mold 2.0 High Speed Linker Released: Moves From AGPL To MIT License](https://www.phoronix.com/news/Mold-2.0-Linker)
## 13.9 Compiler Optimization
-------
@@ -979,7 +1001,7 @@ Fedora 尝试优化 systemd 开机以及重启的时间, 参见 phoronix 报道
# 18 LIB
# 18 LIB 与 数据结构
-------
## 18.1 bitmap
@@ -991,6 +1013,7 @@ Fedora 尝试优化 systemd 开机以及重启的时间, 参见 phoronix 报道
| 2021/12/18 | David Woodhouse <dwmw2@infradead.org> | [lib/bitmap: optimize bitmap_weight() usage](https://patchwork.kernel.org/project/linux-mm/cover/20211218212014.1315894-1-yury.norov@gmail.com) | NA | v1 ☐ | [Patchwork v2,00/17](https://lkml.kernel.org/lkml/20211209150938.3518-1-dwmw2@infradead.org) |
## 18.2 CONFIG
-------
@@ -999,6 +1022,16 @@ Fedora 尝试优化 systemd 开机以及重启的时间, 参见 phoronix 报道
|:----:|:----:|:---:|:----:|:---------:|:----:|
| 2021/12/18 | David Woodhouse <dwmw2@infradead.org> | [configs: introduce debug.config for CI-like setup](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=0aaa8977acbf3996d351f51b3b15295943092f63) | 参见 [Linux 5.17 Making It Easier To Build A Kernel With All The Shiny Debug Features](https://www.phoronix.com/scan.php?page=news_item&px=Linux-5.17-debug-config) | v5 ☑ 5.17-rc1 | [Patchwork v5](https://lore.kernel.org/all/20211115134754.7334-1-quic_qiancai@quicinc.com) |
## 18.3 Rosebush
-------
| 时间 | 作者 | 特性 | 描述 | 是否合入主线 | 链接 |
|:---:|:----:|:---:|:----:|:---------:|:----:|
| 2024/02/22 | Matthew Wilcox (Oracle) <willy@infradead.org> | [Rosebush, a new hash table](https://lore.kernel.org/all/20240222203726.1101861-1-willy@infradead.org) | Rosebush 被描述为内核的调整大小、可扩展、缓存感知的 RCU 优化哈希表. Rosebush 适合替换哈希表, 同时开销低于枫树或哈希表. 但它不是枫树的替代品, 因为它不支持范围. Rosebush 的另一个优势是具有每个存储桶的锁, 因此它对于写入密集型工作负载更具可扩展性. [Rosebush Proposed As A New Data Structure For The Linux Kernel](https://www.phoronix.com/news/Rosebush-Linux-Proposal). | v1 ☐☑✓ | [LORE v1,0/1](https://lore.kernel.org/all/20240222203726.1101861-1-willy@infradead.org) |
# 19 启动加速
-------
@@ -1022,14 +1055,26 @@ Fedora 尝试优化 systemd 开机以及重启的时间, 参见 phoronix 报道
| 2022/11/11 | Daniel Bristot de Oliveira <bristot@kernel.org> | [verification/rv: Add rv tool](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/log/?id=afc70ccb962861e068e04c6089827493f5160a0a) | (用户空间)运行时验证工具 rv. 该工具旨在成为内核 rv 监视器的接口, 以及用户空间控制监视器. 该工具接收命令作为第一个参数<br>1. list 列出所有可用的监视器<br>2. mon 运行给定的监视器<br>每个监视器都是工具内的一个独立软件, 可以有自己的参数. | v2 ☐☑✓ 6.2-rc1 | [LORE v2,0/3](https://lore.kernel.org/all/cover.1668180100.git.bristot@kernel.org) |
# 21 RUST 支持
# 21 新语言支持
-------
## 21.1 RUST 支持
-------
[Arm Helping With AArch64 Rust Linux Kernel Enablement](https://www.phoronix.com/news/AArch64-Rust-Linux-Kernel)
| 时间 | 作者 | 特性 | 描述 | 是否合入主线 | 链接 |
|:---:|:----:|:---:|:----:|:---------:|:----:|
| 2022/09/27 | Miguel Ojeda <ojeda@kernel.org> | [Rust support](https://lore.kernel.org/all/20220927131518.30000-1-ojeda@kernel.org) | TODO| v10 ☐☑✓ | [LORE 00/13](https://lore.kernel.org/all/20210414184604.23473-1-ojeda@kernel.org)<br>*-*-*-*-*-*-*-* <br>[LORE v10,0/27](https://lore.kernel.org/all/20220927131518.30000-1-ojeda@kernel.org) |
| 2024/02/27 | Daniel Almeida <daniel.almeida@collabora.com> | [Rewrite the VP9 codec library in Rust](https://lore.kernel.org/all/20240227215146.46487-1-daniel.almeida@collabora.com) | Collabora 的 Daniel Almeida 发布了 Linux 内核的 Video 4 Linux 2 (V4L2) 子系统中 VP9 编解码器库代码的重写. 在使用 Rust 而不是现有的 C 代码时, 这应该会产生更好的内存安全性, 并更好地抵御现有代码中的潜在问题. 参见 phoronix 报道 [Linux's V4L2 VP9 Codec Kernel Code Rewritten In Rust For Better Memory Safety](https://www.phoronix.com/news/VP9-Linux-Kernel-Rust-V4L2-RFC). | v1 ☐☑✓ | [LORE v1,0/1](https://lore.kernel.org/all/20240227215146.46487-1-daniel.almeida@collabora.com) |
## 22.2 C++
-------
[A 2024 Discussion Whether To Convert The Linux Kernel From C To Modern C++](https://www.phoronix.com/news/CPP-Linux-Kernel-2024-Discuss)
# 22 kallsyms
-------
@@ -1046,6 +1091,13 @@ Fedora 尝试优化 systemd 开机以及重启的时间, 参见 phoronix 报道
| 2022/09/27 | Atune | NA | NA | NA | NA |
| 2022/09/27 | Ktune | NA | NA | NA | NA |
# 24 ELF
-------
[When ELF notes reveal too much](https://lwn.net/Articles/962782)
[A look at dynamic linking](https://lwn.net/Articles/961117/)
# X 学习参考
-------
+13
View File
@@ -490,6 +490,19 @@ Paul McKenney's parallel programming book, [LWN](https://lwn.net/Articles/421425
|:---:|:----:|:---:|:----:|:---------:|:----:|
| 2023/05/18 | Tejun Heo <tj@kernel.org> | [workqueue: Improve unbound workqueue execution locality](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/log/?id=523a301e66afd1ea9856660bcf3cee3a7c84c6dd) | 重构 workqueue, 使其感知具有多个 L3 缓存的系统受益.<br>"默认行为是根据最后一级缓存边界进行软仿射. 从给定 LLC 排队的工作项由在同一 LLC 上运行的工作线程执行, 但工作线程可以跨缓存边界移动, 因为计划程序认为合适. 在具有多个 L3 缓存的机器上, 随着小芯片设计变得越来越流行, 这提高了缓存局部性, 同时不会过多地损害工作保护.<br>未绑定的工作队列现在在执行相关性方面也更加灵活. 支持不同级别的相关性作用域, 并且可以动态修改默认和按工作队列的相关性设置. 这应该有助于解决最近在非对称 ARM CPU 中观察到的次优行为. 参见 [Linux 6.6 WQ Change May Help Out AMD CPUs & Other Systems With Multiple L3 Caches](https://www.phoronix.com/news/Linux-6.6-Workqueue) | v1 ☐☑✓ [6.6-rc1](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=bd30fe6a7d9b72e73c5ac9109cbc3066dde08034) | [LORE](https://lore.kernel.org/all/20230519001709.2563-1-tj@kernel.org) |
# 13 Windows NT Synchronization Primitive Driver
-------
| 时间 | 作者 | 特性 | 描述 | 是否合入主线 | 链接 |
|:---:|:----:|:---:|:----:|:---------:|:----:|
| 2024/02/14 | Elizabeth Figura <zfigura@codeweavers.com> | [NT synchronization primitive driver](https://lore.kernel.org/all/20240214233645.9273-1-zfigura@codeweavers.com) | 参见 LWN 报道 [Windows NT synchronization primitives for Linux](https://lwn.net/Articles/961884) 以及 phoronix 报道 [Windows NT Synchronization Primitive Driver Updated For The Linux Kernel](https://www.phoronix.com/news/NTSYNC-Linux-Update-February)
| v1 ☐☑✓ | [2024/02/14 LORE v1,00/31](https://lore.kernel.org/all/20240214233645.9273-1-zfigura@codeweavers.com)<br>*-*-*-*-*-*-*-* <br>[2024/02/19 LORE v2,00/31](https://lore.kernel.org/lkml/20240219223833.95710-1-zfigura@codeweavers.com) |
<br>
* 本作品/博文 ( [AderStep-紫夜阑珊-青伶巷草 Copyright ©2013-2017](http://blog.csdn.net/gatieme) ), 由 [成坚(gatieme)](http://blog.csdn.net/gatieme) 创作.
+29 -1
View File
@@ -738,6 +738,14 @@ MTE 实现了锁和密钥访问内存. 这样在内存访问期间, 可以在内
| 2023/02/02 | Breno Leitao <leitao@debian.org> | [cpu/bugs: Disable CPU mitigations at compilation time](https://lore.kernel.org/all/20230202180858.1539234-1-leitao@debian.org) | 目前, 无法在构建时禁用 CPU 漏洞缓解措施. 需要通过内核参数禁用缓解, 例如 "mitigations=off". 此补丁创建了一种在编译期间禁用缓解的简单方法(CONFIG_DEFAULT_CPU_MITIGATIONS_OFF), 因此, 不安全的内核用户在启动不安全内核时不需要处理内核参数. 参见 phoronix 报道 [Proposed Linux Patch Would Allow Disabling CPU Security Mitigations At Build-Time](https://www.phoronix.com/news/Linux-Default-Mitigations-Off). | v1 ☐☑✓ | [LORE](https://lore.kernel.org/all/20230202180858.1539234-1-leitao@debian.org) |
### 1.8.5 SandBox Mode
-------
| 时间 | 作者 | 特性 | 描述 | 是否合入主线 | 链接 |
|:---:|:----:|:---:|:----:|:---------:|:----:|
| 2024/02/14 | Petr Tesarik <petrtesarik@huaweicloud.com> | [Introduce SandBox Mode (SBM)](https://lore.kernel.org/all/20240214113035.2117-1-petrtesarik@huaweicloud.com) | 沙盒函数将使用一组单独的页表运行, 这些页表将其地址空间限制为相关代码、输入缓冲区(映射的只读)和输出缓冲区. 因此, 该函数将无法访问系统中的任何其他内存. 这一变化具有一些深远的影响; 例如, 如果中断到达, 则必须撤消它, 以便中断处理程序可以在内核的地址空间内运行. [A sandbox mode for the kernel](https://lwn.net/Articles/963734) | v1 ☐☑✓ | [LORE v1,0/5](https://lore.kernel.org/all/20240214113035.2117-1-petrtesarik@huaweicloud.com) |
## 1.9 page attributes
-------
@@ -5490,6 +5498,16 @@ mcpage 有成本. 除了 THP 没有带来 TLB 的好处之外, 与 4K 基本页
| 2023/04/02 | Ankur Arora <ankur.a.arora@oracle.com> | [x86/clear_huge_page: multi-page clearing](https://lore.kernel.org/all/20230403052233.1880567-1-ankur.a.arora@oracle.com) | 本系列将介绍针对大页面的多页清除. [参见之前讨论](https://lore.kernel.org/lkml/CAHk-=wj9En-BC4t7J9xFZOws5ShwaR9yor7FxHZr8CTVyEP_+Q@mail.gmail.com). 在 x86 上, 页面清除通常是通过字符串指令完成的. 与 MOV 循环不同的是, 这些循环允许我们显式地向处理器通告区域大小, 这可以作为 uarch 省略 cacheline 分配的提示. 但是也存在一些问题, 延长的归零周期意味着由于缺少抢占点而增加的延迟. | v1 ☐☑✓ | [LORE v1,0/9](https://lore.kernel.org/all/20230403052233.1880567-1-ankur.a.arora@oracle.com)<br>*-*-*-*-*-*-*-* <br>[LORE v1,0/9](https://lore.kernel.org/r/20230403052233.1880567-1-ankur.a.arora@oracle.com) |
### 7.4.2 使用场景
-------
| 时间 | 作者 | 特性 | 描述 | 是否合入主线 | 链接 |
|:---:|:----:|:---:|:----:|:---------:|:----:|
| 2024/03/11 | Maíra Canal <mcanal@igalia.com> | [drm/v3d: Enable Super Pages](https://lore.kernel.org/all/20240311100959.205545-1-mcanal@igalia.com) | [Raspberry Pi V3D Graphics Driver Preps For Super Pages To Boost Performance](https://www.phoronix.com/news/Raspberry-Pi-V3D-Super-Pages) | v3 ☐☑✓ | [LORE v3,0/5](https://lore.kernel.org/all/20240311100959.205545-1-mcanal@igalia.com) |
# 8 进程虚拟地址空间(VMA)
-------
@@ -5986,6 +6004,15 @@ RMAP 反向映射是一种物理地址反向映射虚拟地址的方法.
| 2015/05/15 | Haavard Skinnemoen <hskinnemoen@atmel.com> | [mtrr, mm, x86: Enhance MTRR checks for huge I/O mapping](https://lore.kernel.org/patchwork/patch/943736) | 增强了对巨页 I/O 映射的 MTRR 检查.<br>1. 允许 pud_set_huge() 和 pmd_set_huge() 创建一个巨页映射, 当范围被任何内存类型的单个 MTRR 条目覆盖时. <br>2. 当指定的 PMD 映射范围超过一个 MTRR 条目时, 记录 pr_warn_once() 消息. 当这个范围被 MTRR 覆盖时, 驱动程序应该发出一个与单个 MTRR 条目对齐的映射请求. | v5 ☐ | [PatchWork v5,0/6](https://lore.kernel.org/patchwork/patch/943736) |
## 8.6 内核栈
-------
| 时间 | 作者 | 特性 | 描述 | 是否合入主线 | 链接 |
|:----:|:----:|:---:|:----:|:---------:|:----:|
| 2024/03/11 | Pasha Tatashin <pasha.tatashin@soleen.com> | [Dynamic Kernel Stacks](https://lore.kernel.org/all/20240311164638.2015063-1-pasha.tatashin@soleen.com) | 根据去年 LSF/MM 峰会的提议, Google 已经实现了对动态内核堆栈的支持. 在过去十年中, 上游 Linux 内核的默认堆栈大小从之前的 8K 增加到 16K. 谷歌一直在使用内核补丁来保留 8K 堆栈, 但随着时间的推移, 他们遇到了对更大堆栈大小的需求, 这反过来又增加了超大规模部署的内存使用量. 为了减少增加的内存使用, 谷歌一直在研究动态内核堆栈, 因为许多内核线程可以容纳 4K 或 8K 堆栈. [Dynamic Kernel Stacks Proposed For Linux With Big Memory Savings](https://www.phoronix.com/news/Linux-Dynamic-Kernel-Stacks-RFC) | v1 ☐☑✓ | [LORE v1,0/14](https://lore.kernel.org/all/20240311164638.2015063-1-pasha.tatashin@soleen.com) |
# 9 内存控制组 MEMCG (Memory Cgroup)支持
@@ -6634,7 +6661,8 @@ FRONTSWAP 对应的另一个后端叫 [ZSWAP](https://lwn.net/Articles/537422).
[LWN: LSFMM-2022/CXL 1: Management and tiering](https://lwn.net/Articles/894598)
[](https://www.phoronix.com/scan.php?page=news_item&px=Linux-5.18-NUMA-Regression-Fix)
[CXL For Linux 6.9 Adds Error Injection, Native Memory Performance Enumeration](https://www.phoronix.com/news/Linux-6.9-CXL)
### 12.1.2 多级内存(Top-tier memory management)/ 内存分级(memory tiering) 支持
-------
@@ -153,18 +153,6 @@ Intel AderLake 引入大小核之后, Windows & Intel 联盟做了足够多的
[Intel Xeon Platinum 8380 Performance Is Looking Great For Linux 6.0](https://www.phoronix.com/news/Linux-6.0-Xeon-8380-Ice-Lake)
# 11 新语言
-------
## 11.1 RUST
-------
## 11.2 C++
-------
[A 2024 Discussion Whether To Convert The Linux Kernel From C To Modern C++](https://www.phoronix.com/news/CPP-Linux-Kernel-2024-Discuss)
File diff suppressed because one or more lines are too long
+84
View File
@@ -0,0 +1,84 @@
---
title: TIMER 系统
date: 2021-02-15 00:32
author: gatieme
tags:
- linux
- tools
categories:
- 技术积累
thumbnail:
blogexcerpt: 虚拟化 & KVM 子系统
---
<br>
本作品采用<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/">知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议</a>进行许可, 转载请注明出处, 谢谢合作
<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/"><img alt="知识共享许可协议" style="border-width:0" src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png" /></a>
因本人技术水平和知识面有限, 内容如有纰漏或者需要修正的地方, 欢迎大家指正, 鄙人在此谢谢啦
**转载请务必注明出处, 谢谢, 不胜感激**
<br>
| 日期 | 作者 | GitHub| CSDN | BLOG |
| ------- |:-------:|:-------:|:-------:|:-------:|
| 2021-02-15 | [成坚-gatieme](https://kernel.blog.csdn.net) | [`AderXCoding/system/tools/fzf`](https://github.com/gatieme/AderXCoding/tree/master/system/tools/fzf) | [使用模糊搜索神器 FZF 来提升办公体验](https://blog.csdn.net/gatieme/article/details/113828826) | [Using FZF to Improve Productivit](https://oskernellab.com/2021/02/15/2021/0215-0001-Using_FZF_to_Improve_Productivity)|
<br>
2 ** TIMER 子系统**
=====================
**-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* 重要功能和时间点 -*-*-*-*-*-*-*-*-*-*-*-*-*-*-***
下文将按此目录分析 Linux 内核中 MM 的重要功能和引入版本:
**-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* 正文 -*-*-*-*-*-*-*-*-*-*-*-*-*-*-***
# The hierarchical timer pull model
-------
| 时间 | 作者 | 特性 | 描述 | 是否合入主线 | 链接 |
|:---:|:----:|:---:|:----:|:---------:|:----:|
| 2024/02/21 | Anna-Maria Behnsen <anna-maria@linutronix.de> | [timers: Move from a push remote at enqueue to a pull at expiry model](https://git.kernel.org/pub/scm/linux/kernel/git/history/history.git/log/?id=b2cf7507e18649a30512515ec0ca89f26b2c2d0f) | [Linux 6.9 Has A Big Rework To CPU Timers - Some Power/Performance Benefits](https://www.phoronix.com/news/Linux-6.9-Timers-Rework) | v11 ☐☑✓ 6.9-rc1 | [LORE v11,0/20](https://lore.kernel.org/all/20240221090548.36600-1-anna-maria@linutronix.de) |
<br>
* 本作品/博文 ( [AderStep-紫夜阑珊-青伶巷草 Copyright ©2013-2017](http://blog.csdn.net/gatieme) ), 由 [成坚(gatieme)](http://blog.csdn.net/gatieme) 创作.
* 采用<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/"><img alt="知识共享许可协议" style="border-width:0" src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png" /></a><a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/">知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议</a>进行许可. 欢迎转载、使用、重新发布, 但务必保留文章署名[成坚gatieme](http://blog.csdn.net/gatieme) ( 包含链接: http://blog.csdn.net/gatieme ), 不得用于商业目的.
* 基于本文修改后的作品务必以相同的许可发布. 如有任何疑问, 请与我联系.
* **转载请务必注明出处, 谢谢, 不胜感激**
<br>
+7 -1
View File
@@ -599,4 +599,10 @@ BPF verifiery 已经做了很多工作来尽量确保加载进 kernel 的 BPF pr
对 AMD 处理器上 x86_energy_perf_policy 实用程序的支持, 这些处理器使用 CPPC(Collaborative Processor Performance Control) 接口进行频率缩放, 并使用 AMD_state 驱动程序模块. AMD 处理器已经支持各种能源性能偏好 EPP(Energy Performance Preference) 配置文件. 有了这个实用程序, 用户现在可以使用提供的命令在这些 EPP 配置文件之间无缝切换. 并使用此工具检查 CPPC 的功能. 此增强旨在提高 AMD 处理器的电源效率和性能管理, 为用户提供对系统能源性能行为的更多控制.
[A Fix Is On The Way For A Previously-Reported Linux 5.18 Performance Regression](https://www.phoronix.com/news/Linux-5.18-NUMA-Regression-Fix)
[Linux 6.9 Has A Big Rework To CPU Timers - Some Power/Performance Benefits](https://www.phoronix.com/news/Linux-6.9-Timers-Rework)
+15 -1
View File
@@ -71,7 +71,7 @@ blogexcerpt: 虚拟化 & KVM 子系统
## 2.1 debug
-------
systrace, perfetto, drgn
systrace, perfetto, drgn, systemtep
[All my favorite tracing tools: eBPF, QEMU, Perfetto, new ones I built and more](https://thume.ca/2023/12/02/tracing-methods) 将 eBPF 跟踪与 Perfetto 可视化相结合, 通过使用一些巧妙的技巧来诊断大量跟踪中的尾部延迟问题.
@@ -93,6 +93,13 @@ Intel 发布的 ControlFlag 用机器学习来发现代码中的错误, 支持 C
[Intel's ControlFlag 1.2 Released To Use AI To Provide Full Support For Spotting C++ Bugs](https://www.phoronix.com/scan.php?page=news_item&px=Intel-ControlFlag-1.2).
* systemtap
| 时间 | 作者 | 特性 | 描述 | 是否合入主线 | 链接 |
|:----:|:----:|:---:|:----:|:---------:|:----:|
| 2019/05/29 | Alex Feng <lifeng1519@gmail.com> | Kernel Visualization Tool | 该工具用于分析 Linux/Solaris/BSD 内核指定流程的调用关系链, 并绘制特定函数的调用图,帮助开发者理解代码. | ☐ | [Kernel Visualization Tool](https://github.com/x2c3z4/kernel_visualization) |
## 2.2 call kernel func from userspace
-------
@@ -219,6 +226,13 @@ Arch Linux 在 2022 年 5 月份开始了也提供了他们的 [debuginfod 调
# 5 性能分析工具
-------
[Intel Makes Continuous Profiler Open-Source To Help Improve CPU Performance](https://www.phoronix.com/news/Intel-Continuous-Profiler-OSS)
<br>
* 本作品/博文 ( [AderStep-紫夜阑珊-青伶巷草 Copyright ©2013-2017](http://blog.csdn.net/gatieme) ), 由 [成坚(gatieme)](http://blog.csdn.net/gatieme) 创作.
+4
View File
@@ -238,10 +238,14 @@ Anbox 使用 Linux 命名空间 (user, pid, uts, net, mount, ipc) 在容器中
# 11 Hypervisor
-------
| 时间 | 作者 | 特性 | 描述 | 是否合入主线 | 链接 |
|:---:|:----:|:---:|:----:|:---------:|:----:|
| 2023/04/24 | Elliot Berman <quic_eberman@quicinc.com> | [Drivers for Gunyah hypervisor](https://lore.kernel.org/all/20230424231558.70911-1-quic_eberman@quicinc.com) | [Qualcomm Continues Working To Upstream Gunyah Hypervisor Support In Linux](https://www.phoronix.com/news/Qualcomm-Gunyah-Linux-v12) | v12 ☐☑✓ | [LORE v12,0/25](https://lore.kernel.org/all/20230424231558.70911-1-quic_eberman@quicinc.com) |
| 2023/05/12 | Yi-De Wu <yi-de.wu@mediatek.com> | [GenieZone hypervisor drivers](https://lore.kernel.org/all/20230512080405.12043-1-yi-de.wu@mediatek.com) | TODO | v3 ☐☑✓ | [LORE v1,0/6](https://lore.kernel.org/lkml/20230413090735.4182-1-yi-de.wu@mediatek.com)<br>*-*-*-*-*-*-*-*<br>[LORE v2,0/7](https://lore.kernel.org/lkml/20230428103622.18291-1-yi-de.wu@mediatek.com)<br>*-*-*-*-*-*-*-*<br>[LORE v3,0/7](https://lore.kernel.org/all/20230512080405.12043-1-yi-de.wu@mediatek.com) |
| 2024/02/26 | Lai Jiangshan <jiangshanlai@gmail.com> | [KVM: x86/PVM: Introduce a new hypervisor](https://lore.kernel.org/all/20240226143630.33643-1-jiangshanlai@gmail.com) | [PVM Virtualization Framework Proposed For Linux - Built Atop The KVM Hypervisor](https://www.phoronix.com/news/PVM-Hypervisor-Linux-RFC) | v1 ☐☑✓ | [LORE v1,0/73](https://lore.kernel.org/all/20240226143630.33643-1-jiangshanlai@gmail.com) |
<br>