From: David Hildenbrand <david@redhat.com>
To: Johannes Weiner <hannes@cmpxchg.org>,
"Kirill A. Shutemov" <kirill@shutemov.name>
Cc: Matthew Wilcox <willy@infradead.org>,
Kent Overstreet <kent.overstreet@gmail.com>,
Linus Torvalds <torvalds@linux-foundation.org>,
linux-mm@kvack.org, linux-fsdevel@vger.kernel.org,
linux-kernel@vger.kernel.org,
Andrew Morton <akpm@linux-foundation.org>,
"Darrick J. Wong" <djwong@kernel.org>,
Christoph Hellwig <hch@infradead.org>,
David Howells <dhowells@redhat.com>,
Hugh Dickins <hughd@google.com>
Subject: Re: Folios for 5.15 request - Was: re: Folio discussion recap -
Date: Wed, 20 Oct 2021 09:50:58 +0200 [thread overview]
Message-ID: <996b3ac4-1536-2152-f947-aad6074b046a@redhat.com> (raw)
In-Reply-To: <YW7hQlny+Go1K3LT@cmpxchg.org>
On 19.10.21 17:16, Johannes Weiner wrote:
> On Tue, Oct 19, 2021 at 02:16:27AM +0300, Kirill A. Shutemov wrote:
>> On Mon, Oct 18, 2021 at 05:56:34PM -0400, Johannes Weiner wrote:
>>>> I don't think there will ever be consensus as long as you don't take
>>>> the concerns of other MM developers seriously. On Friday's call, several
>>>> people working on using large pages for anon memory told you that using
>>>> folios for anon memory would make their lives easier, and you didn't care.
>>>
>>> Nope, one person claimed that it would help, and I asked how. Not
>>> because I'm against typesafety, but because I wanted to know if there
>>> is an aspect in there that would specifically benefit from a shared
>>> folio type. I don't remember there being one, and I'm not against type
>>> safety for anon pages.
>>>
>>> What several people *did* say at this meeting was whether you could
>>> drop the anon stuff for now until we have consensus.
>>
>> My read on the meeting was that most of people had nothing against anon
>> stuff, but asked if Willy could drop anon parts to get past your
>> objections to move forward.
>>
>> You was the only person who was vocal against including anon pars. (Hugh
>> nodded to some of your points, but I don't really know his position on
>> folios in general and anon stuff in particular).
>
> Nobody likes to be the crazy person on the soapbox, so I asked Hugh in
> private a few weeks back. Quoting him, with permission:
>
> : To the first and second order of approximation, you have been
> : speaking for me: but in a much more informed and constructive and
> : coherent and rational way than I would have managed myself.
>
> It's a broad and open-ended proposal with far reaching consequences,
> and not everybody has the time (or foolhardiness) to engage on that. I
> wouldn't count silence as approval - just like I don't see approval as
> a sign that a person took a hard look at all the implications.
>
> My only effort from the start has been working out unanswered
> questions in this proposal: Are compound pages the reliable, scalable,
> and memory-efficient way to do bigger page sizes? What's the scope of
> remaining tailpages where typesafety will continue to lack? How do we
> implement code and properties shared by folios and non-folio types
> (like mmap/fault code for folio and network and driver pages)?
>
> There are no satisfying answers to any of these questions, but that
> also isn't very surprising: it's a huge scope. Lack of answers isn't
> failure, it's just a sign that the step size is too large and too
> dependent on a speculative future. It would have been great to whittle
> things down to a more incremental and concrete first step, which would
> have allowed us to keep testing the project against reality as we go
> through all the myriad of uses and cornercases of struct page that no
> single person can keep straight in their head.
>
> I'm grateful for the struct slab spinoff, I think it's exactly all of
> the above. I'm in full support of it and have dedicated time, effort
> and patches to help work out kinks that immediately and inevitably
> surfaced around the slab<->page boundary.
>
> I only hoped we could do the same for file pages first, learn from
> that, and then do anon pages; if they come out looking the same in the
> process, a unified folio would be a great trailing refactoring step.
>
> But alas here we are months later at the same impasse with the same
> open questions, and still talking in circles about speculative code.
> I don't have more time to invest into this, and I'm tired of the
> vitriol and ad-hominems both in public and in private channels.
Thanks Johannes for defending your position and I can understand that
you are running out of motivation+energy to defend further.
For the records: I was happy to see the slab refactoring, although I
raised some points regarding how to access properties that belong into
the "struct page". As raised elsewhere, I'd also be more comfortable
seeing small incremental changes/cleanups that are consistent even
without having decided on an ultimate end-goal -- this includes folios.
I'd be happy to see file-backed THP gaining their own, dedicated type
first ("struct $whatever"), before generalizing it to folios.
I'm writing this message solely to back your "not everybody has the time
(or foolhardiness) to engage on that. I wouldn't count silence as
approval.". While I do have the capacity to review smaller, incremental
steps (see struct slab), I don't have the time+energy to gasp the full
folio picture. So I also second "it's a huge scope. [...] it's just a
sign that the step size is too large and too dependent on a speculative
future."
My 2 cents on this topic.
--
Thanks,
David / dhildenb
next prev parent reply other threads:[~2021-10-20 7:51 UTC|newest]
Thread overview: 162+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-08-23 19:01 [GIT PULL] Memory folios for v5.15 Matthew Wilcox
2021-08-23 21:26 ` Johannes Weiner
2021-08-23 22:06 ` Linus Torvalds
2021-08-24 2:20 ` Matthew Wilcox
2021-08-24 13:04 ` Matthew Wilcox
2021-08-23 22:15 ` Matthew Wilcox
2021-08-24 18:32 ` Johannes Weiner
2021-08-24 18:59 ` Linus Torvalds
2021-08-25 6:39 ` Christoph Hellwig
2021-08-24 19:44 ` Matthew Wilcox
2021-08-25 15:13 ` Johannes Weiner
2021-08-26 0:45 ` Darrick J. Wong
2021-08-27 14:07 ` Johannes Weiner
2021-08-27 18:44 ` Matthew Wilcox
2021-08-27 21:41 ` Dan Williams
2021-08-27 21:49 ` Matthew Wilcox
2021-08-30 17:32 ` Johannes Weiner
2021-08-30 18:22 ` Matthew Wilcox
2021-08-30 20:27 ` Johannes Weiner
2021-08-30 21:38 ` Matthew Wilcox
2021-08-31 17:40 ` Vlastimil Babka
2021-09-01 17:43 ` Johannes Weiner
2021-09-02 15:13 ` Zi Yan
2021-09-06 14:00 ` Vlastimil Babka
2021-08-31 18:50 ` Eric W. Biederman
2021-08-26 8:58 ` David Howells
2021-08-27 10:03 ` Johannes Weiner
2021-08-27 12:05 ` Matthew Wilcox
2021-08-27 10:49 ` David Howells
2021-08-24 15:54 ` David Howells
2021-08-24 17:56 ` Matthew Wilcox
2021-08-24 18:26 ` Linus Torvalds
2021-08-24 18:29 ` Linus Torvalds
2021-08-24 19:26 ` Theodore Ts'o
2021-08-24 19:34 ` David Howells
2021-08-24 20:02 ` Theodore Ts'o
2021-08-24 21:32 ` David Howells
2021-08-25 12:08 ` Jeff Layton
2021-08-24 19:01 ` Matthew Wilcox
2021-08-24 19:11 ` Linus Torvalds
2021-08-24 19:23 ` Matthew Wilcox
2021-08-24 19:44 ` Theodore Ts'o
2021-08-24 20:00 ` Matthew Wilcox
2021-08-25 6:32 ` Christoph Hellwig
2021-08-25 9:01 ` Rasmus Villemoes
2021-08-26 6:32 ` Amir Goldstein
2021-08-25 12:03 ` Jeff Layton
2021-08-26 0:59 ` Darrick J. Wong
2021-08-26 4:02 ` Nicholas Piggin
2021-09-01 12:58 ` Mike Rapoport
2021-08-24 19:35 ` David Howells
2021-08-24 20:35 ` Vlastimil Babka
2021-08-24 20:40 ` Vlastimil Babka
2021-08-24 19:11 ` David Howells
2021-08-24 19:25 ` Linus Torvalds
2021-08-24 19:38 ` Linus Torvalds
2021-08-24 19:48 ` Linus Torvalds
2021-08-26 17:18 ` Matthew Wilcox
2021-08-24 19:59 ` David Howells
2021-10-05 13:52 ` Matthew Wilcox
2021-10-05 17:29 ` Johannes Weiner
2021-10-05 17:32 ` David Hildenbrand
2021-10-05 18:30 ` Matthew Wilcox
2021-10-05 19:56 ` Jason Gunthorpe
2021-08-28 3:29 ` Matthew Wilcox
2021-09-09 12:43 ` Christoph Hellwig
2021-09-09 13:56 ` Vlastimil Babka
2021-09-09 18:16 ` Johannes Weiner
2021-09-09 18:44 ` Matthew Wilcox
2021-09-09 22:03 ` Johannes Weiner
2021-09-09 22:48 ` Matthew Wilcox
2021-09-09 19:17 ` John Hubbard
2021-09-09 19:23 ` Matthew Wilcox
2021-09-10 20:16 ` Folio discussion recap Kent Overstreet
2021-09-11 1:23 ` Kirill A. Shutemov
2021-09-13 11:32 ` Michal Hocko
2021-09-13 18:12 ` Johannes Weiner
2021-09-15 15:40 ` Johannes Weiner
2021-09-15 17:55 ` Damian Tometzki
2021-09-16 2:58 ` Darrick J. Wong
2021-09-16 16:54 ` Johannes Weiner
2021-09-17 5:24 ` Dave Chinner
2021-09-17 7:18 ` Christoph Hellwig
2021-09-17 16:31 ` Johannes Weiner
2021-09-17 20:57 ` Kirill A. Shutemov
2021-09-17 21:17 ` Kent Overstreet
2021-09-17 22:02 ` Kirill A. Shutemov
2021-09-17 22:21 ` Kent Overstreet
2021-09-17 23:15 ` Johannes Weiner
2021-09-20 10:03 ` Kirill A. Shutemov
2021-09-17 21:13 ` Kent Overstreet
2021-09-17 22:25 ` Theodore Ts'o
2021-09-17 23:35 ` Josef Bacik
2021-09-18 1:04 ` Dave Chinner
2021-09-18 4:51 ` Kent Overstreet
2021-09-20 1:04 ` Dave Chinner
2021-09-16 21:58 ` David Howells
2021-09-20 2:17 ` Matthew Wilcox
2021-09-21 19:47 ` Johannes Weiner
2021-09-21 20:38 ` Matthew Wilcox
2021-09-21 21:11 ` Kent Overstreet
2021-09-21 21:22 ` Folios for 5.15 request - Was: re: Folio discussion recap - Kent Overstreet
2021-09-22 15:08 ` Johannes Weiner
2021-09-22 15:46 ` Kent Overstreet
2021-09-22 16:26 ` Matthew Wilcox
2021-09-22 16:56 ` Chris Mason
2021-09-22 19:54 ` Matthew Wilcox
2021-09-22 20:15 ` Kent Overstreet
2021-09-22 20:21 ` Linus Torvalds
2021-09-23 5:42 ` Kent Overstreet
2021-09-23 18:00 ` Johannes Weiner
2021-09-23 19:31 ` Matthew Wilcox
2021-09-23 20:20 ` Kent Overstreet
2021-10-16 3:28 ` Matthew Wilcox
2021-10-18 16:47 ` Johannes Weiner
2021-10-18 18:12 ` Kent Overstreet
2021-10-18 20:45 ` Johannes Weiner
2021-10-19 16:11 ` Splitting struct page into multiple types " Kent Overstreet
2021-10-19 17:06 ` Gao Xiang
2021-10-19 17:34 ` Matthew Wilcox
2021-10-19 17:54 ` Gao Xiang
2021-10-20 17:46 ` Kent Overstreet
2021-10-19 17:37 ` Jason Gunthorpe
2021-10-19 21:14 ` David Howells
2021-10-18 18:28 ` Folios for 5.15 request " Matthew Wilcox
2021-10-18 21:56 ` Johannes Weiner
2021-10-18 23:16 ` Kirill A. Shutemov
2021-10-19 15:16 ` Johannes Weiner
2021-10-20 3:19 ` Matthew Wilcox
2021-10-20 7:50 ` David Hildenbrand [this message]
2021-10-20 17:26 ` Matthew Wilcox
2021-10-20 18:04 ` David Hildenbrand
2021-10-21 6:51 ` Christoph Hellwig
2021-10-21 7:21 ` David Hildenbrand
2021-10-21 12:03 ` Kent Overstreet
2021-10-21 12:35 ` David Hildenbrand
2021-10-21 12:38 ` Christoph Hellwig
2021-10-21 13:00 ` David Hildenbrand
2021-10-21 12:41 ` Matthew Wilcox
2021-10-20 17:39 ` Kent Overstreet
2021-10-21 21:37 ` Johannes Weiner
2021-10-22 1:52 ` Matthew Wilcox
2021-10-22 7:59 ` David Hildenbrand
2021-10-22 13:01 ` Matthew Wilcox
2021-10-22 14:40 ` David Hildenbrand
2021-10-23 2:22 ` Matthew Wilcox
2021-10-23 5:02 ` Christoph Hellwig
2021-10-23 9:58 ` David Hildenbrand
2021-10-23 16:00 ` Kent Overstreet
2021-10-23 21:41 ` Matthew Wilcox
2021-10-23 22:23 ` Kent Overstreet
2021-10-25 15:35 ` Johannes Weiner
2021-10-25 15:52 ` Matthew Wilcox
2021-10-25 16:05 ` Kent Overstreet
2021-10-16 19:07 ` Matthew Wilcox
2021-10-18 17:25 ` Johannes Weiner
2021-09-21 22:18 ` Folio discussion recap Matthew Wilcox
2021-09-23 0:45 ` Ira Weiny
2021-09-23 3:41 ` Matthew Wilcox
2021-09-23 22:12 ` Ira Weiny
2021-09-29 15:24 ` Matthew Wilcox
2021-09-21 21:59 ` Johannes Weiner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=996b3ac4-1536-2152-f947-aad6074b046a@redhat.com \
--to=david@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=dhowells@redhat.com \
--cc=djwong@kernel.org \
--cc=hannes@cmpxchg.org \
--cc=hch@infradead.org \
--cc=hughd@google.com \
--cc=kent.overstreet@gmail.com \
--cc=kirill@shutemov.name \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=torvalds@linux-foundation.org \
--cc=willy@infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).