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 F271DCD1292 for ; Mon, 8 Apr 2024 17:47:18 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7455B6B0088; Mon, 8 Apr 2024 13:47:18 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 6F4FE6B0089; Mon, 8 Apr 2024 13:47:18 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5BE8E6B008A; Mon, 8 Apr 2024 13:47:18 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 3F51B6B0088 for ; Mon, 8 Apr 2024 13:47:18 -0400 (EDT) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id D696F1C001F for ; Mon, 8 Apr 2024 17:47:17 +0000 (UTC) X-FDA: 81987096114.04.253272D Received: from mail-yw1-f174.google.com (mail-yw1-f174.google.com [209.85.128.174]) by imf23.hostedemail.com (Postfix) with ESMTP id E23B1140011 for ; Mon, 8 Apr 2024 17:47:15 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=MhwRJmBz; spf=pass (imf23.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.128.174 as permitted sender) smtp.mailfrom=vishal.moola@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=1712598435; 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=RfIU0QpVZIF15lgnDsRjIW2TgpMzwN1OGssI0N0VgFo=; b=ae4buryoeZXSD+5erQ0joExiR7SAX5IH5a0OWPK5FSN9Wgq7beaHe1AoSH6aa5igS9LgSG UWn1Ta6wY2ce3BK23Vjic8yuxShFnROlhnF7dDCDm2I6xZXsGVh7pBDMigOrPtLLdX7mqo ZznLobV0ZDTb0dK8RclK5qi+wV8ZKRI= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1712598435; a=rsa-sha256; cv=none; b=fY4tMIaxt1vj1IPjmEB69oSu9M2hoiY+7W96TFSE8nKmMo4VUui57br5ewULmB4uuqqF8N AxBTVSh+e9z3s9UU472Gn2GIHm4PX4wKcP8FEbHmdw9IRshz8iGhlmrN1QhY+rwsNEvd9v H/awW8l7bxVu5or3qShtgq7zbW7LqUU= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=MhwRJmBz; spf=pass (imf23.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.128.174 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-yw1-f174.google.com with SMTP id 00721157ae682-6181b9dc647so8251827b3.1 for ; Mon, 08 Apr 2024 10:47:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1712598435; x=1713203235; 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=RfIU0QpVZIF15lgnDsRjIW2TgpMzwN1OGssI0N0VgFo=; b=MhwRJmBz0/UMyZF57Hi0xawkLSYK21a0uU9Flw9MtJiyEKNoi5Aui49tiz6LXeFHWN jdGXeV+FXvNP2hqXwFJMJLxyZhQKCJjzZkrO6Z3ds/OIVB5G42fpyf2cOhbVykPr9I2q jZ8/zy3xUxp7soiAAcSXPz1oinmoqmh3XhaaA8TCS6RlDiGNUbs3LWVj8Ha0WMFcDFvy JXIq0CVCsCUFf0eiWFbnR4Xi22/mFVNmAalvWWMga3MOSa6hzfJwdgolH/7/nMqjE1Iy zN0C+8fYLXhx6+9Rl78A5BHunUNJPGe/kj0WUNqp25oaqzd6EKMI2dwuf33N8lmGd9Rr vIFA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712598435; x=1713203235; 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=RfIU0QpVZIF15lgnDsRjIW2TgpMzwN1OGssI0N0VgFo=; b=i+RCnqm933WuFXGssbFkUYAWJD9nPHa+aXsXvaDTgaWzZ5c2es4AN06exyO+LOXp2B /tG5g0JspeWEs7s3S9zvDjeLpfTjOluER3UvHEq2F05Moa6QxxcrRJSga9LQXcteO/HI vpUIpG4dTlWUtJHFaEAG6L8wDNcKGNpEEpk7hwUditEBXR6aJzBeDl/uAIE9C8A9duvy qUljbI9tbyCYe8go+kF9/xIuN/cyX2AbA+/1G+YRDCqBqx/1uVXttsP+jHLiLQjdu0TX le65+EqRg4tfClaKcYaLNq3EjmZ5LIqeBRGgN99HAa/KOsePaj2DWls1Own/IclRjv3K F1Gg== X-Forwarded-Encrypted: i=1; AJvYcCVcI3t4dBuCpf87amKnT0JBMRuHhsdsKvOji03ufMxiuiRDEM4sWSPktzdRkUl8Yc6pjMxoVzBtK2E6GxRExugBfhI= X-Gm-Message-State: AOJu0YzglSyFgBOgHaHu2X3aRrD85wKE9e0t/A/aZxkEAYn0zBIOdItY VvxhycMOY3mjkKoH4sPvUngpACxvlm8hZK8sKKZCCBa0ZHSrmdrz X-Google-Smtp-Source: AGHT+IHNzcjSy8N90qb0o5QWVigXYw7QeFbxDb9CyChIMBJFJiVFLSEzN7YPaTW3goGfIziB2Q2Log== X-Received: by 2002:a0d:f402:0:b0:611:7186:bb70 with SMTP id d2-20020a0df402000000b006117186bb70mr7731199ywf.38.1712598434975; Mon, 08 Apr 2024 10:47:14 -0700 (PDT) Received: from fedora ([2600:1700:2f7d:1800::23]) by smtp.gmail.com with ESMTPSA id k6-20020a81ff06000000b0061575978d53sm1773869ywn.55.2024.04.08.10.47.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Apr 2024 10:47:14 -0700 (PDT) Date: Mon, 8 Apr 2024 10:47:12 -0700 From: Vishal Moola To: Muchun Song Cc: linux-kernel@vger.kernel.org, akpm@linux-foundation.org, willy@infradead.org, linux-mm@kvack.org Subject: Re: [PATCH v2 3/3] hugetlb: Convert hugetlb_wp() to use struct vm_fault Message-ID: References: <20240401202651.31440-1-vishal.moola@gmail.com> <20240401202651.31440-4-vishal.moola@gmail.com> <7d001108-157d-4139-bfa9-5b4102166f17@linux.dev> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="bzqOPz8R0NrpdQb6" Content-Disposition: inline In-Reply-To: <7d001108-157d-4139-bfa9-5b4102166f17@linux.dev> X-Rspamd-Queue-Id: E23B1140011 X-Rspam-User: X-Stat-Signature: uwiuzaydcj9qdto6tyewc83oymu3i18m X-Rspamd-Server: rspam03 X-HE-Tag: 1712598435-405788 X-HE-Meta: U2FsdGVkX19jtqFEFkMyYLXMq+NqA3GehXMae7grx8YCec5thDhmZXPuTlibfvBlSHViWbI5CBaRqIVRTI/Gyye5TV0sQCVJ35epY8KzkjsFa+XaVjXWFTG8FppWORE8lUBzxlvZGmRs7J0swzOt1AjzpPsyB+LvNhqtIlPp9RrWqhZ2ziXLsZXUtLOHVh5qiHDmVd9k39oh8J/zY4b/sDvbyEJ/GZaolAlOqPSixbpH5jE6zcXgh9mzy6KfeeMJW0JCNaRMpMX+J3y/lBDT0moozhClr6Zg0zKbRkShMgi0nu2YaSJJbJvzpgOTlb2bxgXNUXMEhNJiKHJe59f9+jjm04SExgVr3hPTlhf516sRdkWEoUGHTGoQmyU0AKk6ECvKsmOivb1huo+tAQVNupd8WqR1QyY/IAZ51IOjSUjNyM1KPzErG63kN9VoAxZJToTnd2RZYp5lV55wGwo1Pu+wc3XBYYiGw5gXsiq2Jaa8HB4haBWXRCBDgzYUw30jTXBZFjW19Fj2wsfwf4+ESbijdE1Z5QoynZwoLrWJPhl0yJv1yp2Tfw1lokwiCxnOIDX0mwqElo9AiflNQCfZYSugZ1rxbjGMCPbtDRG/4bX1jKaj8eEPKrlfvvbY2MR9cRzfDbptPgI5kubikvLe10Ct6/UIjAL3rLOfrOVOhSvaMWVxKH1PvFCK+XEQoprJ7HcBOWvvJRfUP9OxozR7FIcjtr9OMi14k3mbEi/lAX/fKrnW8AtSsm9g9VHQ6wwoh7QDONKG/jtwZS08pUqeKHKtiOgU1r9p57SydQ5tqYZ8zgE5/I7DThEfjT7FqA6DzkSWcpnXPtUilGfW9W9YUHNny1lGWx0hOUAM3wre7U+wHQnhfw7s+Tfvhw9MPFHZ66qgMou1JuKeo0r4lOw5OUXDI7Yjx/ngBvpo3w+QcEviLRb4WArDXDtITyt7RIvpPuO80SpT5Muyq9uT2Ea XAbY6zpk oDrNJs47voZyCDxrmwZrcN+rSWhDPL7DBibeKGgMZ+gvFcOqpzuRbdYhJM5BsUaK56FPPNexrXCjhtmtk1Fg5OfhaToLQ3wJhWJKh7zqcwsVs2NweitLTfCWsIQo6s4abosOeJv5bu5yKj4HTOrUr/+JvXy8jF7pWrQMfoX/p8fezpvMk54BK94Lp3e0GY49Kz8SoLz4BdyMKkNy5GtV8ezXZp4PCxm4nI22RIp4Gkw1scFfe4DES8GuRrJPwb4X7Ahou0WEpzfDHU4GqWR+BFS0AQ8ZtPwi43+JgEBPrsytw5QxoNK0YC6qZJXKDLkMv0kWlkjZWtYvfaAt2Jn+U4Z8VOzi+VVMyiR/2tQFsp3JSkHBf4a8v/6ZnouHGUcUgYkD3MiFkYzHIyas/0d0jwfdE+xP51ubegljq48d0LMUOMQOF7BJTvRPjTO04RtY+/Jk6XZV7nVTXlYvPYvKEck9eBgfjGI+6WwD0fqTxukvJbjaUBCMHXD19PHtVbFsf2GtBosNrpL6jqGPlPQ0i8usikzNWjifiP69PROm+CYcCj3vX6S5THfcR9cH0ms2GA+w4RSCb6kHCiNWeTHDhxkPfY3tjBNAoGGudRGYoiGOY/PM= 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: --bzqOPz8R0NrpdQb6 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Sun, Apr 07, 2024 at 05:12:42PM +0800, Muchun Song wrote: > > > On 2024/4/2 04:26, Vishal Moola (Oracle) wrote: > > hugetlb_wp() can use the struct vm_fault passed in from hugetlb_fault(). > > This alleviates the stack by consolidating 5 variables into a single > > struct. > > > > Signed-off-by: Vishal Moola (Oracle) > > --- > > mm/hugetlb.c | 61 ++++++++++++++++++++++++++-------------------------- > > 1 file changed, 30 insertions(+), 31 deletions(-) > > > > diff --git a/mm/hugetlb.c b/mm/hugetlb.c > > index aca2f11b4138..d4f26947173e 100644 > > --- a/mm/hugetlb.c > > +++ b/mm/hugetlb.c > > @@ -5918,18 +5918,16 @@ static void unmap_ref_private(struct mm_struct *mm, struct vm_area_struct *vma, > > * Keep the pte_same checks anyway to make transition from the mutex easier. > > */ > > static vm_fault_t hugetlb_wp(struct mm_struct *mm, struct vm_area_struct *vma, > > - unsigned long address, pte_t *ptep, unsigned int flags, > > - struct folio *pagecache_folio, spinlock_t *ptl, > > + struct folio *pagecache_folio, > > The same as comment in the previous thread. And fold the attached patch into here as well please Andrew? --bzqOPz8R0NrpdQb6 Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="0002-hugetlb-Simplyfy-hugetlb_wp-arguments.patch" >From f4adcf13ecc15a6733af43649756e53457078221 Mon Sep 17 00:00:00 2001 From: "Vishal Moola (Oracle)" Date: Mon, 8 Apr 2024 10:21:44 -0700 Subject: [PATCH 2/2] hugetlb: Simplyfy hugetlb_wp() arguments To simplify the function arguments, as suggested by Oscar and Muchun. Suggested-by: Muchun Song Suggested-by: Oscar Salvador Signed-off-by: Vishal Moola (Oracle) --- mm/hugetlb.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/mm/hugetlb.c b/mm/hugetlb.c index 05fe610f4699..0d96a41efde8 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -5915,10 +5915,11 @@ static void unmap_ref_private(struct mm_struct *mm, struct vm_area_struct *vma, * cannot race with other handlers or page migration. * Keep the pte_same checks anyway to make transition from the mutex easier. */ -static vm_fault_t hugetlb_wp(struct mm_struct *mm, struct vm_area_struct *vma, - struct folio *pagecache_folio, +static vm_fault_t hugetlb_wp(struct folio *pagecache_folio, struct vm_fault *vmf) { + struct vm_area_struct *vma = vmf->vma; + struct mm_struct *mm = vma->vm_mm; const bool unshare = vmf->flags & FAULT_FLAG_UNSHARE; pte_t pte = huge_ptep_get(vmf->pte); struct hstate *h = hstate_vma(vma); @@ -6364,7 +6365,7 @@ static vm_fault_t hugetlb_no_page(struct address_space *mapping, hugetlb_count_add(pages_per_huge_page(h), mm); if ((vmf->flags & FAULT_FLAG_WRITE) && !(vma->vm_flags & VM_SHARED)) { /* Optimization, do the COW without a second fault */ - ret = hugetlb_wp(mm, vma, folio, vmf); + ret = hugetlb_wp(folio, vmf); } spin_unlock(vmf->ptl); @@ -6577,7 +6578,7 @@ vm_fault_t hugetlb_fault(struct mm_struct *mm, struct vm_area_struct *vma, if (flags & (FAULT_FLAG_WRITE|FAULT_FLAG_UNSHARE)) { if (!huge_pte_write(vmf.orig_pte)) { - ret = hugetlb_wp(mm, vma, pagecache_folio, &vmf); + ret = hugetlb_wp(pagecache_folio, &vmf); goto out_put_page; } else if (likely(flags & FAULT_FLAG_WRITE)) { vmf.orig_pte = huge_pte_mkdirty(vmf.orig_pte); -- 2.43.0 --bzqOPz8R0NrpdQb6--