云栖梦泽
林渡
Blog
  • 首页
  • 开始浏览
    • 人世间
      • 世间风声
      • 人间烟火
    • 壹句话
    • 山中功课
      • LRDP2
      • Linux内核
      • 技术分享
      • ARM体系架构
      • Linux内存管理
      • Android稳定性
    • 云外光影
      • 动物与植物
      • 美食
      • 生活气息
      • 人物
    • 文章归档
      • 技术分享
      • 视频类型
      • 音频类型
      • 图文类型
      • 图片类型
  • 专题
    • 众星
    • 豆瓣
    • 足迹
    • 走心评论
    • 林渡的网盘
  • 留言板
  • 关于
    • 关于我
    • 一些声明
      • 站点声明
      • 隐私政策
    • 网站统计
  • 欢迎订阅!

欢迎来到云栖梦泽,为您导读全站动态
  • bits 14小时前留言 感谢分享
  • jicky 4日前留言 拜读
  • 林渡 5日前留言 我觉得是编译器的优化导致,现代CPU很智能了,简单的例子可能已经难以体现优化效果😂
  • 北流 5日前留言 likely/unlikely在汇编层面,好像使用和不使用汇编代码差不多,在代码上没有体现出把fast_path()路径安排为无条件顺序执行?
  • 困猫猫 1周前留言 看似底层的技术,其实对应用性能影响很大。之前遇到过tracepoint太多导致性能抖动,原来static keys就是为了解决这类问题,真心佩服内核的设计思路!
  • 风继续吹 2周前留言 请问static keys这种方法会不会有兼容性问题?比如不同CPU架构下实现jump label是不是都要单独处理?如果系统热更频繁会不会带来更高的维护成本?
  • 熊大不怕冷 2周前留言 以前我只用过likely/unlikely这类宏,还真没仔细了解过jump label和static keys。看完后感觉内核开发确实追求极致性能,能把分支彻底消除太强了。感谢科普,涨知识了!
  • 小狐狸爱睡觉 2周前留言 讲解得很细致,尤其是static key和jump label的机制解析,终于明白为什么内核能做到几乎零分支开销了!不过我还有点疑惑,动态打补丁会不会让调试变得更复杂?有相关的陷阱或者注意点吗?
  • isvac 2周前留言 学习
  • wo 2周前留言 111
2025 年 9 月
日一二三四五六
123456
78910111213
14151617181920
21222324252627
282930
« 8 月  
最近文章
  • 2025-09-18 [Linux进程调度] 第002篇 Linux下0号进程的前世(init_task进程)今生(idle进程)
  • 2025-09-11 【深入内核】理解Linux Static Keys和jump label机制
  • 2025-09-05 高效工作的秘诀:时间管理
  • 2025-09-04 琴棋书画诗酒花与柴米油盐酱醋茶的人生辩证
  • 2025-09-04 透视人生的意义:活出属于自己的答案
  • 2025-08-27 [Android稳定性] 第058篇 [方法篇] 高通平台使用QFIL回读分区
  • 2025-08-23 [linux内存管理] 第029篇 谁把folio的函数定义“藏”起来了?
  • 2025-08-19 【深入内核】ARM64下的内核栈
热门文章
  • 2025-06-06 高通平台xbl启动流程补充
  • 2025-06-27 [Android稳定性] 第053篇 [方法篇] 稳定性问题分析指导
  • 2025-07-21 高通以及MTK平台内核单独编译ko的原理
  • 2024-12-15 [Android稳定性] 第000篇 Android稳定性系列开篇
  • 2025-06-25 [Android稳定性] 第052篇 [方法篇] HMI项目中如何使用QCAP解析minidump?
  • 2025-06-09 【深入内核】linux ftrace详解
  • 2025-06-04 [Android稳定性] 第046篇 [方法篇] 如何使用trace32恢复AOP现场?
  • 2025-08-27 [Android稳定性] 第058篇 [方法篇] 高通平台使用QFIL回读分区
热门标签
  • 内核线程 1
  • 体力宝宝 0
  • 价值观 1
  • 内核开发 1
  • 生产力工具 1
  • Linux内核 3
  • init进程 1
  • 技能搭配 0
  • 游戏攻略 0
  • 理想与现实 1
  • 人生态度 1
  • 人生意义 1
  • 精神追求 1
  • 性能优化 1
  • 番茄工作法 0
  • 习惯养成 0
  • 生活美学 1
  • 内核栈 1
  • 任务优先级 0
  • 反思 1
  • 个人成长 1
  • 时间管理 1
  • 效率提升 0
  • 自我认知 1
  • 烟火气 1
  • 宠物技能 0
  • 任务管理 1
  • Static Keys 1
  • 进程调度 1
  • 动态分支 1
  • 寄存器 1
  • idle进程 1
  • 高效工作 1
  • 天龙八部归来 0
  • 页面管理 1
  • minidump 3
  • kmalloc 1
  • kasan 2
  • dtc 1
  • 内存规整 1
  • setup_arch 1
  • 进程栈 2
  • mtdoops 1
  • QFIL 1
  • memory 3
  • git 1
  • 编译器优化 1
  • buddy 3
  • memblock 4
  • LDO 1
10350° 145 10 89
当您评论及浏览文章且浏览器未禁止COOKIE时,会为您显示最近10条回复及前8篇文章的浏览记录。
标签:logcat

logcat 0篇

今天是云栖梦泽·

2024-11-11

随机阅读「[linux内存管理] 第004章 内存架构和内存模型」
阅读 您好!根据您提供的文档内容,我为您总结出以下要点: **架构概述**: * 服务器架构主要分为三类:SMP、NUMA、MPP。 * 共享存储型多处理机有UMA和NUMA两种模型。 **基本概念**: * PFN:物理内存页帧编号,用于标识每个物理页。 * PF:线性地址被分成固定长度的页,例如4K。 * Page Frame:内存被分成固定长度的存储区域,包含一个页。 * UMA:所有CPU访问内存的时间相同,共享同一块物理内存。 * NUMA:CPU访问本地内存速度快于远端内存,有多个内存节点和CPU簇。 * COMA:NUMA的一种特例,只用高速缓存访问架构。 **内存架构总结**: | 概念 | 描述 | 特点 | |---|---|---| | SMP | 共享存储型多处理机 | 可伸缩性有限 | | UMA | 均匀存储器存取 | 所有处理器对所有存储字具有相同的存取时间 | | NUMA | 非均匀存储器存取 | 访问时间随存储字的位置不同而变化 | | COMA | 只用高速缓存的存储器结构 | 每个处理机结点上没有存储器层次结构 | **内存模型**: * FLATMEM:适用于具有连续或大部分连续物理内存的非NUMA系统,使用全局数组mem_map组织物理页。 * DISCONTIGMEM:适用于管理多块非连续的物理内存,通过node节点管理连续物理内存页,避免内存空洞造成的空间浪费。 * SPARSEMEM:适用于内存热拔插场景,使用section对粒度更小的连续内存块进行精细管理。 **内存模型转换逻辑**: * FLATMEM:基于mem_map数组进行偏移操作。 * DISCONTIGMEM:先定位page所在node,再通过node_mem_map定位PFN。 * SPARSEMEM:先定位page或PFN所在section,再通过section_mem_map定位page或PFN。 **总结**: 文档详细介绍了计算机系统中以内存为研究对象的两种架构:NUMA和UMA,以及对应的内存模型:FLATMEM、DISCONTIGMEM、SPARSEMEM。并对内存管理发展过程中,与UMA和NUMA对应的三种内存模型进行了简述。 希望以上总结对您有所帮助!如有任何疑问,请随时提出。
壹行随十人
  • 秘柯絮语
  • 南方嘉木
  • 轻雅阁
  • 风记星辰
  • 山海云栈
  • 问心斋
  • 世上云川
  • 迷鹿屋
  • 菲兹克斯喵
  • 星风之痕
云栖梦泽版权所有 · 架构于Halo及为您增强体验的THYUU/星度主题
苏ICP备2025185582号-1 苏ICP备2025185582号-1 苏公网安备32060102321049号 苏公网安备32060102321049号 BlogsClub BlogsClub
总访问量:| 访客人数: