From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id F3B59C433EF for ; Fri, 17 Jun 2022 08:13:34 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8916D6B0074; Fri, 17 Jun 2022 04:13:34 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 83F6B6B0078; Fri, 17 Jun 2022 04:13:34 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 708166B007D; Fri, 17 Jun 2022 04:13:34 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 620BC6B0074 for ; Fri, 17 Jun 2022 04:13:34 -0400 (EDT) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 35CEC34395 for ; Fri, 17 Jun 2022 08:13:34 +0000 (UTC) X-FDA: 79587013548.19.B203643 Received: from mail-pj1-f43.google.com (mail-pj1-f43.google.com [209.85.216.43]) by imf22.hostedemail.com (Postfix) with ESMTP id 9B521C004A for ; Fri, 17 Jun 2022 08:13:33 +0000 (UTC) Received: by mail-pj1-f43.google.com with SMTP id m4so475634pjv.5 for ; Fri, 17 Jun 2022 01:13:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance-com.20210112.gappssmtp.com; s=20210112; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=7ajw5ZlW7BO6xh4idYg9ZGUxMVX3OZuSbGQMRvZITss=; b=BjmCyWwguCYTpglhYm7P+9sfT2Sf6eI4hqC5TCzRNcj8GpT7Cc5jJvVeFu+/QvdoQO RGPpgCZxneDK+JRvBbAA3vU8YL0MLBkdIjsUazKCO2zJ5IT6caqZ177xBPaHYaNtSFhL wsOPZyAq8zDsC4+RXY1GMKrYj3Yyu9EDxibHdpAAagnIOLEJ3bJD7JOCrpBNaHhaJdjq /4qXmmNFH+/zsDvQ2LPSFYj7Byd34mjZXsxzy6la7Th49HWzuITGgf435hSeF0LnrHen fHCXck9cWmkJX/PFv6Ee2nUXQikqy1BawnEmGitan/14y2a4JTmEO8TSXRXXDJrqoj/v LdRQ== 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=7ajw5ZlW7BO6xh4idYg9ZGUxMVX3OZuSbGQMRvZITss=; b=RI720oD/UYvjKzCZnDkLzyhNEKCi80gOJYiedOCQCkXav1/tRaIVV/3VpDkOMJqZQs u2ZZm+AB63kwKz7IoLlIp08vUut9iCWFebTrNcN2EPnHiPDY4AnbsstoOZSl5r3vJwGd 4ABU2ZyADx+MoY+xL71irVbp8bx8jPvRbZNHPh1RCcQBoKnWvrfY04e57Fsyt/4/PDUt xxNdxzeA1775uy1XYneBBHNZtfMwo66WfkB90I8X5irh7Sl90AiPuj5BUZFWxTrIxfef F7/OdhznGC8IOuSlRPN8FMiuU/T4id5UnF0v/mtaG0EvBcRFlOyFXlaDpLQIT5HgRjqU Q1Xw== X-Gm-Message-State: AJIora+tIhKTzQEY5VQG6wr2JFEEW0B0WtIbZY4r+9yhalVPwvb3mdsm ZM8/7+o9wrRYgTlvSoTRV4TFhA== X-Google-Smtp-Source: AGRyM1uaJ6D+98lyL0Nb8O2bTi6YMfyv3saLk9hySILdD8r9XB2OdIlAqHZgNeMyStjI4ZdfZ29vcg== X-Received: by 2002:a17:90b:4a4c:b0:1e4:da3a:9b07 with SMTP id lb12-20020a17090b4a4c00b001e4da3a9b07mr9398372pjb.242.1655453612597; Fri, 17 Jun 2022 01:13:32 -0700 (PDT) Received: from localhost ([139.177.225.255]) by smtp.gmail.com with ESMTPSA id w22-20020a1709026f1600b0015e8d4eb219sm2932151plk.99.2022.06.17.01.13.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Jun 2022 01:13:31 -0700 (PDT) Date: Fri, 17 Jun 2022 16:13:28 +0800 From: Muchun Song To: Mike Kravetz Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-arm-kernel@lists.infradead.org, linux-s390@vger.kernel.org, linux-sh@vger.kernel.org, sparclinux@vger.kernel.org, linux-ia64@vger.kernel.org, linux-mips@vger.kernel.org, linux-parisc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, Baolin Wang , Michal Hocko , Peter Xu , Naoya Horiguchi , James Houghton , Mina Almasry , "Aneesh Kumar K . V" , Anshuman Khandual , Paul Walmsley , Christian Borntraeger , catalin.marinas@arm.com, will@kernel.org, Andrew Morton Subject: Re: [PATCH 1/4] hugetlb: skip to end of PT page mapping when pte not present Message-ID: References: <20220616210518.125287-1-mike.kravetz@oracle.com> <20220616210518.125287-2-mike.kravetz@oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20220616210518.125287-2-mike.kravetz@oracle.com> ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=pass header.d=bytedance-com.20210112.gappssmtp.com header.s=20210112 header.b=BjmCyWwg; dmarc=pass (policy=none) header.from=bytedance.com; spf=pass (imf22.hostedemail.com: domain of songmuchun@bytedance.com designates 209.85.216.43 as permitted sender) smtp.mailfrom=songmuchun@bytedance.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1655453613; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=7ajw5ZlW7BO6xh4idYg9ZGUxMVX3OZuSbGQMRvZITss=; b=JgMl/oEAiAMmCykQMeauDUw+OXyQuJ3bHvswONf6QJOetMPfo+yVTEXC/XMJyDtA6yRaqm xdM5c76QLbkadS5SW1NDUfo0gMl1ChJQ+1FKF4OlH/zfw++bW9nVK8gyUWToDaRr/wNAov j/ZsjUjdHjbJguZD8dy5ukvuMfc5USQ= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1655453613; a=rsa-sha256; cv=none; b=p4iBXqyVrLnPYb8rY50/aEju5REeQAERCsBeFhSOUx1B634gFpgra3vkbX1KhukUhjsogU uJbwvUIaj4yJZlVe6BiIbqRkzG9gYDbYfuyGnDDoUsV6zkvxPxanmlffskiKGg52S696rI GWbEIPCytRxjHwWxLxkgdyy1rmFA2n8= X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 9B521C004A X-Rspam-User: Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=bytedance-com.20210112.gappssmtp.com header.s=20210112 header.b=BjmCyWwg; dmarc=pass (policy=none) header.from=bytedance.com; spf=pass (imf22.hostedemail.com: domain of songmuchun@bytedance.com designates 209.85.216.43 as permitted sender) smtp.mailfrom=songmuchun@bytedance.com X-Stat-Signature: jwjpkehr5f85wnwomsautyp5uhjdpykz X-HE-Tag: 1655453613-53980 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Thu, Jun 16, 2022 at 02:05:15PM -0700, Mike Kravetz wrote: > HugeTLB address ranges are linearly scanned during fork, unmap and > remap operations. If a non-present entry is encountered, the code > currently continues to the next huge page aligned address. However, > a non-present entry implies that the page table page for that entry > is not present. Therefore, the linear scan can skip to the end of > range mapped by the page table page. This can speed operations on > large sparsely populated hugetlb mappings. > > Create a new routine hugetlb_mask_last_page() that will return an > address mask. When the mask is ORed with an address, the result > will be the address of the last huge page mapped by the associated > page table page. Use this mask to update addresses in routines which > linearly scan hugetlb address ranges when a non-present pte is > encountered. > > hugetlb_mask_last_page is related to the implementation of > huge_pte_offset as hugetlb_mask_last_page is called when huge_pte_offset > returns NULL. This patch only provides a complete hugetlb_mask_last_page > implementation when CONFIG_ARCH_WANT_GENERAL_HUGETLB is defined. > Architectures which provide their own versions of huge_pte_offset can also > provide their own version of hugetlb_mask_last_page. > > Signed-off-by: Mike Kravetz > Tested-by: Baolin Wang > Reviewed-by: Baolin Wang It'll be more efficient, Thanks. Acked-by: Muchun Song