[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YOvXHZ7tCxV2Ex2m@infradead.org>
Date: Mon, 12 Jul 2021 06:46:05 +0100
From: Christoph Hellwig <hch@...radead.org>
To: "Matthew Wilcox (Oracle)" <willy@...radead.org>
Cc: linux-kernel@...r.kernel.org, linux-mm@...ck.org,
linux-fsdevel@...r.kernel.org
Subject: Re: [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.
Powered by blists - more mailing lists