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 2D014E77188 for ; Fri, 10 Jan 2025 06:24:04 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B4FE48D0002; Fri, 10 Jan 2025 01:24:03 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id AFF988D0001; Fri, 10 Jan 2025 01:24:03 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9C6D38D0002; Fri, 10 Jan 2025 01:24:03 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 7F7628D0001 for ; Fri, 10 Jan 2025 01:24:03 -0500 (EST) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 2B1118081B for ; Fri, 10 Jan 2025 06:24:03 +0000 (UTC) X-FDA: 82990551966.21.D36536F Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by imf11.hostedemail.com (Postfix) with ESMTP id 73D5040003 for ; Fri, 10 Jan 2025 06:24:01 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=none; spf=pass (imf11.hostedemail.com: domain of dev.jain@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=dev.jain@arm.com; dmarc=pass (policy=none) header.from=arm.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1736490241; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Mk0W4yQx3apUd8N1LKR5G22cVMk5DHGQd8Ope27UEhk=; b=v7z43Qs3Ki3IEkXRCDHcDZPKM1eTAUjEO+6icjBYUST1Upwtzz4zzHLAfQKFhzj08pzsVe dbLn0OAyJMRHa5cQNDkNTirUZrruCKBa615KlVC9TDEDTpTjU04KCMYPPHE3FiA41UXZ5l ASb6VhNGn5F2BIulwmWzIbMcxqZnl/w= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1736490241; a=rsa-sha256; cv=none; b=0QLZ/600lh3qXUUl9cWs9iA/+jljw9Wmn0SMngl/x96jOBnV/HaHzMrqEznrO9EzJZReI9 POTnZZXkHujMOV0p4zxpkrP8acUa9fPVMU0OD+oG7pyoyJseNQXzCFJTwsPSkFibSL+PD+ /9Teg11ivzEBPpBMsX45SAb8U/JS8zM= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=none; spf=pass (imf11.hostedemail.com: domain of dev.jain@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=dev.jain@arm.com; dmarc=pass (policy=none) header.from=arm.com Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 113601477; Thu, 9 Jan 2025 22:24:29 -0800 (PST) Received: from [10.162.42.21] (K4MQJ0H1H2.blr.arm.com [10.162.42.21]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 64D7C3F673; Thu, 9 Jan 2025 22:23:49 -0800 (PST) Message-ID: Date: Fri, 10 Jan 2025 11:53:46 +0530 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [RFC 06/11] khugepaged: generalize alloc_charge_folio for mTHP support To: Nico Pache , linux-kernel@vger.kernel.org, linux-mm@kvack.org Cc: ryan.roberts@arm.com, anshuman.khandual@arm.com, catalin.marinas@arm.com, cl@gentwo.org, vbabka@suse.cz, mhocko@suse.com, apopple@nvidia.com, dave.hansen@linux.intel.com, will@kernel.org, baohua@kernel.org, jack@suse.cz, srivatsa@csail.mit.edu, haowenchao22@gmail.com, hughd@google.com, aneesh.kumar@kernel.org, yang@os.amperecomputing.com, peterx@redhat.com, ioworker0@gmail.com, wangkefeng.wang@huawei.com, ziy@nvidia.com, jglisse@google.com, surenb@google.com, vishal.moola@gmail.com, zokeefe@google.com, zhengqi.arch@bytedance.com, jhubbard@nvidia.com, 21cnbao@gmail.com, willy@infradead.org, kirill.shutemov@linux.intel.com, david@redhat.com, aarcange@redhat.com, raquini@redhat.com, sunnanyong@huawei.com, usamaarif642@gmail.com, audra@redhat.com, akpm@linux-foundation.org References: <20250108233128.14484-1-npache@redhat.com> <20250108233128.14484-7-npache@redhat.com> Content-Language: en-US From: Dev Jain In-Reply-To: <20250108233128.14484-7-npache@redhat.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 73D5040003 X-Stat-Signature: f5yocus5tsyosuanb8zhhaqdacrw654i X-Rspam-User: X-HE-Tag: 1736490241-103465 X-HE-Meta: U2FsdGVkX19QCnJXPb05Sdpv6QSl0OPjOaFXkJDcDQKA5Dt1XsSIlV0ANi3R3u961AbItFwGgmSQhlE02t1wNEVz4PSc4+eivIdsfOuLfHLsKoRGewSOnjBNHjZtjJy9LseDieQi3MHvpy7kXLHqC/trC41cB4rkZ3QgEJDxX9g5hLHMpeY7k2W9trlWzNCr9+USiuOIzw2rjNqUcPocj9OdBM4+DLWvohecIc65HiEMCk1NNjCi81/2MzlaE/fgXfk69KwQL2jTUoSoDPFAAteAzvra2IopPfTtZtExNSQQfStKdEJrGemBL9706z39LDBhwjeCci7E1kY0+iTfDDvboqciHvHSo74MpsoeGsRv1Unibm7V9W4yrjtpKj8AlbXvYtX65R7K8KkGFNrGDH8BXSnbtb7JnQHm6X01zOehll21EnS6fRVHgBBzv5ZvhQZ0xIGCfyokhwOq4u9ThNRAtXRLYt5Hezg/JqMFOo0c3xIm56ttXpG8uOoak7tW9B5t689yJT4ruZsS9T4b+PYG9rwh+xEG5xs/GodV3iJp2QKd8zWGBAVnhSeUeALaVU54SiKxz0pJSzPPghWPiABkf3xlmgrf58u9LoosWlZ4iRmea1ntN/jdMX7i0C+46aaLGVjU5ADC11EeiuzSS6D759Chx1CvzjfR2aSZ2h8I5aBqJ0uoD7Qp9PQ693QplqnYW4+xD3eifiO5kFE5Pi1Lxp7DgEo3VqS7o+x6p3ETBj2nIMmUWQPVkFBUyjFTpaUNFqyUtASBYyrN/0HAVksWltuopUL2bctzCLXMl7Hz3NuJOO5yCynicC0ognKZK3ajAM067c5bYvRpNMEBUR1rt5sxqlX9gm0j7xSj3nvIE6fKTa6lMHkMBesRfJsUvke294FWd5BZylPZzdSYDXM3pZ1I2YI2uDwsGghkmRyLKePzkOUYthT64htlBtb81xcd9kYSGgZPA7j7i0v YUBA7RCF FR7dLjQdjl9x6duHmpC9V36FRTHQhIa15Nne8jXv3cNjQedsFqra9JkQ7srlqxwm0zEvw2cQYXom5B0n77Y14NvLtZmZjBb5d3XD/hfe/FUR5kACUwWd1EJgaA2LEOBJo2vpukr0yQKWk5/tZthaxYayI3UNx9e3+vMHzFoo1jOrVVLW1j5IxL2vqyE2iy3Rh8M4rdVSpr1TmtOBDApGBUbwZ13WNDUdrPojnVS0k9QB2Yq0Ml35l21kme1x/oacnHwO0GpzMOpUiNY2cvugffNt4aQ4IAifnplKi 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 09/01/25 5:01 am, Nico Pache wrote: > alloc_charge_folio allocates the new folio for the khugepaged collapse. > Generalize the order of the folio allocations to support future mTHP > collapsing. > > No functional changes in this patch. > > Signed-off-by: Nico Pache > --- > mm/khugepaged.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/mm/khugepaged.c b/mm/khugepaged.c > index e2e6ca9265ab..6daf3a943a1a 100644 > --- a/mm/khugepaged.c > +++ b/mm/khugepaged.c > @@ -1070,14 +1070,14 @@ static int __collapse_huge_page_swapin(struct mm_struct *mm, > } > > static int alloc_charge_folio(struct folio **foliop, struct mm_struct *mm, > - struct collapse_control *cc) > + struct collapse_control *cc, int order) > { > gfp_t gfp = (cc->is_khugepaged ? alloc_hugepage_khugepaged_gfpmask() : > GFP_TRANSHUGE); > int node = khugepaged_find_target_node(cc); > struct folio *folio; > > - folio = __folio_alloc(gfp, HPAGE_PMD_ORDER, node, &cc->alloc_nmask); > + folio = __folio_alloc(gfp, order, node, &cc->alloc_nmask); > if (!folio) { > *foliop = NULL; > count_vm_event(THP_COLLAPSE_ALLOC_FAILED); > @@ -1121,7 +1121,7 @@ static int collapse_huge_page(struct mm_struct *mm, unsigned long address, > */ > mmap_read_unlock(mm); > > - result = alloc_charge_folio(&folio, mm, cc); > + result = alloc_charge_folio(&folio, mm, cc, HPAGE_PMD_ORDER); > if (result != SCAN_SUCCEED) > goto out_nolock; > > @@ -1834,7 +1834,7 @@ static int collapse_file(struct mm_struct *mm, unsigned long addr, > VM_BUG_ON(!IS_ENABLED(CONFIG_READ_ONLY_THP_FOR_FS) && !is_shmem); > VM_BUG_ON(start & (HPAGE_PMD_NR - 1)); > > - result = alloc_charge_folio(&new_folio, mm, cc); > + result = alloc_charge_folio(&new_folio, mm, cc, HPAGE_PMD_ORDER); > if (result != SCAN_SUCCEED) > goto out; > I guess we will need stat updation like I did in my patch.