On Tue, Oct 19, 2021 at 11:16:18AM -0400, 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. Thank you for at least (belatedly) voicing your appreciation of the struct slab patches, that much wasn't at all clear to me or Matthew during the initial discussion. > 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. > > I'm not really sure how to exit this. The reasons for my NAK are still > there. But I will no longer argue or stand in the way of the patches. Johannes, what I gathered from the meeting on Friday is that all you seem to care about at this point is whether or not file and anonymous pages are the same type. You got most of what you wanted regarding the direction of folios - they're no longer targeted at all compound pages! We're working on breaking struct page up into multiple types! But I'm frustrated by you disengaging like this, after I went to a lot of effort to bring you and your ideas into the discussion, but... if you're going to stubbornly cling to this point and refuse to hear other ideas the way you have been, I honestly don't know what to tell you. And after all this it's hard to see the wider issues with struct page actually getting tackled. Shame.