Received: by 2002:a05:6358:d09b:b0:dc:cd0c:909e with SMTP id jc27csp1457855rwb; Wed, 16 Nov 2022 18:36:28 -0800 (PST) X-Google-Smtp-Source: AA0mqf78GMYy20nMxK4MXgZpm7pd1doAdXNRM46i76DCt0zl1AV46zPPuUjoMWKoD3iNNIlNcKOd X-Received: by 2002:a17:90a:db52:b0:212:d2c2:8e1a with SMTP id u18-20020a17090adb5200b00212d2c28e1amr6756987pjx.54.1668652587900; Wed, 16 Nov 2022 18:36:27 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1668652587; cv=none; d=google.com; s=arc-20160816; b=k4n5O29hVsGKhFz3aFEziDtE4DMtNZSyBcPEYVYTT9CXi8KGg7gBdX8Xtk517YTQR6 EJLOMg3r29zDUzsyOhCvzHTI/7mdxZhJtvnbIyL+G8VeSyRy/r+dQrsE4yiO1CQoAzKl ptfAxh3S+dTrL+8DRWViz5Oez5Mee7B7NGylLadC5w1PjfbQjDD5jq7/4N0CTjuuD3xV Wrhu6iinJ3lEqvKVwvkPkGfX7gGd0r0nJRlvaLnouDkAxHShowUOqVbGn+JepTnt6u7A SZOtb1ShC6zDkA7hUUoIgyjiSgHkln/+K5ZdtdcRuFZ0UqAryMwlgYFyW7DNdN/ii4VR lU+Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=q+zGv9vaFR5Pk6w8irqXhv3za0LaNRRJC/xfq3ObajE=; b=CEWyLXTR2SyG8aQRg211Bn00JsSmNNc3rEKKskFqmjfTGO0/yEg6alrGbl5R1Souu1 NZlkYYYWYzqAsCjZBHKY94O0xbHy2pxRFtAzJH/9JSNn7lGvbyhjyUdZXmasJwYqjJSK EicxWBBJEaezjIwDsa7nfbvI1XsgtuTNtsjSfDoRtvUF8twVAp6LLXv83Lz32PUQ96zt B0J16Rvy3j+YfY8SbNunClo97Ah79pahBPiSmiLZ8bKohAbS4qDza0MmTw7hk625ldKB dE5W6AvHwlCUcpiJtJxhRIMbJC5HB+nmiACrxC2jOaF+aFpLfzjkLsS58QOfTxlNgzMP LOYQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=KcE2WeaX; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id on1-20020a17090b1d0100b0020fadac08a2si3615984pjb.108.2022.11.16.18.36.16; Wed, 16 Nov 2022 18:36:27 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=KcE2WeaX; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232905AbiKQBj3 (ORCPT + 90 others); Wed, 16 Nov 2022 20:39:29 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40520 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231734AbiKQBjY (ORCPT ); Wed, 16 Nov 2022 20:39:24 -0500 Received: from mail-yw1-x1134.google.com (mail-yw1-x1134.google.com [IPv6:2607:f8b0:4864:20::1134]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BED8D2529C for ; Wed, 16 Nov 2022 17:39:23 -0800 (PST) Received: by mail-yw1-x1134.google.com with SMTP id 00721157ae682-376596ae449so5350387b3.5 for ; Wed, 16 Nov 2022 17:39:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=q+zGv9vaFR5Pk6w8irqXhv3za0LaNRRJC/xfq3ObajE=; b=KcE2WeaXge1v3PX1H634l/+DCU4lr6UaJt1yg2rv61+dta0Nz72nTz1mszYBBqfsME tF38kGGo26RzzAtS3ujs5cNMHsbwzkN6gZhBjFiHjSjz6WWWz/ZhlrlgnEueKNKlFqJ2 GtI6Dw4DJ6tFsVEn5eQiZGMLr/qSs1r2oKBkkt/NG9IJ/Zt+ExHdhujT08YrLI0OLCdB 5q91HrNzYsY3nICH3PRvmKjgR2+Acb0BZBA893yXGrIXt2/P1Ce4JksfNh4R3MIsPiP8 GueHEO4ZsWo/Tv0iAaWZCnWFyyNumdcmONg/GOUzKLPWPVD3gKNUEJ7vqvilZtkhmpX3 z7og== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=q+zGv9vaFR5Pk6w8irqXhv3za0LaNRRJC/xfq3ObajE=; b=YJCH6oMpM6VPVA5aOMjVKw2AZ74/fdvWDl7oZ9xjhmZYwE93UxIBF7j6sRCEZ2s8zH QpIRoKNPuFGr20tpN3otd6quxVuLUuQW04eq1fBSE6E69jnpHbrJm3mziseJuKnUHPKL jzYIovzhLwGJneAn0gaO2DiR2om8G+i0JrH46/ghJMv1Ye2Reyb62fZCO34k+BqYle6u /HqCqEdhTgq/KmE1iepcCPE/g6OfIjFRQmNSTLGw07U/bl9IwIdeeBvG3p7X4kiVPh3t uYdIUwaD9O3XJMFWMP1lxxJAfhimHVGeez+4yWfOTR3d67dJoTqhcZtA8wc+jUt+gu2c qG2g== X-Gm-Message-State: ANoB5pkr+2Kt7MuVCc+GfML5Ok6rjaCQSYFYGZD2A7DcJhdW/eDtpAbu J0xHQRr0aCRyGpfrfe0DPH92zcxIMeCDn3X1nXrgRQ== X-Received: by 2002:a81:8302:0:b0:36a:1b76:eca8 with SMTP id t2-20020a818302000000b0036a1b76eca8mr94333ywf.483.1668649162897; Wed, 16 Nov 2022 17:39:22 -0800 (PST) MIME-Version: 1.0 References: <20221021163703.3218176-1-jthoughton@google.com> <20221021163703.3218176-13-jthoughton@google.com> In-Reply-To: From: James Houghton Date: Wed, 16 Nov 2022 17:39:12 -0800 Message-ID: Subject: Re: [RFC PATCH v2 12/47] hugetlb: add hugetlb_hgm_walk and hugetlb_walk_step To: Peter Xu Cc: Mike Kravetz , Muchun Song , David Hildenbrand , David Rientjes , Axel Rasmussen , Mina Almasry , "Zach O'Keefe" , Manish Mishra , Naoya Horiguchi , "Dr . David Alan Gilbert" , "Matthew Wilcox (Oracle)" , Vlastimil Babka , Baolin Wang , Miaohe Lin , Yang Shi , Andrew Morton , linux-mm@kvack.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-17.6 required=5.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, ENV_AND_HDR_SPF_MATCH,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS, USER_IN_DEF_DKIM_WL,USER_IN_DEF_SPF_WL autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Nov 16, 2022 at 2:02 PM Peter Xu wrote: > > On Fri, Oct 21, 2022 at 04:36:28PM +0000, James Houghton wrote: > > +/* hugetlb_hgm_walk - walks a high-granularity HugeTLB page table to resolve > > + * the page table entry for @addr. > > + * > > + * @hpte must always be pointing at an hstate-level PTE (or deeper). > > + * > > + * This function will never walk further if it encounters a PTE of a size > > + * less than or equal to @sz. > > + * > > + * @stop_at_none determines what we do when we encounter an empty PTE. > > IIUC it is not about empty PTE but swap-or-empty pte? > > I'm not sure whether it'll be more straightforward to have "bool alloc" > just to show whether the caller would like to allocate pgtables when > walking the sub-level pgtable until the level specified. I think "bool alloc" is cleaner. I'll do that. Thanks for the suggestion. > > In final version of the code I also think we should drop all the "/* > stop_at_pte */" comments in the callers. Maybe that already means the > meaning of the bool is confusing so we always need a hint. I did that to hopefully make things easier to read. I'll remove it. - James > > -- > Peter Xu >