Android lmkd 机制详解(二)
时间:2022-10-31 19:00:00
源码基于:Android R
接上一篇:Android lmkd 机制详解(1)
8.mp_event_common
在Android R 中lmkd 在init_mp_psi 以前确认的是否为new strategy 来确认最终lmkd 处理部分采用PSI 监控策略仍然是旧模式。
下面是init_mp_psi 注册策略处理选择:
static bool init_mp_psi(enum vmpressure_level level, bool use_new_strategy) { ... vmpressure_hinfo[level].handler = use_new_strategy ? mp_event_psi : mp_event_common; vmpressure_hinfo[level].data = level;
本节主要分析Android R 中旧模式的处理函数mp_event_common。由于代码较多,下面分段进行分析。
step 1. 初始化工作
从代码中看 Android R 中的lmkd 还支持非psi 监听器的策略应该是旧的 kenerl 驱动程序策略。
if (!use_psi_monitors) { /* * Check