3

据我阅读关于 LKML 的讨论,大约在 2010 年,因此〜 2.2.x 内核应该有一个页面缓存和缓冲区缓存的伟大统一。

  1. 发生了吗?我们有两个都引用的单一内存空间吗?

我浏览了filemap.cbuffer.c,不幸的是没有找到任何可以合并两个缓冲区的补丁。实际上没有任何迹象表明 2010 年之后发生了任何统一。也许我错过了一些东西。

  1. LKML 对用户非常不友好 - 任何人都知道类似于 lkml.indiana.edu/hypermail/linux/kernel/ 的站点,它对 LKML 中的整个某些线程有清晰的“树状”概述,并且不会丢失出现到另一个分支的子线程,首先最允许多条消息的平面视图(没有累人的点击)?

  2. 页面缓存与缓冲区。让我们想象一下它们是分开的。有人可以解释我们需要其中两个而不是例如专注于一个的主要原因是什么?说 - 缓冲区缓存,它缓存每个 IO、FIFO 甚至考虑最常用的扇区并将它们与队列分开缓存。或者完全相反,只是页面缓存,保留预写,将 1+X 个预读扇区从慢速 IO 读取到内存中,根据空闲内存和其他一些奇特的算法决定保留什么?

  3. 让我们想象一下缓冲区缓存和页面缓存是统一的。鉴于缓冲区缓存存储指向内存缓存页面的指针,这种统一实际上如何帮助(仍然留下两个不同的源文件)?最终两者都有相同的用途——将 X 数据存储在内存中。唯一明显的区别是 -buffer-buffering 与预读、几个“预测的”neraby 扇区和 -cache-store 在内存中经常需要的 io 扇区。

4

0 回答 0