Linux内核代码的哪一部分负责实现LRU?

Linux内核代码的哪一部分负责实现LRU?,linux,kernel,lru,Linux,Kernel,Lru,我一直在阅读源代码文件中的文档和注释,但无法找出负责在最新版本的内核中实现LRU的确切函数/代码。我想对它稍作修改,这就是我寻找它的原因 我发现内核维护活动和非活动列表。这段代码在哪里?假设内核为v3.18,大多数与LRU相关的代码都在mm/swap.c中。如果您查看此文件,可能会对许多函数感兴趣。例如: void lru\u cache\u add\u active\u或\u unvictable(结构页*页), 结构vm_区域_结构*vma) 见: mm中还有其他相关文件。尝试查看与Lin

我一直在阅读源代码文件中的文档和注释,但无法找出负责在最新版本的内核中实现LRU的确切函数/代码。我想对它稍作修改,这就是我寻找它的原因


我发现内核维护活动和非活动列表。这段代码在哪里?

假设内核为v3.18,大多数与LRU相关的代码都在
mm/swap.c
中。如果您查看此文件,可能会对许多函数感兴趣。例如:

void lru\u cache\u add\u active\u或\u unvictable(结构页*页),
结构vm_区域_结构*vma)
见:

mm
中还有其他相关文件。尝试查看与Linux虚拟内存(通常缩写为“vm”)子系统相关的文件,以及名称中带有“swap”的文件


正如您所发现的,很多关于Linux的LRU的文献已经过时了。一般的概念可能是相同的,但它们已经重命名/移动了很多东西。

fault.c等呢?那有什么用?我在哪里可以找到文档?请帮助
fault.c
的主要内容是特定于架构的页面错误处理。例如,它有
do\u page\u fault()
函数,该函数最终调用
handle\u mm\u fault()
,该函数位于
mm/memory.c
中。不幸的是,我不知道任何文档(除了源代码中的注释)。您很可能只需要阅读源代码。