WSL2-Linux-Kernel/Documentation/translations/zh_CN/mm/z3fold.rst

32 строки
1.2 KiB
ReStructuredText
Исходник Ответственный История

Этот файл содержит неоднозначные символы Юникода!

Этот файл содержит неоднозначные символы Юникода, которые могут быть перепутаны с другими в текущей локали. Если это намеренно, можете спокойно проигнорировать это предупреждение. Используйте кнопку Экранировать, чтобы подсветить эти символы.

:Original: Documentation/mm/z3fold.rst
:翻译:
司延腾 Yanteng Si <siyanteng@loongson.cn>
:校译:
======
z3fold
======
z3fold是一个专门用于存储压缩页的分配器。它被设计为每个物理页最多可以存储三个压缩页。
它是zbud的衍生物允许更高的压缩率保持其前辈的简单性和确定性。
z3fold和zbud的主要区别是:
* 与zbud不同的是z3fold允许最大的PAGE_SIZE分配。
* z3fold在其页面中最多可以容纳3个压缩页面
* z3fold本身没有输出任何API因此打算通过zpool的API来使用
为了保持确定性和简单性z3fold就像zbud一样总是在每页存储一个整数的压缩页但是
它最多可以存储3页不像zbud最多可以存储2页。因此压缩率达到2.7倍左右而zbud的压缩
率是1.7倍左右。
不像zbud但也像zsmallocz3fold_alloc()那样不返回一个可重复引用的指针。相反,它
返回一个无符号长句柄,它编码了被分配对象的实际位置。
保持有效的压缩率接近于zsmallocz3fold不依赖于MMU的启用并提供更可预测的回收行
为,这使得它更适合于小型和反应迅速的系统。