lkml.org 
[lkml]   [2021]   [Jul]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v13 000/137] Memory folios
    On Mon, Jul 12, 2021 at 04:04:44AM +0100, Matthew Wilcox (Oracle) wrote:
    > Managing memory in 4KiB pages is a serious overhead. Many benchmarks
    > benefit from a larger "page size". As an example, an earlier iteration
    > of this idea which used compound pages (and wasn't particularly tuned)
    > got a 7% performance boost when compiling the kernel.
    >
    > Using compound pages or THPs exposes a weakness of our type system.
    > Functions are often unprepared for compound pages to be passed to them,
    > and may only act on PAGE_SIZE chunks. Even functions which are aware of
    > compound pages may expect a head page, and do the wrong thing if passed
    > a tail page.
    >
    > We also waste a lot of instructions ensuring that we're not looking at
    > a tail page. Almost every call to PageFoo() contains one or more hidden
    > calls to compound_head(). This also happens for get_page(), put_page()
    > and many more functions.
    >
    > This patch series uses a new type, the struct folio, to manage memory.
    > It converts enough of the page cache, iomap and XFS to use folios instead
    > of pages, and then adds support for multi-page folios. It passes xfstests
    > (running on XFS) with no regressions compared to v5.14-rc1.

    This seems to miss a changelog vs the previous version. It also
    includes a lot of the follow ups. I think reviewing a series gets
    rather hard at more than 30-ish patches, so chunking it up a little
    more would be useful.

    \
     
     \ /
      Last update: 2021-07-12 07:46    [W:3.464 / U:0.016 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site