From patchwork Thu Apr 17 15:43:13 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Fan Ni X-Patchwork-Id: 14055814 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 641E0C369B2 for ; Thu, 17 Apr 2025 15:56:03 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id AFBA4280052; Thu, 17 Apr 2025 11:56:00 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id AA76828001A; Thu, 17 Apr 2025 11:56:00 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9734A280052; Thu, 17 Apr 2025 11:56:00 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 762D828001A for ; Thu, 17 Apr 2025 11:56:00 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 31681141A4A for ; Thu, 17 Apr 2025 15:56:01 +0000 (UTC) X-FDA: 83343986922.18.DCC383D Received: from mail-pl1-f170.google.com (mail-pl1-f170.google.com [209.85.214.170]) by imf27.hostedemail.com (Postfix) with ESMTP id 4C8CE40004 for ; Thu, 17 Apr 2025 15:55:59 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="ZF2/8Hk0"; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf27.hostedemail.com: domain of nifan.cxl@gmail.com designates 209.85.214.170 as permitted sender) smtp.mailfrom=nifan.cxl@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1744905359; a=rsa-sha256; cv=none; b=EVw3iYrUA60MrJlTixK/EP8zQ6kkhu876srcCypGg57H7XorkMcUePQwd3oVUENnvhqY9j 1Q1JT9btXVWWDf/WpGSfJrZ2w0djtgIkv8cy2JlyKH/7NPXnYn43wH+ZxizJWrP78/ROSz A3tHiIGqwYoEr4Br07A22FbkY5Nfg24= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="ZF2/8Hk0"; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf27.hostedemail.com: domain of nifan.cxl@gmail.com designates 209.85.214.170 as permitted sender) smtp.mailfrom=nifan.cxl@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1744905359; 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-transfer-encoding:content-transfer-encoding: in-reply-to:references:dkim-signature; bh=IXJ++ZYB4CUrHJfGeizELkG7bwzF7vvY/YoERDdrBr8=; b=MGC0I4PXmIQQtrjChssrQ6Drx42iPVPTocSwZdHgYL5WdrOhgNDQh5x/VhRohGk5jFTkye 1HADJKHud7ZloaoUnB8xk1EOATZSU6fkvHtNEjFj0+gcjbx7bvAm1HDm/7dbmflSiCYKX5 nd7UWRxqWSWADuZusraIWMD2DSZZ5Bo= Received: by mail-pl1-f170.google.com with SMTP id d9443c01a7336-22c336fcdaaso12111305ad.3 for ; Thu, 17 Apr 2025 08:55:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744905358; x=1745510158; darn=kvack.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=IXJ++ZYB4CUrHJfGeizELkG7bwzF7vvY/YoERDdrBr8=; b=ZF2/8Hk0dLwKYT4GeEz/TwNBEN+Q8pE034jmlSvYWEbY2+uRTegnYOC+SUHBg95EcH bWdojo5gq7ImZe267bx5kEsCOjhVbAYtaXw8uTuZdoO6rIW6hzEcBHFHOri85y+wMF4i igjObKS7UoP9FlPPHTxpsNqRTEXXXQXW4OKVAV7AzkKzHoyJ98xM6sbFYJNWXlMYR4Yo Sp7HILaHzj0uJvvZz3/MhXk8DnCWtBNv7bK9ynALeRiJEKtz+uA7PnJdi+v4H104Ydgx sv9VkuQFMM1g8NF0TQMRCaWcf+rA8lsFImMygV1zidQq8MkYi9yTqtmtp5OA/dI1h8SZ ynGw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744905358; x=1745510158; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=IXJ++ZYB4CUrHJfGeizELkG7bwzF7vvY/YoERDdrBr8=; b=X0MT0oVa4dWPETj4eyYN7vSd/QW4slAb/eWlzEzuZ1wtbX/Mn55akdCHf/YMUvF2BU D0Sc5I21M27r5PCK3QlFaaIIviGEXYeEgo3YnRjvQP/BPrXfqsUuqlvdBN8SgafLFtYm W3VFDkxls157L3yPYzGV9LqWoJeH5InMdwR7R8vC1GFiiwSTM966D0A3953UWrDVJ8FK nGhbpvdiT2bhv9wDhHUSU6kUWLENb23+RG9FStVDPRSSVW609hWCzSnNeR9OpRqAj6O/ vn7sZAYyVYNo6O2ibMalmkBpZB89tl0MlkY3xbNFIT0VxaJBHQrNJ8gSDyX3c0kJdGt2 BNdA== X-Forwarded-Encrypted: i=1; AJvYcCVJf5l/R8cq8zjYAWhBbiGQ4Sa4I7lBJNCGKn0QndQ9Ga+v+AH4tgaNI4E938tKjgj9EbVQ7Idtjg==@kvack.org X-Gm-Message-State: AOJu0YzT2rcSy2GJfMspWZs66IlSj7PjiLteoRjSLQB3e1/rYFdE3Qpq FmMI5fMwCzn4OgCXQD9IT3XF1fLX5XcC4d90POK0FBX18+6LKH+G X-Gm-Gg: ASbGncttavAjz/grj3MexsNMHluzoDc7U5QGM8KHhO8qZHY5rYmzPqERHAgOF08kpih Qx44O8KoZ3TbfeRiIdsKALG7dguBdNQ9E7jweCAWB/XiuYDsEL+3z8Eq/Wjv2LeXfJq96VxQcNj 56irUNsWj+kCdF9cGiWdph7JRD/dXBbOqhxzqGDpCScRO3y4yE/ldcGIXqeh23pMhf+9DDA2NRO MvcU0g0ufJRNiSMS2rVN9j8hMLutcwMnvQzZLnIoyRG/Da/VuJycHBFT3kHBrj8tAn7kX5B8tBj 9XZJgE5LDDuHRNT7BuoRPKESvw/VUV+YqxwLIB/Gk3ef8dPaLoDeSAcShHir+7M+1ead X-Google-Smtp-Source: AGHT+IF6QguIu2QXteF6PLhJZs/sPdfIp2KpzZa/FiBntrCSGh7LhD8sTM8nxwWkatBq2dlJgpGfdg== X-Received: by 2002:a17:902:cec6:b0:223:5a6e:b20 with SMTP id d9443c01a7336-22c358c50c8mr80078455ad.7.1744905358097; Thu, 17 Apr 2025 08:55:58 -0700 (PDT) Received: from localhost.localdomain ([2601:646:8f03:9fee:5e33:e006:dcd5:852d]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22c50bdaae7sm1636085ad.36.2025.04.17.08.55.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 17 Apr 2025 08:55:57 -0700 (PDT) From: nifan.cxl@gmail.com To: muchun.song@linux.dev, willy@infradead.org Cc: 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 Subject: [PATCH 1/3] mm/hugetlb: Refactor unmap_ref_private() to take folio instead of page Date: Thu, 17 Apr 2025 08:43:13 -0700 Message-ID: <20250417155530.124073-1-nifan.cxl@gmail.com> X-Mailer: git-send-email 2.47.2 MIME-Version: 1.0 X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: 4C8CE40004 X-Stat-Signature: 6e98774j7pto6asdbn94jz4a4pmufo35 X-Rspam-User: X-HE-Tag: 1744905359-200437 X-HE-Meta: U2FsdGVkX19KRMGZyy8LEIMih7cRSJhSE9Sdb5qk8YVG0W9PxyiDYYdnFj+PCoM+r0o2LPY3TSxLnSFxScbYapXxgL2IwGK8SFn895QoZ3Cxzt17bP7m+bwgX2RyHB8YsTk+P9J9ApUPjvIJ5A8TUaCgNgMHf/hgeHtcCK03RsPlwqak9Ndp2ldOK0DkVCSvQP4yVKCgwgrKdDKaSWqZ3TmMDn49qHW2zxcb3cpOf54t9ZnwDXiAMEJK3BmXmI6OtfTUEbRiGk5IUQ9+k4kTxyG3RF72quv6MFqO202e2RUXu5ryHauQTB+M7X+kTG+e5QUyXiz5yd59QTpwgrgkE4gl+nyS5leP3OV42k6Mlaj+HNswupfj1mLDtgZ7V0aNU2BMjDa65eRqly5MdowUQkFKzDuWwFyxc6LxUnnCw90kkkNfuaTl1VcA6fesfoRpiMYtpJsweahRIMZYxrtG5y5TF1vnpg5RAifeyT6pmhk/h1d8C7vqX+iG5iQ8PufiAJX1d78SGLrcEifCoirRzJVj8YPMnCBJ4UkN54Nl5adsAFsbtp5Na1n32ariyWBvA1LhURGedms9fWeShcTcKJY8jLKF0d73a4rbVQhUEXhRvC/NDOK0q6gNlIykgA9TqZbA0dS8CsAKNdVZ2QhlYUkGAd6QX4LqoOmyyV2iIF4rAhAhKOt099TUScWQlH0+tWpi6lO4J3CXTymdzOLoPfTqY778qt/a8MVwycc1CJt0gfDYbVq+hVCaMAo3PWajW1GmDfgWBlgGPJkvwhrUXnC/RUXDOcKIMDbiCq769q4HSpiMSi5kHWwihjQp1bydPx69J8xn1X3ztNniryb3ksmDcj16r3gC0HHwWPyuXKe5tVW5MMk4b5PrmuZT7v09FkeMOtTrFhl3xY4o8QRy8ojC5qTYmcL8kCWSIYe9Y4URIe23QN6t3bRC4OTK1e/7Y9P2gk9hMf+CJc/8bVj wnjaD3j8 Y35ugYhH4hTymW0M17mTHtlU6aBs04DgKoB5nDAjPjLlcT2QuDv5I9wFYlJ7gQgDh1g76es1D1fHRdRuJJdeAbPDjArK7H5ew4gD+Se0z1Jc3RFTw0oznLp7XBOoEuYPfV3DNChiZnT8OlOhkd8z5yw3Yogy0DZ8wTjhuhW4gw2VfV3baO2ifVZffQtaIpB3Eomqn608NDBHNnqk1DWaSlRofA7zDacP8g9UrCLnItLbT6JrGOIDlFCWkU+UGEQcdj7ggX2wQlj2/t1TjltZzwAdP9k4/IsLxxWZDC/hOlx+maigdKSgPF2csPzBymmbL6BlKvgKGmtY79GwyGRcRYtDoUZUxE9UrBcg4cdYCLude+wVv4O0DA92k/tyWhRdMxWXn4OaqzsfEQlJ0oCytb512u1Piren2P82cqg2K/FpEmUEgWE0U/ZQXI0ho4TCc+ywWNybGQ5j3OHlINOWPklU14DPAcS2NKF7ZUtUsJ7IcxMTcVacXIfmcHg== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000010, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: From: Fan Ni The function unmap_ref_private() has only user, which passes in &folio->page. Let it take folio directly. Signed-off-by: Fan Ni Reviewed-by: Sidhartha Kumar Reviewed-by: Muchun Song --- mm/hugetlb.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/mm/hugetlb.c b/mm/hugetlb.c index ccc4f08f8481..b5d1ac8290a7 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -6064,7 +6064,7 @@ void unmap_hugepage_range(struct vm_area_struct *vma, unsigned long start, * same region. */ static void unmap_ref_private(struct mm_struct *mm, struct vm_area_struct *vma, - struct page *page, unsigned long address) + struct folio *folio, unsigned long address) { struct hstate *h = hstate_vma(vma); struct vm_area_struct *iter_vma; @@ -6108,7 +6108,8 @@ 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), page, 0); + address + huge_page_size(h), + folio_page(folio, 0), 0); } i_mmap_unlock_write(mapping); } @@ -6231,8 +6232,7 @@ static vm_fault_t hugetlb_wp(struct folio *pagecache_folio, hugetlb_vma_unlock_read(vma); mutex_unlock(&hugetlb_fault_mutex_table[hash]); - unmap_ref_private(mm, vma, &old_folio->page, - vmf->address); + unmap_ref_private(mm, vma, old_folio, vmf->address); mutex_lock(&hugetlb_fault_mutex_table[hash]); hugetlb_vma_lock_read(vma); From patchwork Thu Apr 17 15:43:14 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Fan Ni X-Patchwork-Id: 14055815 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 B499CC369C2 for ; Thu, 17 Apr 2025 15:56:07 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 279BC280059; Thu, 17 Apr 2025 11:56:05 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 24F6E28001A; Thu, 17 Apr 2025 11:56:05 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0F07B280059; Thu, 17 Apr 2025 11:56:05 -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 DF0FC28001A for ; Thu, 17 Apr 2025 11:56:04 -0400 (EDT) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 8E0D0121AA9 for ; Thu, 17 Apr 2025 15:56:06 +0000 (UTC) X-FDA: 83343987132.12.70C77A2 Received: from mail-pl1-f173.google.com (mail-pl1-f173.google.com [209.85.214.173]) by imf10.hostedemail.com (Postfix) with ESMTP id DB3ABC0009 for ; Thu, 17 Apr 2025 15:56:04 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=K2ALKRTq; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf10.hostedemail.com: domain of nifan.cxl@gmail.com designates 209.85.214.173 as permitted sender) smtp.mailfrom=nifan.cxl@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1744905364; a=rsa-sha256; cv=none; b=w4vbdD1Z81ERCdRsX5oqi4idRHNPAwFVveSIEXPicyW4tC7hm3TShnESULg5HmQwxp+WiY MAyX1nIfIEQ51F+Vsy25p3KboEkikJ4fWt9Ps88O8UsEHruTUSN5mB7OJ+eydRtM/65zHy fSLf90T5MdYpbVEe2Kx9ooMsHExbk8w= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=K2ALKRTq; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf10.hostedemail.com: domain of nifan.cxl@gmail.com designates 209.85.214.173 as permitted sender) smtp.mailfrom=nifan.cxl@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1744905364; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=oSEcAr/Nninfs8xf/2CKsjzTEjL1N076YIJRTQ8WFqg=; b=dRrpMv+Ipjkzh/IbtYC2OSKKsYCrhp9BHKM1n6ngXQUK0tGATgqqXhgfXuefY1d3a+4em9 jMQBSYyig6oV+u5Rdw7grsFe+nmnvCFO1P5zcddmezXA/zWIUZYjxJ3s+AfNdphn6KWoyI uJsR4298mARhQURZ5RMGBem+1O+xOsU= Received: by mail-pl1-f173.google.com with SMTP id d9443c01a7336-227a8cdd241so12886835ad.3 for ; Thu, 17 Apr 2025 08:56:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744905364; x=1745510164; darn=kvack.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=oSEcAr/Nninfs8xf/2CKsjzTEjL1N076YIJRTQ8WFqg=; b=K2ALKRTqrfMsaU1As0QQXkGzBpSYXWLccThNwnj+9/9C7Y4BnBRkxziQoIeSRPQqC/ WUvXmyLdf9LekOjqNEXsJuia07KupPmN1TqikyuT6UdZjBy08bd5ArfJk/my0zUSNmkq kBleA6AaQVpz9QOXdG9EU8U3Vu4xx5J1bmO2BPqoXY2FgY5JhXoTrhc5pR8TSk4/Wfmu yOYRfUlQ1Y/WMl9xBD0KjKBgkP+LRWJeCoYpctsONn7pgUC4/2bb/+daw6TXt6DZHNsf VamfF3JO6UiN8x5lp882cGE4NUETVJPI+l2N6B+BXe7qaGVtLbGVEB/vtcjREkNTUaOV zMhA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744905364; x=1745510164; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=oSEcAr/Nninfs8xf/2CKsjzTEjL1N076YIJRTQ8WFqg=; b=boSNutQIlQ6kf5gWnJoAj/a2iX5XqlCaPLiAM0KjiISK6FJ/hvBNlQktn/91r72MbA gzbPu4JSna9RWtEjZC+bLVCvYTxxv/TSWDucdMxyLLs36HPB1Zd/KBZsW9uaiJh75ES3 CdTJkry9MhUSrz0J9qCyAJfhUpf7CEdhLy/WYHioA6ipobrEnfgiV0FXsof40e5Orubp AQCcyfuY4+y6kNA6lMuqLKR645Q25O2C3YPwy0roM7ECwxgMb5rLFBIxtdnBDcDJJzNu 8C+tL8iD1DudCl/SB8OHlllLcSfLp7bLLsHcejpsuVxvB//vzgMjRUxnfizg8LUoK0sC VElQ== X-Forwarded-Encrypted: i=1; AJvYcCVi9oxD0+j9Hrou15pP3Cwf4PMQoqSlo8hwaCAeg8MTg/Ijk2PWPGrTRj0Z46rklz6rBesxQagM/w==@kvack.org X-Gm-Message-State: AOJu0Yykjq4CiS1fBBfsSj2+uBE8XoIy73vLiBgKmBO8XvXP/eosOAJM i/l7q/JCItyKmnuT+GXjowryrKG2RCiTVKEqyWKVTK4NmWkvfN+T X-Gm-Gg: ASbGncvoHskDI5TMu53SvgFziLEJ8ocQTXYnc3m5rNnHXNPWTDQD24htBHGkXcVh+HG ajaI/VGK0aBkGD8E8wUWf8bEU3TCJ6PynfPopOyL7hjvj/TTQ4D6cuxNEs6XztvOlPlYyjwDQv0 ycEWooe+qzzna6xeh85mMiZZ2c77w1KPyfdq2cpOdK+/34GyO7BMbPjoVjKTOP5eppsO1FP0C4U Y75mAVGFzf6ftHQrABCPgOejrNHpphH+JUJYlBrTYR441ObD+e+rbzKbF1MrJwNbmxl6xi3ITaa zUltEOybD1ZD+s+u2sAL5lCseoa78NFamjYuOzJ97e4wp3IbAVk2d6Nf3Zepa21Sfy0f X-Google-Smtp-Source: AGHT+IFJwKldYasU+o6JJFWYYy0XlsU/CWvQYjmAL/nLwbGDvCRVFchUBxwoQWEx+LafDXC37seMbQ== X-Received: by 2002:a17:902:e542:b0:224:7a4:b2a with SMTP id d9443c01a7336-22c358c50e6mr100309045ad.11.1744905363815; Thu, 17 Apr 2025 08:56:03 -0700 (PDT) Received: from localhost.localdomain ([2601:646:8f03:9fee:5e33:e006:dcd5:852d]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22c50bdaae7sm1636085ad.36.2025.04.17.08.56.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 17 Apr 2025 08:56:03 -0700 (PDT) From: nifan.cxl@gmail.com To: muchun.song@linux.dev, willy@infradead.org Cc: 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 Subject: [PATCH 2/3] mm/hugetlb: Refactor unmap_hugepage_range() to take folio instead of page Date: Thu, 17 Apr 2025 08:43:14 -0700 Message-ID: <20250417155530.124073-2-nifan.cxl@gmail.com> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250417155530.124073-1-nifan.cxl@gmail.com> References: <20250417155530.124073-1-nifan.cxl@gmail.com> MIME-Version: 1.0 X-Rspamd-Queue-Id: DB3ABC0009 X-Stat-Signature: bqkhindjbwgxy9wptue5kpz56tayyari X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1744905364-418524 X-HE-Meta: U2FsdGVkX1++NwyAysXES5P/pJ85R7G90xXbF7O6ps65+U4C45r1mdmYzZX1amVefNslKsWyj1zX9BoktKmQiDr78joB5V31R8YABlToJ0IWc0WN41lgr4Axusz/3F72Fjnr0ilu8IbYzDLss0ocwIc2nuoFtV9OGEB0sRfZczC8wumGvxy1bqDdOladc+g9Rq0nXFQk9JDKApjzaQyBx35yoSTp/koQvTGhNuQ6QKDcQmkjo8j9M6ugTFiQSIb6QRHl6hxyE5paJfiL6KKbCxzhgt5cXbNM83KYXf/9HB6RSQm/yANRVobwJXb9QnXRgP6lzAcy/2SjlonrndTW7KGmuZr/hW2cR320AzvmdMkKSfbsMhNM4p5uiwA85lxhIOo+fbBdeQ57VbhWcRaVQbk1Ay8zhwKEvfrnUfo6tOYApyZ+b5O8/UDceaIvXJlemK8ZBLEGsT3bG8IxputqfP862SF6erF5gsh5Oug2LeE9p3rgVq0Jxf+rnHS6Qcdp6/bybBhrScrdmmCZODKm+7z1Cih0AGQPQvVbToXEQ+rkGanlN8EIen5APj+MWlX05YgMn5jjbVo6DfhRpTJVVTVOD+p6YjUmapOjuvIcZ3H6QAjlkj1uDpdA7rrgRdVbhUHMlnWAC7Gz6aKMjUZ9z0fmqei6YFLlnlCd77NFfvRHPRypDErYBmZk8/yIOLzvzPpsuAdP0rQIQXk2eG8PkSaTEPbHYc5ox26J5VdrRsbmpLuyUz6FK6wS2VMIvsHLjhMLoGfwSZe0FJ7osU0vPRV11qDWFSonu3MesCgT4j+FQLCYer/A2JY2vErlqsQGr5N4nNSpuKtMPoRnnotLYQGAatvi+weJ/VTQ2CS4vh04i0Oci6dv9IxbJA4ptI5u2N2K5zjjDlXDlEP9W121912O5sgoSF0WPTufN70CShg5Doz3nC3H1C6qPmf83amgX/DH3GglEeoHwXigfLa oLa6eK1Y 6eekKro4EQD3BeZeclhiZf50Os6GDKrbELocy3FKIEWbeOSw4zxN7pATy6yMk2hCvGBZHaSwimIo+yyIc+13XDm889MtvanqO3YbG 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: 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. Signed-off-by: Fan Ni Reviewed-by: Sidhartha Kumar Reviewed-by: Muchun Song --- include/linux/hugetlb.h | 2 +- mm/hugetlb.c | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/include/linux/hugetlb.h b/include/linux/hugetlb.h index a57bed83c657..b7699f35c87f 100644 --- a/include/linux/hugetlb.h +++ b/include/linux/hugetlb.h @@ -128,7 +128,7 @@ 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 *, + unsigned long, unsigned long, struct folio *folio, zap_flags_t); void __unmap_hugepage_range(struct mmu_gather *tlb, struct vm_area_struct *vma, diff --git a/mm/hugetlb.c b/mm/hugetlb.c index b5d1ac8290a7..3181dbe0c4bb 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -6039,7 +6039,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 *ref_folio, zap_flags_t zap_flags) { struct mmu_notifier_range range; @@ -6051,7 +6051,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(ref_folio, 0), zap_flags); mmu_notifier_invalidate_range_end(&range); tlb_finish_mmu(&tlb); @@ -6109,7 +6110,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(folio, 0), 0); + folio, 0); } i_mmap_unlock_write(mapping); } From patchwork Thu Apr 17 15:43:15 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Fan Ni X-Patchwork-Id: 14055816 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 AC2B4C369C2 for ; Thu, 17 Apr 2025 15:56:10 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1247328005A; Thu, 17 Apr 2025 11:56:08 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 0D42228001A; Thu, 17 Apr 2025 11:56:08 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id DF20428005A; Thu, 17 Apr 2025 11:56:07 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id BD29628001A for ; Thu, 17 Apr 2025 11:56:07 -0400 (EDT) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 8D7D1141A19 for ; Thu, 17 Apr 2025 15:56:09 +0000 (UTC) X-FDA: 83343987258.21.A7ADAE0 Received: from mail-pl1-f172.google.com (mail-pl1-f172.google.com [209.85.214.172]) by imf25.hostedemail.com (Postfix) with ESMTP id A97EFA000E for ; Thu, 17 Apr 2025 15:56:07 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=nctKTghN; spf=pass (imf25.hostedemail.com: domain of nifan.cxl@gmail.com designates 209.85.214.172 as permitted sender) smtp.mailfrom=nifan.cxl@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1744905367; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=MNo4trKsSrAblzJZ1AtMfvORrQgIvx7kTybovwOHbKI=; b=74lOfRyFF6d7jTdL4X7d7jUmhmSfgJew1Z3E36nVjypGVfhQvSws7Bw9+pkX3YIHGn9Jmq 71tcrSKtHsq3lrzKNxgKMZborqCoBvARR3OhgzV9YXoQawNu0x2gUfWdRcSwyARvHts2Jz lHjIhZhJWacKnHQy0eJNvOx7H/PMf+E= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=nctKTghN; spf=pass (imf25.hostedemail.com: domain of nifan.cxl@gmail.com designates 209.85.214.172 as permitted sender) smtp.mailfrom=nifan.cxl@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1744905367; a=rsa-sha256; cv=none; b=YhORqIvqLQnWG1QDaLmxDAWwiy6N0XcnYbLICfKAqQmwcGq+PLW3f2fPsdj+DW+SDA363/ YtKv3dA9bGpSP8q5BQUVmQI3SaS9+DkvyCdwxGAJaIHZU16lDnsOtJpPYaUdSe/Ku9TVOg wDhE+k+kFe3WWxtbdyRHgbpNtVdVmi8= Received: by mail-pl1-f172.google.com with SMTP id d9443c01a7336-2241053582dso14870365ad.1 for ; Thu, 17 Apr 2025 08:56:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744905366; x=1745510166; darn=kvack.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=MNo4trKsSrAblzJZ1AtMfvORrQgIvx7kTybovwOHbKI=; b=nctKTghNprVfdujGPD2Bbg5tDGZPP/r10+ItWg6NB9Zow/3GJbqG43GitaXbj9MpaD /Sh7sgSMwHrliRhGZc5X4+zIiDln51IS1qJztWq2Dj4roBhGxpGJ7jCf58tU43+QlH1I AR0PXDO1Ds5EjMH+BG5mrQ1xh44Xr+/fZBi39VV8hMy+uE0XMf/ghBflDwu9ftzxz/5Z Ygu5jzphT/kpDhgqB2giYC5Vx2rj48noQdAyR/RDn5geGdGV35+/ZEPhbL+WINS86RIO YVh5qLwPXbD7+U96nG7YYZUWdmlCcPzEEsexqatRVn5pw1kN7FNmdxJ/TjAaHaywGjtV uJFQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744905366; x=1745510166; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=MNo4trKsSrAblzJZ1AtMfvORrQgIvx7kTybovwOHbKI=; b=fw4hj1ZKXSrXSGxKVuTdEtL22Ou8YAKAxiV20Za+1wPIs+ntWKSJpDjkyE7ZVn+rFi vloQrWILYwPxCKSvtTyJjZ4QEWmz/tLSrQ6+uzvuBmWLV+vY5CidK0F0+0ZC1JgxBl8e gXPj8Ym+D3w+K13IV6XZzlLnRUa0AbdTHS0Q+smw4WHTkukSfBUbq8K9q6wWP5/m2Hsb 3spq0nPRkpHTYdSBqJwiLpSe/yAKfsSdG9a+tN1A6WH2GL2oNZKNkOuYD8SzCxVrHzax SXI/lRB86PJ3EEKbIWy6IynqH/8xugrnDURO1/Vn3D9T5TuOJNua1a40aEtdkZpRnWad JNhg== X-Forwarded-Encrypted: i=1; AJvYcCVOmW4LApC4esusvE6TUbVwDI9H2NCLoV8hA8vYxqaWK8RfaAkgj3Oyyo0IUBPRlfdo5YK2CN3dhA==@kvack.org X-Gm-Message-State: AOJu0YyRi5xmVqNWdn0LIidDPnDXmqaf2Bs8kJ00l7IyC0OX0790LGQd MehzdZxF/Die86EyI731Q7mUiILPwozoUFhIP0Ka1mtXLitCINfo X-Gm-Gg: ASbGncvMo9XGx5y7LQaCKD+gPZ+4whmUEpWTlRX8+5OxNoyWHu5FdASsSL64G1segSx bBXrj+eGPyJjiikZiql+1T8wOJDV3lUjmXezBxe2l/Abl3Ps8aerOTZXWVKlCDSwYDqG5qsT34K 8Y8DgCaDl337GbFgaesn/WjU+61gDWZ6//as9BcsJha9clODblXIVgAFPG8yuvgcKe4Dlg617e/ DN0OEhda0I5ata7ch6/FGWC5E95kQDOZkX4K5NAfAYoG1VAOkgPZghl86PqpV0EHkBO3luNl6R2 7F3FiXEjdG5+XGh2YANmXbSom/2qWoy5R3G1L34CvdmZ8+vkx5iaekA3Cw== X-Google-Smtp-Source: AGHT+IH6hPLhTkRRuAmzXBkZvtr/mvV00mkfy9wR3j+cWFOfhtUSnXbr8ajdUurTGsVz18KRAbX+mQ== X-Received: by 2002:a17:902:d491:b0:216:3c36:69a7 with SMTP id d9443c01a7336-22c359a2687mr85665945ad.45.1744905366545; Thu, 17 Apr 2025 08:56:06 -0700 (PDT) Received: from localhost.localdomain ([2601:646:8f03:9fee:5e33:e006:dcd5:852d]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22c50bdaae7sm1636085ad.36.2025.04.17.08.56.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 17 Apr 2025 08:56:06 -0700 (PDT) From: nifan.cxl@gmail.com To: muchun.song@linux.dev, willy@infradead.org Cc: 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 Subject: [PATCH 3/3] mm/hugetlb: Refactor __unmap_hugepage_range() to take folio instead of page Date: Thu, 17 Apr 2025 08:43:15 -0700 Message-ID: <20250417155530.124073-3-nifan.cxl@gmail.com> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250417155530.124073-1-nifan.cxl@gmail.com> References: <20250417155530.124073-1-nifan.cxl@gmail.com> MIME-Version: 1.0 X-Stat-Signature: 3bqnjw6t6hdo6z4odamiucxafuq1id4f X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: A97EFA000E X-Rspam-User: X-HE-Tag: 1744905367-889407 X-HE-Meta: U2FsdGVkX19jcVdAY+QMrHGeM1aQRh5UujpgHbeZgBc5ysBkrkfudWrRrd/OykwQndR3c8cgLvuvtUB1Dk6BkW4hnQARONtkqrTwvsCy60Z15eKQ1Yq915pKvJkxhIoqCgOJnSO55pY2vdTqAR4gXxoYHpJ650OVcqFVXb8sJxtPLDf9e4/jJvmc9bbYk6tTXyLI5xgrKj/hpMUxvgIyNG06ghxk8YoUtm4nBLcZ0gF9wbnZonT0TTS/glxedR13cJFd1DPFtT3VeQiTQE8CMsQLgfyAN8FO/mmaFE2ZIqK/Y0eFGqSo9FQZpli0x9+9ZiGkcrGI3qG76lDQcRKm6o+8YAfW6g431YJZxk1m3zW3d+jgJevSg/xmBnkACJ5g01hWWCUHr/G/vIUwBmpEK+lM9nnVvtxQK4VY0Op3prJA9OmFDiwpGdGna1lhmP26xmszk0N+Ddn9s4C53QKigCePjzB0bj2Smh4rxPavLwNMH7ulE1IvArOut0UQYFd0+cSns0U09FjXZpSkuPtcy1gL15++QNRuooYi4ElrROjEqTgvgRV9XHI9dKmvidjtUYJPvWstXxWSE8zIbBVgM2xwNMpR7iD1148Y5ucNjQBbEUzNqgRHgUvw2vfJsrDEOEL1+pq8CtO1NexpFRtez5zBZ1DN5q+qEIawFTZq1Ltr/NQEdYTH7HVj4t/dHef/d1U+z4/5gBSuR//Td3+U0ovXraaXCau/6h6w2m5EFxZiuA6CXIdctiglgqq5olU8PyXKRFkTXgaVskwIqZ0tLbfjUrUjCJmEwZZjcB59byk2I7e7M8x2V8JwacPtCDG2aI/3PdxWL04w/0+dPasWXEnhHb/jWVo3K7tisOS3/81Sew0Y/xdEW2DD+tyIovKiY2+IFqDHJ1lugqdxD0dae6njVOkMfg7rFnW8anOw32iSjAeknrqamEuQzMMSkWTYxGuQaq8NgQaOJIyswl3 opn1ujwA JB7znQuan/8xj2Q0d3n7SWM0+K4693EZ0kg1KRahBghf9dgQFUixOp2hoRx2a83aqHmgzIHccNh48Q9xYyYNdyH7/P4xr/g23U+1AmowZoxGPBvGNF/Dy/A85Km1oKOzpO3m4fMpc2WUwRFDIwha5WA5eoePJGVY3j0h3xBkvpHREgubtXKK+l+b1R8x7gZcOGO38g5y2B8Zm/lBVmOb8yF3mGWigd0GMdjOxXFrs1rHwGVxwJXbhCmUiMHW2C3Iew7xXi4Vk6a1qc5iGfvO+gjBWPEG6TgA6Mas03Dn9JR7MF8SiQKqegdMxHksIoVZl1gushlajLLNy0A9rhEqEfqsdJXSEQUlJ6wASE2d11pSINhEjfftQ77hRJ4nu6vfrPNEs/Th0EGnrmaRZbZuwKZOfEKgZKhrEPyEIVk+jZroIWNGX398OFajsvVy331VQSuULAFgksMxIbJjeXF4wiK9Mq8RNiFTWfPZBHp9QzPY/uqXAkSFbytewkw== 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: From: Fan Ni The function __unmap_hugepage_range() has two kinds of users: 1) unmap_hugepage_range(), which passes in the head page of a folio. Since unmap_hugepage_range() 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. Signed-off-by: Fan Ni Reviewed-by: Sidhartha Kumar --- Question: If the change in the patch makes sense, should we try to convert all "page" uses in __unmap_hugepage_range() to folio? --- include/linux/hugetlb.h | 2 +- mm/hugetlb.c | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/include/linux/hugetlb.h b/include/linux/hugetlb.h index b7699f35c87f..d6c503dd2f7d 100644 --- a/include/linux/hugetlb.h +++ b/include/linux/hugetlb.h @@ -133,7 +133,7 @@ void unmap_hugepage_range(struct vm_area_struct *, void __unmap_hugepage_range(struct mmu_gather *tlb, struct vm_area_struct *vma, unsigned long start, unsigned long end, - struct page *ref_page, zap_flags_t zap_flags); + struct folio *ref_folio, zap_flags_t zap_flags); void hugetlb_report_meminfo(struct seq_file *); int hugetlb_report_node_meminfo(char *buf, int len, int nid); void hugetlb_show_meminfo_node(int nid); diff --git a/mm/hugetlb.c b/mm/hugetlb.c index 3181dbe0c4bb..7d280ab23784 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -5833,7 +5833,7 @@ int move_hugetlb_page_tables(struct vm_area_struct *vma, void __unmap_hugepage_range(struct mmu_gather *tlb, struct vm_area_struct *vma, unsigned long start, unsigned long end, - struct page *ref_page, zap_flags_t zap_flags) + struct folio *ref_folio, zap_flags_t zap_flags) { struct mm_struct *mm = vma->vm_mm; unsigned long address; @@ -5910,8 +5910,8 @@ void __unmap_hugepage_range(struct mmu_gather *tlb, struct vm_area_struct *vma, * page is being unmapped, not a range. Ensure the page we * are about to unmap is the actual page of interest. */ - if (ref_page) { - if (page != ref_page) { + if (ref_folio) { + if (page != folio_page(ref_folio, 0)) { spin_unlock(ptl); continue; } @@ -5977,7 +5977,7 @@ void __unmap_hugepage_range(struct mmu_gather *tlb, struct vm_area_struct *vma, /* * Bail out after unmapping reference page if supplied */ - if (ref_page) + if (ref_folio) break; } tlb_end_vma(tlb, vma); @@ -6052,7 +6052,7 @@ void unmap_hugepage_range(struct vm_area_struct *vma, unsigned long start, tlb_gather_mmu(&tlb, vma->vm_mm); __unmap_hugepage_range(&tlb, vma, start, end, - folio_page(ref_folio, 0), zap_flags); + ref_folio, zap_flags); mmu_notifier_invalidate_range_end(&range); tlb_finish_mmu(&tlb);