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 BFDD4E77188 for ; Fri, 10 Jan 2025 19:42:26 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4E6ED6B00CA; Fri, 10 Jan 2025 14:42:26 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 46F4D6B00CD; Fri, 10 Jan 2025 14:42:26 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2C2FF6B00CE; Fri, 10 Jan 2025 14:42:26 -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 08F2D6B00CA for ; Fri, 10 Jan 2025 14:42:26 -0500 (EST) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 88D5BAFE37 for ; Fri, 10 Jan 2025 19:42:25 +0000 (UTC) X-FDA: 82992563850.02.2A388D3 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by imf06.hostedemail.com (Postfix) with ESMTP id 2F475180006 for ; Fri, 10 Jan 2025 19:42:23 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=MFK6gYUA; spf=pass (imf06.hostedemail.com: domain of npache@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=npache@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1736538143; 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:dkim-signature; bh=e+RTI87cxhg/NXvqdoLlrWIq3BD29/DnLSMjvSEnRAo=; b=TgyP81jnrQ2Os4cjq1bVNttQJmpAZiXTVFw2rgKC/R3i2guK5xzbGuHdxI3c8JJjMJ1eHe xW7066lGCP+c5hTHayy6S565CdtogjDDghXKqX6MYf5DtRCTqGdik8nw7DmwFB+mkwPIqa y9gdhe8hMU+iutKo4C0JkGbwdl5wtok= ARC-Authentication-Results: i=1; imf06.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=MFK6gYUA; spf=pass (imf06.hostedemail.com: domain of npache@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=npache@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1736538143; a=rsa-sha256; cv=none; b=f4dqgO2a69a/EIKxtWkhPw/PEwHUV0a3pmezKO6Kd3tJPHpitaq0D8KZ886eoOsg3b5Kku IhffHZdkcJfFwxuz3PvCrnEwwiTHB3/BbQk3k0bM/PM3s4lhkj1QSkOSwvtHrs2dzVVD+E p1H6RcQnesJC8/0LqmV6ZAJewrHMLso= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1736538142; h=from:from: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=e+RTI87cxhg/NXvqdoLlrWIq3BD29/DnLSMjvSEnRAo=; b=MFK6gYUAlPJ8kMTsasbopOmvbH1INgQjlnXTag/vMLUlCEMmw/RzhOphSMZLXkZrCLO322 8XaayTGxVZoGuvmPAZenSMj6tmhXsZvtXICb3/PLHCZ36Eei1Edf/wD7mDeIR7x9IJLUDk 4C2exqdiMxVkVAWeXIMQznQ7NzihH/s= Received: from mail-yb1-f199.google.com (mail-yb1-f199.google.com [209.85.219.199]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-214-ouoAwuf-O2KgI9MrAZfYeA-1; Fri, 10 Jan 2025 14:42:21 -0500 X-MC-Unique: ouoAwuf-O2KgI9MrAZfYeA-1 X-Mimecast-MFC-AGG-ID: ouoAwuf-O2KgI9MrAZfYeA Received: by mail-yb1-f199.google.com with SMTP id 3f1490d57ef6-e572f6dee18so1523435276.0 for ; Fri, 10 Jan 2025 11:42:21 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736538141; x=1737142941; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=e+RTI87cxhg/NXvqdoLlrWIq3BD29/DnLSMjvSEnRAo=; b=HXvm02kZSMWzgK+pci/ZNpBuj7H/p8nMjhfRbGvSRaTjDLGH8S+OJpz8HCZMcLJEu8 IkIxpW1yBTdMRpWwVvmVVcSNwzAWLpe1x5lZXAC1tF4nvGVyaeP/W6IY2yOeTXySOeAz kMqRpZWukDO+1nmS+eflc8Asr2EikogRvGf252mc28N9oqtFnDF7JjlfvRmWXwhQ+lnD Z6r1K/53Iz8KXfPzeRlFcZlqy1IK5ukZ2sS4I4En6SLkMA2VvT+Nkas9qn04VYYtd7Ak 36RGZ6ODHffTKERTEU1icQu6HOLCQTgbNjFIP7Wtl0icH/iJC2yLerf47NXqh8tEwupG s0dw== X-Forwarded-Encrypted: i=1; AJvYcCUcKDYoHDC1qDQvksfXfGpyGVslmHk5FQGLWA+TmRpx3HNsroc6G4tRt/Fhd3w8+Hts1WFsxC05lA==@kvack.org X-Gm-Message-State: AOJu0YzmunRqcFh0/gIMuKp5Py0Ny/PE78LsOK2mOtkarhE3USpF31cE Qr63Ys/nRtnmc/oHe5NfFvv2p1jEhOZa3ySv1gwL8cX4eDVA3h3ITebRoM5bY3dueI+BqA99gjf BqxxLOWKjR8KKkPZQBZOFcX4CiupK8U/yyjLDRapBoYi57RGx89DtC6+SVoc7u6UJiChBB8BkTC 5eeAw7RO6Qw2NcjXW8mF8RL+0= X-Gm-Gg: ASbGncuaJQZAdePMjConJw5wXT/GkT5VzaLjys9E/GCZ5PNLlAlOdmzdd9H1x/Idq0f /tvwJte+BEJNCP6Nptn5WUqx3LSu4w0vP1ecUEXzEd2Jlttp+/3iX X-Received: by 2002:a05:690c:6b0a:b0:6b0:70fc:f6e4 with SMTP id 00721157ae682-6f531220bb6mr100961287b3.15.1736538140830; Fri, 10 Jan 2025 11:42:20 -0800 (PST) X-Google-Smtp-Source: AGHT+IHLPiHwwZniGT+V74Tp6fc7DceJBuMOC95BqcKZyNzNhLtlOA7I09nnU2JqJ6gIOJGDuip/OgEL2HHahfAJTTo= X-Received: by 2002:a05:690c:6b0a:b0:6b0:70fc:f6e4 with SMTP id 00721157ae682-6f531220bb6mr100960777b3.15.1736538140521; Fri, 10 Jan 2025 11:42:20 -0800 (PST) MIME-Version: 1.0 References: <20250108233128.14484-1-npache@redhat.com> <20250108233128.14484-7-npache@redhat.com> In-Reply-To: From: Nico Pache Date: Fri, 10 Jan 2025 12:41:54 -0700 X-Gm-Features: AbW1kvaKB0E_GY0TuTFjwt-6fpvLEhQHgHC2qD8yyS0w-gIKec1y1sisln_Iw9A Message-ID: Subject: Re: [RFC 06/11] khugepaged: generalize alloc_charge_folio for mTHP support To: Dev Jain Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, 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 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: tUH5Mo2LbqwmIasDHRKg3zjYzFw7CAIXegg1VfYBXp8_1736538141 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam05 X-Stat-Signature: umyioynnx8i673ibpqswmf4ue8qufe7m X-Rspamd-Queue-Id: 2F475180006 X-Rspam-User: X-HE-Tag: 1736538143-398580 X-HE-Meta: U2FsdGVkX18GtrCCFsqtNd+uoFWju+LUS7x9uHYz3JHN59oB92yyJRJ/WUg236v4FaXJJjFuXhigmbkWA9RXU7dSNr+yyr08DVK35GIMzQG6JgBqTuAJ7xB7aNgxu0+QBfuUJoMqu3vM1GjncxZJcOJ0bliVDuHCxGHvMuPADV6SY3A1wUhqh4uPE15NreiTH48A8Zin8GO5iHCgxfZrYS8WrGDph5ZEr62XwD8mrfo2pXUHDZJ0B2CU2rZeCsD/BiYitNCp8pNOApoLRr9s2GK2SCIF2Hud1jiHCwSq+Z7KhI5HGSq15jNj5WfsPyyMe/JP0tOKQeZ+AC7sD0Oybrdyza38gDy3UjWCxczAykLdHZ6lctmadzIvWGMqDeRDSxQyF/IVJ5exZcvgcL3tV/SWMCbb8maR3vD+CjpXaRl63JLE+Q3KbaLgEvERYFhCaysdE8CVH/TXIfOGYy/G2aYuycvON5R5er8XitXDglhd5Ub5tcV5WPUey1K6HOhmLlA575U8ib8zCEV0iYYULtUAprroDqDVPPqsBYnmuu/5ZEko4Y/TDiwD4bZEIH6/aKarnKk1bIJK3Zk8+yIKto9dBr3LAzC4n3tw5EhXEILIYGxA67qCIN2cp3yzfzsznVF2tIAg8FYVYT3bvvN5AX2sI6xhXJDkeNxT8Dx0rUW4OOhwFZat+sT7eVIKQxYb4mmrnimNR+8LATx+KzjDSkhzetfltuWPvSgYyd5TJJI+cYH7KhcLSOiAgqx9RknhZq8ovNP7HahlLn4gkqeK0NfS+igleKBfozgDZh459kcQncyZPT0fHAYx/MfTSYVFaiq8f24NZpqWtWq1KNURjQiSsq4yI8FrGN9AMaX96D50tjcWBBKarEX/fM1VfxULnvuGGrY9EQtUKYKVXbRcl2A4M6lYfiyMS4GIj7a1nvSBk2Me2qN+PjuB6PUiQUl+uH3OJiKxbY6Rt5/UBn0 +Y9YOxG/ Or1Z8+aZsEseMcpKKlXmlom4wGo+enbOKTFTUlDLqcPkujnlLIxJ0EIiu3dD+01Gx/FLu2jT1VySWcNZtfksBJ/kGGLKZvKihn2rpBkPxmyhOhmp9H0oW4SczqWfVvjCHWrIwn2d1kyeDzme58NbsN1sGCpXi7Ixgpr9MIrNPPuzZTxiqv3UCE1tezO4UEwhZNcurMngXznBHC8ciS30+iw8z1kFGrTWXy5HW96eSvPCFg5td8JIFCfI3NK9bX6PCdoIXl8I4e33A+n/nWb3WbCCMxQ0jE/ZLxPH4czEaReAo6RXjb5DSEc/IpuDpEEkFf9KQlStLS2neDz/EZvnaN/vwSCRQDRPAj+ACI88Ofm18Cwi/JAK+h1eBB4owxuCnat2xOFA8JrERgveZe14p5qr4sGnC361ZdA24aQF8boNP+jHcWFoCi1jyM3Tii9e0h8h5tIdC22j+BXI= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000019, 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 Thu, Jan 9, 2025 at 11:24=E2=80=AFPM Dev Jain wrote: > > > > 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 m= m_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 =3D (cc->is_khugepaged ? alloc_hugepage_khugepaged_gfpm= ask() : > > GFP_TRANSHUGE); > > int node =3D khugepaged_find_target_node(cc); > > struct folio *folio; > > > > - folio =3D __folio_alloc(gfp, HPAGE_PMD_ORDER, node, &cc->alloc_nm= ask); > > + folio =3D __folio_alloc(gfp, order, node, &cc->alloc_nmask); > > if (!folio) { > > *foliop =3D NULL; > > count_vm_event(THP_COLLAPSE_ALLOC_FAILED); > > @@ -1121,7 +1121,7 @@ static int collapse_huge_page(struct mm_struct *m= m, unsigned long address, > > */ > > mmap_read_unlock(mm); > > > > - result =3D alloc_charge_folio(&folio, mm, cc); > > + result =3D alloc_charge_folio(&folio, mm, cc, HPAGE_PMD_ORDER); > > if (result !=3D SCAN_SUCCEED) > > goto out_nolock; > > > > @@ -1834,7 +1834,7 @@ static int collapse_file(struct mm_struct *mm, un= signed long addr, > > VM_BUG_ON(!IS_ENABLED(CONFIG_READ_ONLY_THP_FOR_FS) && !is_shmem); > > VM_BUG_ON(start & (HPAGE_PMD_NR - 1)); > > > > - result =3D alloc_charge_folio(&new_folio, mm, cc); > > + result =3D alloc_charge_folio(&new_folio, mm, cc, HPAGE_PMD_ORDER= ); > > if (result !=3D SCAN_SUCCEED) > > goto out; > > > > I guess we will need stat updation like I did in my patch. Yeah stats were on my TODO list, as well as cleaning up some of the tracing. Those will be done before the PATCH posting. >