摘要:
参考 https://zhuanlan.zhihu.com/p/545432403?utm_id=0 软件版本 Qemu:8.0.0 Linux:6.5 GCC: 13.2.1 内核配置 参考arch/arm64/Kconfig: CONFIG_ARM64_AS_HAS_MTE: 当编译器支持mem
阅读全文
posted @ 2024-02-24 19:07
dolinux
阅读(454)
推荐(0)
摘要:
https://github.com/torvalds/linux/blob/v6.5/tools/perf/design.txt Performance Counters for Linux Performance counters are special hardware registers a
阅读全文
posted @ 2024-01-28 19:20
dolinux
阅读(279)
推荐(0)
摘要:
目录示例程序1单计数器多计数器示例程序2Configure a single counterConfigure multiple counters (no multiplexing) 示例程序1 Linux perf子系统的使用(一)——计数 刚刚入职的时候我就研究了perf_event_open(
阅读全文
posted @ 2024-01-28 19:20
dolinux
阅读(1787)
推荐(0)
摘要:
目录参考内核版本作者正文初始化内核写__perf_event_outputperf_output_begin_forwardperf_output_sampleperf_output_put_handle唤醒应用应用读 参考 perf_event内核框架 tracepoint events soft
阅读全文
posted @ 2024-01-28 17:36
dolinux
阅读(795)
推荐(0)
摘要:
目录示例程序2采集单个值采集多个值示例程序2示例程序3 示例程序2 Linux perf子系统的使用(二)——采样(signal方式) 在上一篇《Linux perf子系统的使用(一)——计数》已经讲解了如何使用perf_event_open、read和ioctl对perf子系统进行编程。但有时我们
阅读全文
posted @ 2024-01-28 17:12
dolinux
阅读(1387)
推荐(0)
摘要:
目录参考NAMESYNOPSISDESCRIPTIONArgumentspid和cpugroup_fdflagsperf_event_attrtypesizeconfigkprobe_func, uprobe_path, kprobe_addr, and probe_offsetsample_per
阅读全文
posted @ 2024-01-27 20:23
dolinux
阅读(225)
推荐(0)
摘要:
参考 用clang编译Linux内核 type_id=3 vlen != 0 on 5.4 LTS kernel libbpf-tools compile with core_fixes.bpf.h include got error bpf_btf_info has no member named
阅读全文
posted @ 2024-01-17 16:44
dolinux
阅读(912)
推荐(2)
摘要:
输出编译日志 https://chuna2.787528.xyz/pengdonglin137/articles/13932025.html 优先链接静态库 https://chuna2.787528.xyz/coding-my-life/p/14018972.html
阅读全文
posted @ 2024-01-16 14:41
dolinux
阅读(43)
推荐(0)
摘要:
参考 https://lwn.net/Articles/955709/ 中文翻译:https://mp.weixin.qq.com/s/ADhYpT2z8VBlFfN21vVn8g PATCH: https://lwn.net/Articles/954938/ https://lwn.net/ml/
阅读全文
posted @ 2024-01-16 14:32
dolinux
阅读(69)
推荐(0)
摘要:
官网 https://www.qnx.com/developers/docs/index.html Software Development Platform 7.0 User's Guide Performance Tuning Virtual Device Developer's Guide 7
阅读全文
posted @ 2024-01-13 10:03
dolinux
阅读(153)
推荐(0)
摘要:
参考 https://shurufa.sogou.com/linux/guide sudo cp /usr/share/applications/fcitx.desktop /etc/xdg/autostart/ 仿照上面的方法,将对应的desktop文件拷贝到autostart下即可。
阅读全文
posted @ 2024-01-05 15:23
dolinux
阅读(152)
推荐(0)
摘要:
安装clang https://apt.llvm.org/ For convenience there is an automatic installation script available that installs LLVM for you. To install the latest st
阅读全文
posted @ 2024-01-01 10:18
dolinux
阅读(971)
推荐(0)
摘要:
参考 https://source.android.google.cn/docs/setup/create/cuttlefish-kernel-dev?hl=zh-cn 我使用的是common-android13-5.10,在编译的时候使用的是build.sh的方法,在实际编译的时候遇到System
阅读全文
posted @ 2023-12-31 20:08
dolinux
阅读(350)
推荐(0)
摘要:
作者
[email protected] 概述 下面是之前写的使用funcgraph-retval的文章: https://chuna2.787528.xyz/pengdonglin137/p/17126952.html https://chuna2.787528.xyz/pengdonglin1
阅读全文
posted @ 2023-12-24 10:21
dolinux
阅读(161)
推荐(0)
摘要:
learn_the_architecture_-_aarch64_memory_attributes_and_properties_102376_0200_01_en.pdf DDI0487B_a_armv8_arm.pdf -- B2.7 Memory types and attributes
阅读全文
posted @ 2023-12-18 21:31
dolinux
阅读(61)
推荐(0)
摘要:
learn_the_architecture_-_aarch64_memory_attributes_and_properties_102376_0200_01_en.pdf
阅读全文
posted @ 2023-12-18 21:16
dolinux
阅读(140)
推荐(0)
摘要:
来源 learn_the_architecture_-_aarch64_exception_model_102412_0103_01_en.pdf DDI0487B_a_armv8_arm.pdf 即:EL0不能调用SMC或者HVC 这个从HVC和SMC指令的伪码中可以看到: HVC SMC
阅读全文
posted @ 2023-12-17 12:29
dolinux
阅读(2040)
推荐(0)
摘要:
在基于ARM64的Qemu/KVM学习环境搭建中介绍了搭建环境的方法。 使用新的Qemu版本:qemu-8.0.0 #!/bin/bash ../configure --prefix=`pwd` \ --target-list=x86_64-softmmu,aarch64-softmmu \ --e
阅读全文
posted @ 2023-12-13 21:43
dolinux
阅读(817)
推荐(0)
摘要:
https://www.kernel.org/doc/html/v6.6/subsystem-apis.html#storage-interfaces
阅读全文
posted @ 2023-12-13 11:08
dolinux
阅读(40)
推荐(0)
摘要:
https://www.kernel.org/doc/html/v6.6/subsystem-apis.html#networking-interfaces
阅读全文
posted @ 2023-12-13 11:07
dolinux
阅读(50)
推荐(0)
摘要:
https://www.kernel.org/doc/html/v6.6/virt/index.html 虚拟化支持 KVM KVM(基于内核的虚拟机)API文档 设备 ARM 用于s390系统的KVM PPC KVM 拟态接口 用于x86系统的KVM KVM锁概述 KVM VCPU请求 KVM停止
阅读全文
posted @ 2023-12-13 10:48
dolinux
阅读(45)
推荐(0)
摘要:
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:45
dolinux
阅读(71)
推荐(0)
摘要:
https://www.kernel.org/doc/html/v6.6/mm/damon/api.html
阅读全文
posted @ 2023-12-13 10:42
dolinux
阅读(40)
推荐(0)
摘要:
https://www.kernel.org/doc/html/v6.6/mm/damon/design.html 设计 整体架构 DAMON 子系统配置了三层,包括 操作集:实现了依赖于给定监控目标地址空间和可用软硬件原语的 DAMON 基本操作, 核心:在操作集层之上实现了核心逻辑,包括监控开销
阅读全文
posted @ 2023-12-13 10:39
dolinux
阅读(157)
推荐(0)
摘要:
https://www.kernel.org/doc/html/v6.6/mm/damon/faq.html 常见问题解答 DAMON是否仅支持虚拟内存? 不是的。DAMON的核心是与地址空间无关的。用户可以在DAMON核心上实现和配置特定于地址空间的监视操作,包括监视目标区域的构建和实际访问检查。
阅读全文
posted @ 2023-12-13 10:31
dolinux
阅读(39)
推荐(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
dolinux
阅读(85)
推荐(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
dolinux
阅读(159)
推荐(0)
摘要:
https://www.kernel.org/doc/html/v6.6/admin-guide/mm/damon/usage.html DAMON 详细用法 DAMON 提供了以下接口供不同用户使用: DAMON 用户空间工具:这是为特权用户(如系统管理员)提供的,他们希望使用一个即插即用的人性化
阅读全文
posted @ 2023-12-13 10:11
dolinux
阅读(391)
推荐(0)
摘要:
https://www.kernel.org/doc/html/v6.6/admin-guide/mm/damon/start.html 使用 DAMON 入门指南 本文档简要描述了如何使用 DAMON,并演示了其默认用户空间工具。请注意,出于简洁起见,本文档仅描述了其部分功能。更多细节,请参考工具
阅读全文
posted @ 2023-12-13 09:41
dolinux
阅读(238)
推荐(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:37
dolinux
阅读(173)
推荐(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
dolinux
阅读(187)
推荐(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
dolinux
阅读(49)
推荐(0)
摘要:
https://www.kernel.org/doc/html/v6.6/mm/hwpoison.html "hwpoison"是什么? 即将推出的英特尔CPU支持从一些内存错误(MCA恢复)中恢复。这需要操作系统声明一个页面为“毒害”,终止与之关联的进程,并避免将来使用它。 这个补丁包在虚拟机中实
阅读全文
posted @ 2023-12-12 23:06
dolinux
阅读(189)
推荐(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:56
dolinux
阅读(160)
推荐(0)
摘要:
https://www.kernel.org/doc/html/v6.6/mm/memory-model.html 物理内存模型 系统中的物理内存可以以不同的方式进行寻址。最简单的情况是物理内存从地址0开始,并延伸到最大地址的连续范围。然而,这个范围可能包含对CPU不可访问的小空洞。然后可能存在完全
阅读全文
posted @ 2023-12-12 22:53
dolinux
阅读(170)
推荐(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
dolinux
阅读(272)
推荐(0)
摘要:
https://www.kernel.org/doc/html/v6.6/mm/page_migration.html#page-migration 页面迁移 页面迁移允许在 NUMA 系统中的节点之间移动页面的物理位置,同时进程正在运行。这意味着进程看到的虚拟地址不会改变。但是,系统重新排列这些页
阅读全文
posted @ 2023-12-12 22:47
dolinux
阅读(215)
推荐(0)
摘要:
https://www.kernel.org/doc/html/v6.6/mm/vmalloced-kernel-stacks.html 虚拟映射的内核栈支持 作者 Shuah Khan
[email protected] 概述 这是从引入虚拟映射内核栈功能的代码和原始补丁系列中整理
阅读全文
posted @ 2023-12-12 22:44
dolinux
阅读(120)
推荐(0)
摘要:
https://www.kernel.org/doc/html/v6.6/mm/free_page_reporting.html 空闲页面报告 空闲页面报告是一种API,设备可以通过该API注册以接收当前系统未使用的页面列表。这在虚拟化的情况下非常有用,因为虚拟机可以利用这些数据通知hypervis
阅读全文
posted @ 2023-12-12 22:32
dolinux
阅读(54)
推荐(0)
摘要:
https://www.kernel.org/doc/html/v6.6/mm/hmm.html 异构内存管理(HMM) HMM提供基础设施和辅助工具,将非常规内存(例如设备内存,如GPU板载内存)整合到常规内核路径中,其核心是为此专门设计的用于此类内存的struct page(请参见本文档的第5至
阅读全文
posted @ 2023-12-12 22:27
dolinux
阅读(688)
推荐(0)