![[linux内存管理] 第029篇 谁把folio的函数定义“藏”起来了?](https://halo-19274848.oss-cn-shanghai.aliyuncs.com/2025/08/halo_lwibxfi.jpg?x-oss-process=style/watermark&x-oss-process=image/resize,w_800,m_lfit)
[linux内存管理] 第029篇 谁把folio的函数定义“藏”起来了?
这篇文章探讨了Linux内核中一种特殊的函数定义方式,作者在阅读代码时遇到了无法找到某些函数定义的问题,如`folio_test_active()`。通过深入研究,作者发现这些函数是通过宏定义如`PAGE_TYPE_OPS()`和`FOLIO_FLAG()`在`/include/linux/page-flags.h`中定义的。文章详细解释了这些宏如何工作,以及如何通过它们生成函数定义。总结部分指出,这种探索过程虽然艰辛,但对于喜欢阅读代码的人来说,发现和理解这些机制是非常有趣且有益的。
![[linux内存管理] 第028篇 do_anonymous_page只处理私有映射吗?](https://halo-19274848.oss-cn-shanghai.aliyuncs.com/2025/08/halo_woensf8.jpg?x-oss-process=style/watermark&x-oss-process=image/resize,w_800,m_lfit)
[linux内存管理] 第028篇 do_anonymous_page只处理私有映射吗?
![[Android稳定性] 第056篇 [问题篇] 记一例Kernel panic - not syncing: Attempted to kill init!](https://halo-19274848.oss-cn-shanghai.aliyuncs.com/2025/08/halo_nkcbuym.png?x-oss-process=style/watermark&x-oss-process=image/resize,w_800,m_lfit)
[Android稳定性] 第056篇 [问题篇] 记一例Kernel panic - not syncing: Attempted to kill init!
问题现场 笔者第一次遇到类似问题,首先查看当时的kernel log,定位到的异常是大量的I/O ERROR以及read ERROR,初步怀疑跟storage访问相关。 继续看log,会发现许多设备在走shutdown流程,比如说第四行开始的log,就是下电时需要把缓存写进storage,在完成一些