The state of the page in 2025

The folio transition is one of the most fundamental kernel changes ever made; it can be thought of as being similar to replacing the foundation of a building while it remains open for business. So it is not surprising that, for some years, the annual Linux Storage, Filesystem, Memory-Management, and BPF Summit has included a session on the state of this transition. The 2025 Summit was no exception, with Matthew Wilcox updating the group on what has been accomplished, what remains to be done, and where some of the significant problems are.

Folio 过渡是内核历史上最根本的变更之一,它可以被比作在一座仍然营业的建筑物中更换地基。因此,这一变更多年来一直是年度 Linux 存储、文件系统、内存管理和 BPF 峰会的议题之一。2025 年的峰会也不例外,Matthew Wilcox 在会上向与会者介绍了目前的进展、尚未完成的工作以及存在的一些重大问题。

The initial idea behind folios, Wilcox began, was to manage pages in larger blocks; the experience of the last few years shows that it works. Later on, the goal of shrinking the page structure, which represents a single page in memory was added. Even later came objectives like enabling filesystems with block sizes larger than the page size and improving the debugability and clarity of the memory-management subsystem. There has been the accumulation of a lot of cruft in that subsystem over the years, he said; the folio transition is an opportunity to clean some of it out.

Wilcox 介绍道,Folio 最初的理念是以更大的块来管理页面,而过去几年的经验表明这种方法是可行的。后来,又增加了缩小表示单个内存页面的 struct page 结构的目标。再往后,还提出了支持比页面大小更大的文件系统块大小,以及提升内存管理子系统的可调试性和清晰度等目标。他指出,内存管理子系统多年来积累了大量冗余代码,而 folio 过渡是一个清理其中部分内容的机会。

There are two understandings of what a folio is. The first, which he called the "Ottawa interpretation", is what he intended initially; it was, in essence, just the head page of a compound page. Over time, though, the conception of folios has shifted toward the "New York interpretation", much of which is the work of Johannes Weiner. In that view, folios are an opportunity to shrink struct page to a single u64 memory descriptor. Progress is being made toward that goal, but it will not be achieved

你可能感兴趣的:(Linux,kernel,服务器,网络,kernel,linux)