据我所知,lowmemorykiller将自己注册到shrinker_list。 当kswapd进程在免费页面数量达到阈值以下时进入图片。 但我无法理解kswapd进程如何从shrinker_list调用lowmemorykiller。 任何帮助将不胜感激。(确切的代码点)
谢谢你, 普拉迪普
答案 0 :(得分:1)
有一个struct shrinker
。它已在register_shrinker()
注册。它在mm/vmscan中定义,并将收缩者添加到shrinker_list
。然后shrink_slab()
为每个收缩者调用shrink_slab_node()
,后者又调用收缩者的count_objects()
和scan_objects()
。