Received: by 2002:a25:2c96:0:0:0:0:0 with SMTP id s144csp1500732ybs; Mon, 25 May 2020 18:24:05 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzMgtJ7Ho53iuch/bh5kN7U0KcGt6lsYVBzHtlkcMSR5VP/ZyTPVNwFV4tftUOFLF185pDD X-Received: by 2002:a50:9b0f:: with SMTP id o15mr18411979edi.325.1590456245783; Mon, 25 May 2020 18:24:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590456245; cv=none; d=google.com; s=arc-20160816; b=j9w/t9nE+jt5AEPQWzPicg6+29YCBUpXXiutfiyYmch7jw0Fq0XI8lHOtJryCiMuYx +n6s+id2eTteO7yXMP1OD7wDhABfs9O2QyZ6qV6BYFUtDWGIlT10HkPAdawxua+etpud j7bx0qcVwiChIS7V0B7C2PWlnTNFoMc2eufIOUNzKIiI1lA4UMJLQ9SCxGFhI86RwEL2 BOkHE0LQ9BQVwU5c91EHdJ+XjhTEhkvwZPNzDq5Qn/jnEBv33BE/IE1mStpa/Ew5R6U5 VYc+E62DreKD0Mfs8pflWSr4Lx8yS81F/ZgxAXSA93j0/Z54gZIVB7wFg/2A2JzimIVL 3mIA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :dkim-signature; bh=9F2IX9GgTvEb6k7D/DzwUrK1uYLCIrUvEsxYTJKhsdk=; b=jJH/kg/9lUgkaNLX8x+A5FpHeQCLtzxleFlVYDkh5WABJ3heEsZDEun0awBKt2pdSw iHNOshHuWBgDJrkpQTEgke75ECxOn9siMDz16qSURMfWzlM/9s2o7W7P5jMQ4EqFYDZc QnsTrbIPMXm3CRA7a3rCJEnT2el1X3LKRTMaWRPqFvThzoMW4rPf5S6mkXAotV5DnGUQ SiPKe9TYqRykSvC3iZ3MMXVBV2Xm1dZ+6mQjuGAePJQmABPWrV3NZpGCD32xiv/HFQLj dIxvaOIuSwDCSicmI+bs40xt2b3U4davARBG863PMdAaB14L7kU99fNbUHwudlvX3BxP zbGA== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@infradead.org header.s=bombadil.20170209 header.b=t6eOMl0J; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id z17si11074733eji.696.2020.05.25.18.23.40; Mon, 25 May 2020 18:24:05 -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=fail header.i=@infradead.org header.s=bombadil.20170209 header.b=t6eOMl0J; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388416AbgEZBVq (ORCPT + 99 others); Mon, 25 May 2020 21:21:46 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37860 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2388348AbgEZBVq (ORCPT ); Mon, 25 May 2020 21:21:46 -0400 Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:e::133]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 177CBC061A0E; Mon, 25 May 2020 18:21:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20170209; h=In-Reply-To:Content-Type:MIME-Version :References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=9F2IX9GgTvEb6k7D/DzwUrK1uYLCIrUvEsxYTJKhsdk=; b=t6eOMl0JNnb+SIm8E94AZBTWQd jcW4Cdyz24EI7ciD73XHeRqeGM8RuaJDmagR+eEsvcRyjNQmcyBvAJUi8W7yCp7B7/Swo0yphGycA eD8BptiQw4yrEBSz0ur4KB3AfWNZa+/eYWIpLjK8AfEYQWHcyZvxzZyH4Y6OpLtZ3jn42DDA7a2YR XYGh4pPCev3XJdaCb2FXmBcyEcVQY0mJgkTm5alCRaL5aa4em3vSMwMalRxbM9hcDgP3sfJsNbx7y yYA//d5YfzQ1J4uGZwY5WMJfNtdlHcA7Bbw2ZArY4KfS1x7dmS9KAb3GcifCKkAGbPIBq84OMyfKy 19OS0MQQ==; Received: from willy by bombadil.infradead.org with local (Exim 4.92.3 #3 (Red Hat Linux)) id 1jdOHm-0002Jw-0N; Tue, 26 May 2020 01:21:42 +0000 Date: Mon, 25 May 2020 18:21:41 -0700 From: Matthew Wilcox To: Dave Chinner Cc: linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v4 00/36] Large pages in the page cache Message-ID: <20200526012141.GE17206@bombadil.infradead.org> References: <20200515131656.12890-1-willy@infradead.org> <20200521224906.GU2005@dread.disaster.area> <20200522000411.GI28818@bombadil.infradead.org> <20200522025751.GX2005@dread.disaster.area> <20200522030553.GK28818@bombadil.infradead.org> <20200525230751.GZ2005@dread.disaster.area> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20200525230751.GZ2005@dread.disaster.area> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, May 26, 2020 at 09:07:51AM +1000, Dave Chinner wrote: > On Thu, May 21, 2020 at 08:05:53PM -0700, Matthew Wilcox wrote: > > On Fri, May 22, 2020 at 12:57:51PM +1000, Dave Chinner wrote: > > > Again, why is this dependent on THP? We can allocate compound pages > > > without using THP, so why only allow the page cache to use larger > > > pages when THP is configured? > > > > We have too many CONFIG options. My brain can't cope with adding > > CONFIG_LARGE_PAGES because then we might have neither THP nor LP, LP and > > not THP, THP and not LP or both THP and LP. And of course HUGETLBFS, > > which has its own special set of issues that one has to think about when > > dealing with the page cache. > > That sounds like something that should be fixed. :/ If I have to fix hugetlbfs before doing large pages in the page cache, we'll be five years away and at least two mental breakdowns. Honestly, I'd rather work on almost anything else. Some of the work I'm doing will help make hugetlbfs more similar to everything else, eventually, but ... no, not going to put all this on hold to fix hugetlbfs. Sorry. > Really, I don't care about the historical mechanisms that people can > configure large pages with. If the mm subsystem does not have a > unified abstraction and API for working with large pages, then that > is the first problem that needs to be addressed before other > subsystems start trying to use large pages. I think you're reading too quickly. Let me try again. Historically, Transparent Huge Pages have been PMD sized. They have also had a complicated interface to use. I am changing both those things; THPs may now be arbitrary order, and I'm adding interfaces to make THPs easier to work with. Now, if you want to contend that THPs are inextricably linked with PMD sizes and I need to choose a different name, I've been thinking about other options a bit. One would be 'lpage' for 'large page'. Another would be 'mop' for 'multi-order page'. We should not be seeing 'compound_order' in any filesystem code. Compound pages are an mm concept. They happen to be how THPs are implemented, but it'd be a layering violation to use them directly.