lkml.org 
[lkml]   [2021]   [Jul]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v14 000/138] Memory folios
    On Thu, Jul 15, 2021 at 04:34:46AM +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.

    Hey Willy,

    I must confess I've lost the thread of the plot in terms of how you
    hope to get the Memory folio work merged upstream. There are some
    partial patch sets that just have the mm core, and then there were
    some larger patchsets include some in the past which as I recall,
    would touch ext4 (but which isn't in this set).

    I was wondering if you could perhaps post a roadmap for how this patch
    set might be broken up, and which subsections you were hoping to
    target for the upcoming merge window versus the following merge
    windows.

    Also I assume that for file systems that aren't converted to use
    Folios, there won't be any performance regressions --- is that
    correct? Or is that something we need to watch for? Put another way,
    if we don't land all of the memory folio patches before the end of the
    calendar year, and we cut an LTS release with some file systems
    converted and some file systems not yet converted, are there any
    potential problems in that eventuality?

    Thanks!

    - Ted

    \
     
     \ /
      Last update: 2021-07-15 17:57    [W:4.497 / U:0.024 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site