摘要:
https://www.kernel.org/doc/html/v6.6/PCI/index.html PCI总线子系统 如何编写Linux PCI驱动程序 1.1. PCI驱动程序的结构 1.2. pci_register_driver()调用 1.3. 如何手动查找PCI设备 1.4. 设备初始
阅读全文
posted @ 2023-12-13 10:46
摩斯电码
阅读(20)
推荐(0)
编辑
摘要:
https://www.kernel.org/doc/html/v6.6/mm/damon/api.html
阅读全文
posted @ 2023-12-13 10:42
摩斯电码
阅读(10)
推荐(0)
编辑
摘要:
https://www.kernel.org/doc/html/v6.6/mm/damon/design.html 设计 整体架构 DAMON 子系统配置了三层,包括 操作集:实现了依赖于给定监控目标地址空间和可用软硬件原语的 DAMON 基本操作, 核心:在操作集层之上实现了核心逻辑,包括监控开销
阅读全文
posted @ 2023-12-13 10:40
摩斯电码
阅读(34)
推荐(0)
编辑
摘要:
https://www.kernel.org/doc/html/v6.6/mm/damon/faq.html 常见问题解答 DAMON是否仅支持虚拟内存? 不是的。DAMON的核心是与地址空间无关的。用户可以在DAMON核心上实现和配置特定于地址空间的监视操作,包括监视目标区域的构建和实际访问检查。
阅读全文
posted @ 2023-12-13 10:31
摩斯电码
阅读(7)
推荐(0)
编辑
摘要:
https://www.kernel.org/doc/html/v6.6/admin-guide/mm/damon/lru_sort.html DAMON-based LRU-lists Sorting DAMON-based LRU-lists Sorting (DAMON_LRU_SORT) 是
阅读全文
posted @ 2023-12-13 10:28
摩斯电码
阅读(10)
推荐(0)
编辑
摘要:
https://www.kernel.org/doc/html/v6.6/admin-guide/mm/damon/reclaim.html DAMON-based Reclamation(DAMON_RECLAIM)是一个静态内核模块,旨在用于在轻度内存压力下主动和轻量级地回收内存。它不旨在取代基
阅读全文
posted @ 2023-12-13 10:23
摩斯电码
阅读(30)
推荐(0)
编辑
摘要:
https://www.kernel.org/doc/html/v6.6/admin-guide/mm/damon/usage.html DAMON 详细用法 DAMON 提供了以下接口供不同用户使用: DAMON 用户空间工具:这是为特权用户(如系统管理员)提供的,他们希望使用一个即插即用的人性化
阅读全文
posted @ 2023-12-13 10:11
摩斯电码
阅读(29)
推荐(0)
编辑
摘要:
https://www.kernel.org/doc/html/v6.6/admin-guide/mm/damon/start.html 使用 DAMON 入门指南 本文档简要描述了如何使用 DAMON,并演示了其默认用户空间工具。请注意,出于简洁起见,本文档仅描述了其部分功能。更多细节,请参考工具
阅读全文
posted @ 2023-12-13 09:42
摩斯电码
阅读(13)
推荐(0)
编辑
摘要:
https://www.kernel.org/doc/html/v6.6/admin-guide/mm/damon/index.html https://www.kernel.org/doc/html/v6.6/mm/damon/index.html admin guide DAMON (轻量级数据
阅读全文
posted @ 2023-12-13 09:38
摩斯电码
阅读(10)
推荐(0)
编辑
摘要:
https://www.kernel.org/doc/html/v6.6/admin-guide/mm/soft-dirty.html 软脏(soft-dirty)是一个位于 PTE(页表项)上的标志位,用于跟踪任务写入的哪些页面。为了进行这种跟踪,需要执行以下步骤: 清除任务的 PTE 中的软脏位
阅读全文
posted @ 2023-12-12 23:13
摩斯电码
阅读(23)
推荐(0)
编辑
摘要:
https://www.kernel.org/doc/html/v6.6/mm/active_mm.html 注意,对于内核中配置为 CONFIG_MMU_LAZY_TLB_REFCOUNT=n 的系统,mm_count 引用计数可能不再包括“懒惰”用户(即运行任务时满足条件 ->active_mm
阅读全文
posted @ 2023-12-12 23:09
摩斯电码
阅读(3)
推荐(0)
编辑
摘要:
https://www.kernel.org/doc/html/v6.6/mm/hwpoison.html "hwpoison"是什么? 即将推出的英特尔CPU支持从一些内存错误(MCA恢复)中恢复。这需要操作系统声明一个页面为“毒害”,终止与之关联的进程,并避免将来使用它。 这个补丁包在虚拟机中实
阅读全文
posted @ 2023-12-12 23:06
摩斯电码
阅读(30)
推荐(0)
编辑
摘要:
https://www.kernel.org/doc/html/v6.6/mm/ksm.html Kernel Samepage Merging(KSM) KSM是一种节省内存的去重功能,通过CONFIG_KSM=y启用,添加到Linux内核中的2.6.32版本。有关其实现,请参阅mm/ksm.c,
阅读全文
posted @ 2023-12-12 22:57
摩斯电码
阅读(21)
推荐(0)
编辑
摘要:
https://www.kernel.org/doc/html/v6.6/mm/memory-model.html 物理内存模型 系统中的物理内存可以以不同的方式进行寻址。最简单的情况是物理内存从地址0开始,并延伸到最大地址的连续范围。然而,这个范围可能包含对CPU不可访问的小空洞。然后可能存在完全
阅读全文
posted @ 2023-12-12 22:53
摩斯电码
阅读(26)
推荐(0)
编辑
摘要:
https://www.kernel.org/doc/html/v6.6/mm/multigen_lru.html 多代LRU 多代LRU是一种替代LRU实现,它优化页面回收并在内存压力下提高性能。页面回收决定了内核的缓存策略和内存过度分配的能力。它直接影响了kswapd CPU的使用率和RAM的效
阅读全文
posted @ 2023-12-12 22:50
摩斯电码
阅读(28)
推荐(0)
编辑
摘要:
https://www.kernel.org/doc/html/v6.6/mm/page_migration.html#page-migration 页面迁移 页面迁移允许在 NUMA 系统中的节点之间移动页面的物理位置,同时进程正在运行。这意味着进程看到的虚拟地址不会改变。但是,系统重新排列这些页
阅读全文
posted @ 2023-12-12 22:47
摩斯电码
阅读(19)
推荐(0)
编辑
摘要:
https://www.kernel.org/doc/html/v6.6/mm/vmalloced-kernel-stacks.html 虚拟映射的内核栈支持 作者 Shuah Khan skhan@linuxfoundation.org 概述 这是从引入虚拟映射内核栈功能的代码和原始补丁系列中整理
阅读全文
posted @ 2023-12-12 22:44
摩斯电码
阅读(15)
推荐(0)
编辑
摘要:
https://www.kernel.org/doc/html/v6.6/mm/free_page_reporting.html 空闲页面报告 空闲页面报告是一种API,设备可以通过该API注册以接收当前系统未使用的页面列表。这在虚拟化的情况下非常有用,因为虚拟机可以利用这些数据通知hypervis
阅读全文
posted @ 2023-12-12 22:32
摩斯电码
阅读(13)
推荐(0)
编辑
摘要:
https://www.kernel.org/doc/html/v6.6/mm/hmm.html 异构内存管理(HMM) HMM提供基础设施和辅助工具,将非常规内存(例如设备内存,如GPU板载内存)整合到常规内核路径中,其核心是为此专门设计的用于此类内存的struct page(请参见本文档的第5至
阅读全文
posted @ 2023-12-12 22:27
摩斯电码
阅读(156)
推荐(0)
编辑
摘要:
原文:https://www.kernel.org/doc/html/v6.6/admin-guide/mm/damon/index.html DAMON: 数据访问监控 DAMON允许进行轻量级的数据访问监控。使用DAMON,用户可以分析其系统的内存访问模式并进行优化。 入门指南 先决条件 记录数
阅读全文
posted @ 2023-12-12 21:32
摩斯电码
阅读(5)
推荐(0)
编辑
摘要:
https://docs.kernel.org/translations/zh_CN/mm/page_owner.html
阅读全文
posted @ 2023-12-12 21:30
摩斯电码
阅读(28)
推荐(0)
编辑
摘要:
原文:https://www.kernel.org/doc/html/latest/admin-guide/mm/idle_page_tracking.html 空闲页面跟踪 动机 空闲页面跟踪功能允许跟踪工作负载访问的内存页面和空闲页面。这些信息对于估算工作负载的工作集大小很有用,进而可以在配置工
阅读全文
posted @ 2023-12-12 21:29
摩斯电码
阅读(45)
推荐(0)
编辑
摘要:
原文:https://www.kernel.org/doc/html/v6.6/admin-guide/mm/pagemap.html 检查进程页表 pagemap是内核中的一组接口,允许用户空间程序通过读取/proc中的文件来检查页面表和相关信息。 pagemap包括以下四个组件: /proc/p
阅读全文
posted @ 2023-12-12 21:03
摩斯电码
阅读(50)
推荐(0)
编辑
摘要:
原文:https://www.kernel.org/doc/html/v6.6/mm/slub.html SLUB简短用户指南 SLUB的基本理念与SLAB非常不同。SLAB需要重新构建内核以激活所有slab缓存的调试选项。SLUB始终包含完整的调试功能,但默认情况下处于关闭状态。SLUB可以仅针对
阅读全文
posted @ 2023-12-12 20:16
摩斯电码
阅读(72)
推荐(0)
编辑
摘要:
原文:https://www.kernel.org/doc/html/v6.6/admin-guide/cgroup-v1/index.html Control Groups Block IO Controller CPU Accounting Controller CPUSETS Device W
阅读全文
posted @ 2023-12-12 19:58
摩斯电码
阅读(6)
推荐(0)
编辑
摘要:
https://www.kernel.org/doc/html/v6.6/power/energy-model.html 设备的能量模型 1. 概述 能量模型(EM)框架充当了一个接口,连接了了解各种性能水平下设备功耗的驱动程序和愿意利用该信息做出节能决策的内核子系统。 关于设备功耗的信息来源在不同
阅读全文
posted @ 2023-12-12 19:54
摩斯电码
阅读(18)
推荐(0)
编辑
摘要:
https://www.kernel.org/doc/html/v6.6/power/suspend-and-interrupts.html 系统挂起和设备中断 版权 © 2014 Intel Corp. 作者:Rafael J. Wysocki rafael.j.wysocki@intel.com
阅读全文
posted @ 2023-12-12 16:50
摩斯电码
阅读(9)
推荐(0)
编辑
摘要:
https://www.kernel.org/doc/html/v6.6/driver-api/pm/notifiers.html 挂起/休眠通知器 版权 © 2016 Intel Corporation 作者 Rafael J. Wysocki rafael.j.wysocki@intel.com
阅读全文
posted @ 2023-12-12 16:40
摩斯电码
阅读(21)
推荐(0)
编辑
摘要:
https://www.kernel.org/doc/html/v6.6/power/basic-pm-debugging.html 调试休眠和挂起功能 2007年 Rafael J. Wysocki rjw@sisk.pl,GPL 1. 测试休眠(也称为挂起到磁盘或STD) 要检查休眠是否正常工作
阅读全文
posted @ 2023-12-12 16:36
摩斯电码
阅读(11)
推荐(0)
编辑
摘要:
https://www.kernel.org/doc/html/v6.6/driver-api/pm/types.html struct dev_pm_ops device PM callbacks. Definition: struct dev_pm_ops { int (*prepare)(st
阅读全文
posted @ 2023-12-12 16:29
摩斯电码
阅读(8)
推荐(0)
编辑
摘要:
https://www.kernel.org/doc/html/v6.6/power/regulator/consumer.html 消费者驱动器接口 这段文字描述了用于消费者设备驱动程序的调节器接口。请参阅Linux电压和电流调节器框架,以了解本文中使用的术语。 1. 消费者调节器访问(静态和动态
阅读全文
posted @ 2023-12-12 16:21
摩斯电码
阅读(11)
推荐(0)
编辑
摘要:
https://www.kernel.org/doc/html/v6.6/power/regulator/overview.html Linux电压和电流调节器框架 关于 该框架旨在提供一个标准的内核接口,用于控制电压和电流调节器。 其目的是允许系统动态控制调节器的功率输出,以节省电力并延长电池寿命
阅读全文
posted @ 2023-12-12 16:18
摩斯电码
阅读(23)
推荐(0)
编辑
摘要:
https://www.kernel.org/doc/html/latest/admin-guide/pm/strategies.html 这段文本介绍了Linux内核支持的两种主要高级电源管理策略。 第一种策略是基于使用整个系统的全局低功耗状态,其中用户空间代码无法执行,整个系统的活动性显著降低,
阅读全文
posted @ 2023-12-12 16:08
摩斯电码
阅读(7)
推荐(0)
编辑
摘要:
https://www.kernel.org/doc/html/v6.6/power/runtime_pm.html I/O设备的运行时电源管理框架 2009-2011 Rafael J. Wysocki rjw@sisk.pl, Novell Inc. 2010 Alan Stern stern@
阅读全文
posted @ 2023-12-12 16:07
摩斯电码
阅读(17)
推荐(0)
编辑
摘要:
https://www.kernel.org/doc/html/v6.6/admin-guide/pm/cpuidle.html CPU 空闲时间管理 版权 © 2018 Intel Corporation 作者 Rafael J. Wysocki rafael.j.wysocki@intel.co
阅读全文
posted @ 2023-12-12 11:25
摩斯电码
阅读(107)
推荐(0)
编辑
摘要:
https://www.kernel.org/doc/html/latest/admin-guide/pm/cpufreq.html CPU性能调节 概念 现代处理器大多具有多种不同的时钟频率和电压配置,通常称为操作性能点或 P 状态(在 ACPI 术语中)。一般来说,时钟频率和电压越高,CPU 在
阅读全文
posted @ 2023-12-12 11:00
摩斯电码
阅读(89)
推荐(0)
编辑
摘要:
https://www.kernel.org/doc/html/v6.6/power/pm_qos_interface.html PM Quality Of Service Interface 该接口为驱动程序、子系统和用户空间应用程序提供了一个内核和用户模式接口,用于在一个参数上注册性能期望。 有
阅读全文
posted @ 2023-12-12 10:48
摩斯电码
阅读(35)
推荐(0)
编辑
摘要:
https://www.kernel.org/doc/html/v6.6/admin-guide/pm/sleep-states.html 系统睡眠状态 版权 © 2017 Intel Corporation 作者 Rafael J. Wysocki rafael.j.wysocki@intel.c
阅读全文
posted @ 2023-12-12 10:45
摩斯电码
阅读(27)
推荐(0)
编辑
摘要:
https://www.kernel.org/doc/html/v6.6/power/freezing-of-tasks.html 任务冻结 什么是任务冻结? 任务冻结是一种机制,通过该机制可以在休眠或系统范围挂起(在某些架构上)期间控制用户空间进程和一些内核线程。 它是如何工作的? 任务冻结使用三
阅读全文
posted @ 2023-12-12 10:35
摩斯电码
阅读(26)
推荐(0)
编辑
摘要:
https://www.kernel.org/doc/html/v6.6/livepatch/index.html Livepatching 是一种在不需要重新启动系统的情况下,对运行中的内核进行补丁更新的技术。以下是对这些术语的简要解释: Livepatch: 一种技术,允许在运行中的内核中应用补
阅读全文
posted @ 2023-12-12 10:33
摩斯电码
阅读(8)
推荐(0)
编辑