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 4D062C3ABAA for ; Mon, 5 May 2025 19:59:29 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5E04F6B0095; Mon, 5 May 2025 15:59:27 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 5673A6B0098; Mon, 5 May 2025 15:59:27 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 408026B0099; Mon, 5 May 2025 15:59:27 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 1EFEA6B0095 for ; Mon, 5 May 2025 15:59:27 -0400 (EDT) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id E64701A0815 for ; Mon, 5 May 2025 19:59:27 +0000 (UTC) X-FDA: 83409918774.01.3C4E838 Received: from mail-oi1-f169.google.com (mail-oi1-f169.google.com [209.85.167.169]) by imf14.hostedemail.com (Postfix) with ESMTP id EBD82100002 for ; Mon, 5 May 2025 19:59:25 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=OCwm0kR7; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf14.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.167.169 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1746475166; a=rsa-sha256; cv=none; b=s+u/JBgUC+tf6wJbO7tafnFTxdHf2wQulwTuX++Z0yNpU/ovnqvnuHhDegEHYxBBg+p3Q3 SOJQ+bQ9necMuuPWlI02pk97fo1yC1ovOXjMRkOuZBDpdeKskbyoDBYlHMafgTyjexNMF8 lUET/8YkOidGHdXDSrBdWkPAPemWwRs= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=OCwm0kR7; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf14.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.167.169 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1746475166; 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=QZx/H+9CZaGjXPFkoHcRujVHKRL9noUkGCDGtOLr50E=; b=782jqo+BSIfKuM1cavw2iPiJo0tDkYjmwq+aaq4wxcWWx2ZmSk/2o7mnRaMs8QzcAlZSL3 0wzMLvpFA0vP+LWrw1i696WJao23fpPRN8iFcIh2/yy/1VMUYfsT3s7A4c8JkcTj024UCG qrahrTbPetNHmaucvawmaxj5vwA9SQw= Received: by mail-oi1-f169.google.com with SMTP id 5614622812f47-3fa6c54cdb2so4234789b6e.3 for ; Mon, 05 May 2025 12:59:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1746475165; x=1747079965; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=QZx/H+9CZaGjXPFkoHcRujVHKRL9noUkGCDGtOLr50E=; b=OCwm0kR7nDgieylVZAU/jqypqnXN/UPAZSnqAWQY4pMg9d90p2+/XcRjFx+LrJF80c rSsNrYu73xmyOJV+qYQ82z9wMr80QifrA7tYosvsOQK/RLl3HX0qIgf7hIzRvgNYC0Z/ 2cuhtNnHWG921wo+n5qP/mBzDTexYD9lJXVNsWyTMhPGADum7AlqA22OTv1ud9YjnCze P5gTawbqqZwRxRzjITQaCYNtiwHaOlgpTZfpqlxq7C+9GUozAx7zF3k1bfDaD7lNSWWJ U8ZaslhuZ9WMNgrr1O2QN41+CpSZH8sNWqcv9sYcpQrFv88OSFXbwh3NORZk+5OQDizd xa3w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746475165; x=1747079965; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=QZx/H+9CZaGjXPFkoHcRujVHKRL9noUkGCDGtOLr50E=; b=NxFp3DOtWCkG0ii07KE2n0V2o0LNtl80H/bnsLVAUSlDYLfKRb+8dW+v8veQCxe5UU 8njr++Ozfs6rMNaNR+RehjUXraJrhxM2YYqOM0x8cUIDEFmzxncw/iQErlB8q02KieZ9 aZ/6Abp1zyN7v//u+VejVUw9vaw4iv9zMPaSaasF8oaMUqu9jwpXVcELuoydRfPTU45p iNeTqvGCmZk4y8TV2swrIZs8kmk7xoNr6vUcmOrd7ke84/y3kMasJkCwX57qnb3c/YJH IAGrQGOZMTrOgswNlKNQu3Z5qEUFBjPskCFT4LbRx2iO+PsR19WDRK8zDUfdhg3B2jt3 3Ncw== X-Forwarded-Encrypted: i=1; AJvYcCU31k/dLqAnLAe1jBwv2YPyNDy+6tJsA+OUwIRhuWDuoqg4rWHqHWYbIK7FAxHskzck7W+pcNXm6A==@kvack.org X-Gm-Message-State: AOJu0YwLVCMWHltvV/P9uTzLCUHfwtIhNaUYbnlnCziptzsbla1APvxp pLOSof7lll0VbRM554ebpJsWopNYRlaE0XEP66Lknew7QxML7ElN X-Gm-Gg: ASbGnctweyZOdWn0Sm4UBcJ3p9jyyZbQwXLe4I/MAlwovgvm0sXOTr3+jq1jrIDNlh7 ms/CkIPk6oPRLA97RLQKcDjlnGDDj9WGvjAkOnF3JPtjR7VttsTnZxAlRRqOE5idqS7wBzcxbhL +fnwBoDK28KLS+pdQBFPUKxD6bqge2nuORzWo99tmLTj2s7vQ4KCegX2x2qn24Ra7fGiPh60ZYX 9+WVbIfbZVYa5MxRw/k0DmGUQeFS1hruCnbWHLELJWW6IBkBipXyBNSMNg1BM4MKUsNIuUP/RSA y1moDshRaJz+SFdVRMK/Un6Duv6aviQUhpZVQeaPXeYm/TgsHJNMWU5Ayk6TEcws X-Google-Smtp-Source: AGHT+IG1Etm4cW5CykqfU8UT5ORkELSESCk64cPUlttjYTsZiyWq4Ob1nXsL4tNGuKEsK1bud17YKg== X-Received: by 2002:a05:6808:3195:b0:3fa:ca26:6295 with SMTP id 5614622812f47-4035a5c4d1dmr5598454b6e.31.1746475164882; Mon, 05 May 2025 12:59:24 -0700 (PDT) Received: from fedora (c-24-8-12-5.hsd1.co.comcast.net. [24.8.12.5]) by smtp.gmail.com with ESMTPSA id 5614622812f47-4033dae382fsm2041783b6e.21.2025.05.05.12.59.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 05 May 2025 12:59:23 -0700 (PDT) Date: Mon, 5 May 2025 12:59:20 -0700 From: "Vishal Moola (Oracle)" To: nifan.cxl@gmail.com Cc: muchun.song@linux.dev, willy@infradead.org, osalvador@suse.de, mcgrof@kernel.org, a.manzanares@samsung.com, dave@stgolabs.net, akpm@linux-foundation.org, david@redhat.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Fan Ni , Sidhartha Kumar Subject: Re: [PATCH v4 2/4] mm/hugetlb: Refactor unmap_hugepage_range() to take folio instead of page Message-ID: References: <20250505182345.506888-2-nifan.cxl@gmail.com> <20250505182345.506888-4-nifan.cxl@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250505182345.506888-4-nifan.cxl@gmail.com> X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: EBD82100002 X-Stat-Signature: xugfgf4s765zetxk8qtixix3zcko1o89 X-Rspam-User: X-HE-Tag: 1746475165-723301 X-HE-Meta: U2FsdGVkX1/CQg6PG7t3rUzJshhmkSFWQSKXd0y+hVYSPkx+mooZiVgRntI9t+vFwBpqKX5x4i+AjDWNPX+MCYa/G+QsfYRC3FK9DT0E0OzNdNbRELj0FlfsfCzlPC4vJ9HTbDhZrRMdpVz4kWLwNsAheNDkaIhXVTR10hHDRsNF35HwAzsnV2xDvChg2JwKvgdyGclBUSn4VA3K4WyTB1Db+F5A5Xly26+KPT/+fcxoS58+hxLihj7gYg4n2nguuge5p6FlzhvX5aEGTh+QdcR8wxyoIPhL5j0bDLhmKt8f6rzQgk0nFfkHOLNWvB3nefcyq8y5hsnOKvXvd4udlIYecRbmBbahytRoyMWG9It3cjmh2ZsR0P0LQqjgzWAjzchJQ9VOh2+llRDqRiKP+x8T0e3xLcgHQxF8xsS4hrYKiOpS6WZhwPSrEwIxof2d0ccpjJkP+i/hdNDOAm8cUa9m1K+/mqddaTnl7ld25KGHlFvP8jegCZfKsJr9Kl57KX08ef/B8SSNDUbRzfXea860Oyi/caFgv5TyLnFl7+gqfGqRBghwyQ3l0mYhxKS9AW8FHFCCqHf5K6cUB+Xk0+S0GVtoEbwTzDc9/qiyXMJGXLW03wnO4RzslVxvr2m2lLGtWr5T40XMPZbDVvl2VJHHGhhaeyhe4Ztl6lxpd0JGCktYHH5M//yMCx/Mwpj3J+RezvztPiDw/HJ9z/uaV9GYswEmofTpNT2HxjR+Z6kmN+uv4AV2suEpDfg8IIG/ZFIOS1jgM0t2+urFoCCzz9JJqFPL0H9yMy1EU4PfmxMGZjXQSUhcVZzz6ffTTv2xT0QqGcYreZU7eV07pQ85h1YXpMIUa2+rrI2PPwr8/CgKhyaKlsSsMiFSZBYwkQPAPjYGKSOINNVLO+5Z6wxhTzWVORC8MBZWlsh9rxqT4JkfEDBFjizRLKvhY+abhUKmZtH0BGzisGfMVvi6yMW uQBnA4hv 0pRAzPW8v1VQXlYPFB3GwdKR6hqQWdNJfc5SqXpqzo2OD+FhfAk3sBzrGVqiK6zGGqI32iEII+TizAkksTWzIfya6raZEdLxO+j6FC2xnXLCRRZVxq1X+X/MTcEl5GRhzNI9xh6apyTLYZpHp3S2JqWEgSG3PjIBXfuREHMD+dR7QUDTSiwnS6LSpmEc4PmQvzqQqBNf6djB75YByPi2yRuDqDzqSHPKu2HagPnZ2URqMIR2wEmc+9zaV/0U/rKmqryjb4OeLv8VQUpidjC8vEI8RonO8K/auP38u8yL8TafiwlTL93uaEPr9ajFldmp/seR8mr7siHNxz9qUJktsNfQKIoxvcxxP+HQl+FSGp6jvUQSk5jAl7LgPn3Wkcq1zH9x4POL/8HNKVEVtql9OxPuVPI+t+zs6jRjgO1pXsGQ2/4pchuaw6izCEZ0qa81m212Rl7bnrTv13uiV/bbbUg49zIiWqOj3hPEoE+Beb3NevwjUWn/5CoaU1i/Lu3RDrA9UXAjVFPrYK2KT0hyE1uSnlOG90SpVoYY3kuLjm7OeI+6PPUiaKud2ix4r5htAJ5VV+FUnRMTsLscTnLbIPjPc4HkLGR5PMM0wUJrvZmivs0ksV8dbFEMNXN/PTR5CTgUWoxP72tuxxYA= 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: List-Subscribe: List-Unsubscribe: On Mon, May 05, 2025 at 11:22:42AM -0700, nifan.cxl@gmail.com wrote: > From: Fan Ni > > The function unmap_hugepage_range() has two kinds of users: > 1) unmap_ref_private(), which passes in the head page of a folio. Since > unmap_ref_private() already takes folio and there are no other uses > of the folio struct in the function, it is natural for > unmap_hugepage_range() to take folio also. > 2) All other uses, which pass in NULL pointer. > > In both cases, we can pass in folio. Refactor unmap_hugepage_range() to > take folio. It looks like unmap_ref_private() is the only caller that cares about passing a particular folio to unmap_hugepage_range(). Is there any reason we shouldn't drop the folio argument and call __unmap_hugepage_range() directly? > Signed-off-by: Fan Ni > Reviewed-by: Muchun Song > Reviewed-by: Sidhartha Kumar > Reviewed-by: Oscar Salvador > Acked-by: David Hildenbrand > --- > include/linux/hugetlb.h | 4 ++-- > mm/hugetlb.c | 7 ++++--- > 2 files changed, 6 insertions(+), 5 deletions(-) > > diff --git a/include/linux/hugetlb.h b/include/linux/hugetlb.h > index 23ebf49c5d6a..f6d5f24e793c 100644 > --- a/include/linux/hugetlb.h > +++ b/include/linux/hugetlb.h > @@ -129,8 +129,8 @@ int move_hugetlb_page_tables(struct vm_area_struct *vma, > int copy_hugetlb_page_range(struct mm_struct *, struct mm_struct *, > struct vm_area_struct *, struct vm_area_struct *); > void unmap_hugepage_range(struct vm_area_struct *, > - unsigned long, unsigned long, struct page *, > - zap_flags_t); > + unsigned long start, unsigned long end, > + struct folio *, zap_flags_t); > void __unmap_hugepage_range(struct mmu_gather *tlb, > struct vm_area_struct *vma, > unsigned long start, unsigned long end, > diff --git a/mm/hugetlb.c b/mm/hugetlb.c > index 0c2b264a7ab8..c339ffe05556 100644 > --- a/mm/hugetlb.c > +++ b/mm/hugetlb.c > @@ -6046,7 +6046,7 @@ void __hugetlb_zap_end(struct vm_area_struct *vma, > } > > void unmap_hugepage_range(struct vm_area_struct *vma, unsigned long start, > - unsigned long end, struct page *ref_page, > + unsigned long end, struct folio *folio, > zap_flags_t zap_flags) > { > struct mmu_notifier_range range; > @@ -6058,7 +6058,8 @@ void unmap_hugepage_range(struct vm_area_struct *vma, unsigned long start, > mmu_notifier_invalidate_range_start(&range); > tlb_gather_mmu(&tlb, vma->vm_mm); > > - __unmap_hugepage_range(&tlb, vma, start, end, ref_page, zap_flags); > + __unmap_hugepage_range(&tlb, vma, start, end, > + &folio->page, zap_flags); > > mmu_notifier_invalidate_range_end(&range); > tlb_finish_mmu(&tlb); > @@ -6116,7 +6117,7 @@ static void unmap_ref_private(struct mm_struct *mm, struct vm_area_struct *vma, > if (!is_vma_resv_set(iter_vma, HPAGE_RESV_OWNER)) > unmap_hugepage_range(iter_vma, address, > address + huge_page_size(h), > - &folio->page, 0); > + folio, 0); > } > i_mmap_unlock_write(mapping); > } > -- > 2.47.2 >