[linux内存管理] 第029篇 谁把folio的函数定义“藏”起来了? 2月前查看 3 条
[linux内存管理] 第029篇 谁把folio的函数定义“藏”起来了?

这篇文章探讨了在阅读Linux内核代码时,如何解决一些函数定义难以找到的问题。作者遇到了folio_test_active()等函数无法找到定义的困惑,通过搜索发现这些函数是通过特殊的宏定义在page-flags.h文件中创建的。文章详细解释了PAGE_TYPE_OPS()和FOLIO_FLAG()宏的工作原理,以及如何通过这些宏定义函数。最终,作者成功理解了这些函数的定义方式,并总结说这种方法虽然特殊,但探索和理解的过程非常有意思。

[linux内存管理] 第028篇 do_anonymous_page只处理私有映射吗? 3月前查看 1 条
[linux内存管理] 第028篇 do_anonymous_page只处理私有映射吗?

文章摘要:本文探讨了Linux内核中do_anonymous_page()函数的作用,解释了它为什么只处理私有匿名映射。通过分析do_pte_missing()、vma_is_anonymous()、vma_set_anonymous()等函数,以及mmap_region()函数中的逻辑,文章得出结论:在mmap()流程中,只有私有匿名映射的vm_ops会被设置为NULL,从而被do_anonymous_page()处理。其他类型的映射,如共享匿名映射和文件映射,其vm_ops不为空,因此不会被该函数处理。

[Android稳定性] 第056篇 [问题篇] 记一例Kernel panic - not syncing: Attempted to kill init! 3月前查看 2 条
[Android稳定性] 第056篇 [问题篇] 记一例Kernel panic - not syncing: Attempted to kill init!

**问题现场**:系统出现大量I/O和read ERROR,初步怀疑与storage访问相关,进一步分析发现系统正在进行shutdown流程。 **初步分析**:系统当时正在走低电关机流程,且尝试访问磁盘数据时出现IO ERROR,怀疑是下电时序导致storage先下电,导致上层进程访问失败。 **平台回复**:charger相关函数检测到低电后直接调用kernel_power_off执行下电关机,跳过上层shutdown流程,导致上层访问存储设备失败,引发异常。 **解决方法**:删除底层shutdown操作,先走上层关机流程,避免问题发生。 **代码浅析**:正常情况下,上层先走完shutdown流程,再通过syscall让底层继续shutdown。 **补充**:在系统下电流程中,做好时序上的同步非常重要,避免出现竞态访问导致异常。

简述
幻想当大魔王统治世界的普通程序员
  • 1565612544@qq.com
  • 生涯
  • 行业装神弄鬼
  • 职业在魔王城扫地
  • 人生
  • 生活角色大魔王
  • 社会角色大魔王
  • 类型
  • 星座 摩羯座
  • 生肖
  • 血型保密
  • 数据
  • 发表文章3篇
  • 发表评论2个
  • 星球加热380度
  • 最近的心情能量
  • 地图数据来源于高德地图
  • isfj 守卫者
    infj 提倡者
    • 外向内向
    • 远见现实
    • 理性感受
    • 评判展望
    • 坚决起伏
  • 了解更多信息