ccache:用于 NetBSD 的压缩内存交换设备

时间:2024-07-28 12:49:03
【文件属性】:

文件名称:ccache:用于 NetBSD 的压缩内存交换设备

文件大小:145KB

文件格式:ZIP

更新时间:2024-07-28 12:49:03

C

缓存 用于 NetBSD 的压缩内存交换设备 设计:创建一个由内核保留内存支持的块设备(伪设备)。 此设备作为交换设备安装(通常优先级为 0)。 该块设备用作压缩页面的暂存区。 读(解压)/写(压缩)接口本身是通过 VFS 读/写语义提供的。 这是基本流程: 用户使用 mknode 以通常的方式创建设备节点 使用 swapctl 以通常的方式安装交换设备 目前,为压缩交换设备保留的页数固定为 4096 页(可以考虑配置为可用内存的一定百分比,uvm structs 允许我们得到这个数字) 使用的压缩算法是zlib(已经导入netbsd内核源码) 在设备打开时,我使用 uvm_km_alloc 为压缩缓存保留页面。 此外,压缩器 (zlib) 需要内存供其内部使用,因此我保留了 100 页供 zlib 内部使用。 我还创建了一个 vmem arena(使用 vmen_create)


【文件预览】:
ccache-master
----sys()
--------conf()
--------sys()
--------net()
--------arch()
--------uvm()
--------dev()
----README.md(1KB)

网友评论