Received: by 2002:a05:6a10:eb17:0:0:0:0 with SMTP id hx23csp925937pxb; Thu, 9 Sep 2021 15:33:53 -0700 (PDT) X-Google-Smtp-Source: ABdhPJweKQaAbQDhED2ww6+Z3UY3t7netdVfhi52T8N0rqjt4Z/XOYwXzN7VqLxiTRJMj3C+7It3 X-Received: by 2002:a05:6402:c05:: with SMTP id co5mr5542642edb.41.1631226833231; Thu, 09 Sep 2021 15:33:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1631226833; cv=none; d=google.com; s=arc-20160816; b=zwEajQnPacAw0g8CSG3zqKyBGNP+wn5PFUfy2RRdbDU2Q0fytvhd2Xv+hTS+fAbpnS nd2nnWWH1PZsFwO5zdLhdEhE+hk4cmFAjjfD+LGz9Xd9++2IZ/rSa4B7uv1SkP3p0BBg 09fLGl6KSLMphHtZ+k8bPmseyqFIn/rMMc+0MopB/GP4U7lOV+VlS/ccs/JdqD/SO9Ue Qd6wfpxib5SjqCtxmTtsl0DJIiU1dEOXhPHYIMnyIg9CkEzr50MRH7ShRVL7yBv0pw0R VnMUX7C/NTXgYy2HgoOyJuexNgNjxM5kuCHzcbwsrPpoUCfLyftbsx9V9wtwKVp6QpXE hvIQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=QZqkF9duxuzZ+biCr/DN+cOPkA95d4hYzGir/0bZtG8=; b=UhZSD72Rw+nZCnmpQVFvBRQQqM1p4ER59kWiAAJPRFxbbZTmOJHqCfyRwIlXItmuDL TPCIKa7xuv2j3XS+2HQ4//K4cig/O/bZU+zxaOPDzYluozJRw3kx1//HHszz0QK9saYa TWTzVSkgw6XZwY/MPZ+oQ2o0mTNNdvI1Z8ZWyqb4gdicLrDzYh9GvC2mioet26x63F85 VIjLlToga4UiyXwzRClBDx20TbjtPaaUKoDykj20HJff144DESykVlmbIImsLObfDKfE 4c6+mzU4X6sSPR2JUMXJ32fmSOAlK1iVFu9reqg156el81Mwq3WQvxf2Y63EpV9UgtX7 Jebw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@cmpxchg-org.20150623.gappssmtp.com header.s=20150623 header.b=n4Yox4Fl; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=cmpxchg.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id 5si3195572eji.566.2021.09.09.15.33.28; Thu, 09 Sep 2021 15:33:53 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@cmpxchg-org.20150623.gappssmtp.com header.s=20150623 header.b=n4Yox4Fl; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=cmpxchg.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S245103AbhIIWCk (ORCPT + 99 others); Thu, 9 Sep 2021 18:02:40 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35486 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S244703AbhIIWCh (ORCPT ); Thu, 9 Sep 2021 18:02:37 -0400 Received: from mail-qk1-x733.google.com (mail-qk1-x733.google.com [IPv6:2607:f8b0:4864:20::733]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0A5E5C061575 for ; Thu, 9 Sep 2021 15:01:27 -0700 (PDT) Received: by mail-qk1-x733.google.com with SMTP id c10so3613153qko.11 for ; Thu, 09 Sep 2021 15:01:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cmpxchg-org.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=QZqkF9duxuzZ+biCr/DN+cOPkA95d4hYzGir/0bZtG8=; b=n4Yox4FllS4gAcO35Nu8s/ilFPO82gh8Gm/P3mDRND5oe2rctlncS/tr0y85Fs8npP 98l5IbSFrFXrw+cwcb0zvs+hCkjsxur9V2MMDUGHT3XXfhEce73/5iWt2xplCy/3EJhh +2prmzstXNUANrptayppa1LTU1dcLX//fY9en1mSyyXXReAarLHQYYJ/9PUblzzl32wE WCEvZ5kvcljGt7MED2wLGtYBCaYZcdNBK5lTYlEhrMEneFSeEYCqWAkX/McDiRbDrXNq 5rDknVoSQRALljSxiiu1jfnqPspcTcube+E4KtX+IPf4QLINfIOzYrHc0ANRy6ZvMxWa qOTQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=QZqkF9duxuzZ+biCr/DN+cOPkA95d4hYzGir/0bZtG8=; b=bg+5LroQbm/0tAM2Qqn0XA1bRRdCE/vJJ0C5czN45PyO+z/oVnK9LPhOwM9ET1PG87 TgNNdx3hKLQ7ClC8pFnGrgoUqEGWZdb+6XAUK/M/kMRDG7AeVajHun7OGziEMZIB+hZs Z9FTZGM1fOpQLzgCwbCB3ngA+ARBiLTDZCg2BoISazmk+ZWYnTP9kO3DJ0MHhESnXZwO 0LHZHc6dvcPLbysy4XaMMMNKEjdVTTXlurk8CftfkDOLdHHxBBCwmk8x/YYqViONqDuL uzX0bfQ5ctLTADDYq79rr+qJ1clLxclK7icKDRKsBUsE6nYV9EZ6R9dfD6rf6bQRizy2 +U6w== X-Gm-Message-State: AOAM532xf9p6xAoTS9nQzhI7L+/qqOXOR8dZXCGOXyBXKPO9+0eoCl3O mzqgyGt8kn64zXZPU/kZ7imy80APWgTInA== X-Received: by 2002:a05:620a:2914:: with SMTP id m20mr5086687qkp.497.1631224886125; Thu, 09 Sep 2021 15:01:26 -0700 (PDT) Received: from localhost (cpe-98-15-154-102.hvc.res.rr.com. [98.15.154.102]) by smtp.gmail.com with ESMTPSA id s8sm1868997qta.48.2021.09.09.15.01.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 09 Sep 2021 15:01:25 -0700 (PDT) Date: Thu, 9 Sep 2021 18:03:17 -0400 From: Johannes Weiner To: Matthew Wilcox Cc: Vlastimil Babka , Christoph Hellwig , Linus Torvalds , linux-mm@kvack.org, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, Andrew Morton Subject: Re: [GIT PULL] Memory folios for v5.15 Message-ID: References: <6b01d707-3ead-015b-eb36-7e3870248a22@suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Sep 09, 2021 at 07:44:22PM +0100, Matthew Wilcox wrote: > On Thu, Sep 09, 2021 at 02:16:39PM -0400, Johannes Weiner wrote: > > My objection is simply to one shared abstraction for both. There is > > ample evidence from years of hands-on production experience that > > compound pages aren't the way toward scalable and maintainable larger > > page sizes from the MM side. And it's anything but obvious or > > self-evident that just because struct page worked for both roles that > > the same is true for compound pages. > > I object to this requirement. The folio work has been going on for almost > a year now, and you come in AT THE END OF THE MERGE WINDOW to ask for it > to do something entirely different from what it's supposed to be doing. > If you'd asked for this six months ago -- maybe. But now is completely > unreasonable. I asked for exactly this exactly six months ago. On March 22nd, I wrote this re: the filesystem interfacing: : So I think transitioning away from ye olde page is a great idea. I : wonder this: have we mapped out the near future of the VM enough to : say that the folio is the right abstraction? : : What does 'folio' mean when it corresponds to either a single page or : some slab-type object with no dedicated page? : : If we go through with all the churn now anyway, IMO it makes at least : sense to ditch all association and conceptual proximity to the : hardware page or collections thereof. Simply say it's some length of : memory, and keep thing-to-page translations out of the public API from : the start. I mean, is there a good reason to keep this baggage? It's not my fault you consistently dismissed and pushed past this question and then send a pull request anyway. > I don't think it's a good thing to try to do. I think that your "let's > use slab for this" idea is bonkers and doesn't work. Based on what exactly? You can't think it's that bonkers when you push for replicating slab-like grouping in the page allocator. Anyway, it was never about how larger pages will pan out in MM. It was about keeping some flexibility around the backing memory for cache entries, given that this is still an unsolved problem. This is not a crazy or unreasonable request, it's the prudent thing to do given the amount of open-ended churn and disruptiveness of your patches. It seems you're not interested in engaging in this argument. You prefer to go off on tangents and speculations about how the page allocator will work in the future, with seemingly little production experience about what does and doesn't work in real life; and at the same time dismiss the experience of people that deal with MM problems hands-on on millions of machines & thousands of workloads every day. > And I really object to you getting in the way of my patchset which > has actual real-world performance advantages So? You've gotten in the way of patches that removed unnecessary compound_head() call and would have immediately provided some of these same advantages without hurting anybody - because the folio will eventually solve them all anyway. We all balance immediate payoff against what we think will be the right thing longer term. Anyway, if you think I'm bonkers, just ignore me. If not, maybe lay off the rhetorics, engage in a good-faith discussion and actually address my feedback?