【发布时间】:2020-10-08 08:08:56
【问题描述】:
我现在正在研究 linux 内核,了解 linux 内核(第 3 版),我对使用 radix tree 存储整个页面缓存和使用 radix tree 的原因感到非常困惑。 (听说4.20版本以后内核使用xarray)。
所以,这是我的问题:
一旦我们想要某个 I 节点的一些信息,我们应该查看“address_space”指向的整个页面缓存。
书上说他们使用基数树来快速搜索页面缓存,但我无法理解这一点。
搜索哪些页面缓存?我们不需要所有这些吗?
请给我一些例子,为什么我们使用基数树来快速搜索页面缓存。
并跟进问题:
如果某个“I-node”是 address_space 的主机,并且它保存 radix_tree_root,并且在这个 radix 树中,我们有所有的页面缓存保存与文件相关的所有数据(由该 I-node 指向)?
【问题讨论】:
标签: memory memory-management linux-kernel filesystems inode