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 24AA1C7EE39 for ; Sun, 29 Jun 2025 06:52:47 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 969C86B0089; Sun, 29 Jun 2025 02:52:46 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 8F3916B008A; Sun, 29 Jun 2025 02:52:46 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7BB0B6B0092; Sun, 29 Jun 2025 02:52:46 -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 668F76B0089 for ; Sun, 29 Jun 2025 02:52:46 -0400 (EDT) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 1779A8072E for ; Sun, 29 Jun 2025 06:52:46 +0000 (UTC) X-FDA: 83607520332.26.35410D0 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by imf04.hostedemail.com (Postfix) with ESMTP id CBB6540010 for ; Sun, 29 Jun 2025 06:52:43 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=edHi18zd; spf=pass (imf04.hostedemail.com: domain of npache@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=npache@redhat.com; dmarc=pass (policy=quarantine) header.from=redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1751179963; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to: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=dYKXeabm4uMs6XSfO74X92NI0bG52d5ihWZ68rikNBA=; b=aLKw70eBgbQDJy/QDry5OWGKv+W4vziVPcXyoojbu4rHQxvjsZeogoWoGxIWjBxhGBc+sO bjsruA9PwfQ0kOW+lgyYHTiBifFFBXG4dc07WQ9JAJEP3FT9iSaEWm0ba+m8Y/WZ31udWs NnkbvO/RBYpBNpuYTzPm3BYRvVlHZ68= ARC-Authentication-Results: i=1; imf04.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=edHi18zd; spf=pass (imf04.hostedemail.com: domain of npache@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=npache@redhat.com; dmarc=pass (policy=quarantine) header.from=redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1751179963; a=rsa-sha256; cv=none; b=y3KcaHdGQHyVBnjKuDakwRQJjFXEM/P8CpINDTli/Z5nCs+S7tPu7cJ+PEg7fOwJiqAuqh /hR8YFPIwm5FKqlfrJ5OIsMVtIq2kW1wrjmHNvCmxF05fnmTpJigrs10qvTsNW6qquq6Yw HXIeohtycRnObQ0DJzGP6bvAYk4Ot5Q= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1751179963; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=dYKXeabm4uMs6XSfO74X92NI0bG52d5ihWZ68rikNBA=; b=edHi18zdF6F82R+tSDFjYxTEU+vWjwK9+qDybw/GEQfidrqIY7rpeQ2NC6dvGCF2loU7f2 FMnGyFERxjswh0Zb0X0krbrnJEaOhn9Rjsfpl/CCcDxwHaXCGiNdXYmfEhIL2hbyJtK365 GMBfU2YJCAZPMkbSihxhOiloUl5TQc8= Received: from mail-yw1-f200.google.com (mail-yw1-f200.google.com [209.85.128.200]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-417-9sIyjopnOXqkhjxFzRC1jw-1; Sun, 29 Jun 2025 02:52:40 -0400 X-MC-Unique: 9sIyjopnOXqkhjxFzRC1jw-1 X-Mimecast-MFC-AGG-ID: 9sIyjopnOXqkhjxFzRC1jw_1751179960 Received: by mail-yw1-f200.google.com with SMTP id 00721157ae682-71111a7c31cso18735937b3.3 for ; Sat, 28 Jun 2025 23:52:40 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751179960; x=1751784760; h=content-transfer-encoding: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=dYKXeabm4uMs6XSfO74X92NI0bG52d5ihWZ68rikNBA=; b=a1hlTOA+SVUQxRtlQ4vUzo5dMFz+TWa+EiOl4FQ6TUyOQRRWl+1IV+K3gKQ47vNrh8 TK0gJ1Hjm1Hxz5kWY0v9Q1AQo0wQhPpPZK1L1HETfN64YpGMD0N2R4mar46xw7NdRN/A Mwzg39TSEaL8SOphLlvkJ+KwqSZ9qTQzWyDDDlgxnt//7ukd+60+zquEMcMfdboYYixL kv8t32mv3Gt/ErTWa8duc5sHJZ6xADdE4bqdMtlOq1KEyxNXOEyQeA8J/HGbKbSCoF4y va24xLrLY3gBiBzqvZCQ6s2gG0H5CIk7q2M6+bJbyKT8l/lg5/tePNPw8JvGFV0SkdKv 7LdA== X-Forwarded-Encrypted: i=1; AJvYcCVppBpbj434VsZVHsNEcCUrZhVsbxkJ74ngVx67m9Esrb/Na8cUgI+h/wOAHKcoAgr26NIMokRwqg==@kvack.org X-Gm-Message-State: AOJu0Yy1jzGJTz0/9c+lsqeqpcVh0d210QljiIeU5txywypLxG6s8tmz 9kDz8U5FZ/fEQc9xJeZsM+PW/aLfI9aeG+eNWVanXF/ikLsXq7aSP74nmCjA1ogMrb4oU6YAbGa A3idE2fYQgazkCaMBVocQ8lxkmxyvfkW7ac9kNTY2xBY2k7qDt/75SpmjVH97ZWg4LvS5M/ArSK qLtOU7hbKaf0alFCxXdDseEBfpDFs= X-Gm-Gg: ASbGncvt9QvliK5xCIZv7qzHpzk99xhaBtN86CP/IYAhZBxUvjaw75kSnup3yz2yVES fy4/ntSZxLNoT1g1tdZ3mdJZ686vTKKbR3mRmAEz8GL7sYyMUXc1LrWBUXum+LU53+IcODnoM4o BphcOpUg== X-Received: by 2002:a05:690c:d8c:b0:70e:73ae:766d with SMTP id 00721157ae682-71517145944mr139960567b3.3.1751179960210; Sat, 28 Jun 2025 23:52:40 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFV9tulolTDqeKx817OlO2V38cTNra+CLch7PoUZFn5KyoTzJyoZroREGy4iSbC8tLkIvc7uSniKycYnD1iKQ4= X-Received: by 2002:a05:690c:d8c:b0:70e:73ae:766d with SMTP id 00721157ae682-71517145944mr139960027b3.3.1751179959775; Sat, 28 Jun 2025 23:52:39 -0700 (PDT) MIME-Version: 1.0 References: <20250515032226.128900-1-npache@redhat.com> <20250515032226.128900-4-npache@redhat.com> <5u5ealsawrsaybblcfqorwljb4delzlmcjhdd274333daxb4p2@m47iodmem2fg> In-Reply-To: <5u5ealsawrsaybblcfqorwljb4delzlmcjhdd274333daxb4p2@m47iodmem2fg> From: Nico Pache Date: Sun, 29 Jun 2025 00:52:13 -0600 X-Gm-Features: Ac12FXwM1imoTwD6Lo2Sv9yym4xtJfMvJUshpuuhNpF_67zHIVGOwugkX3PYNkw Message-ID: Subject: Re: [PATCH v7 03/12] khugepaged: generalize hugepage_vma_revalidate for mTHP support To: "Liam R. Howlett" , Nico Pache , linux-mm@kvack.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org, david@redhat.com, ziy@nvidia.com, baolin.wang@linux.alibaba.com, lorenzo.stoakes@oracle.com, ryan.roberts@arm.com, dev.jain@arm.com, corbet@lwn.net, rostedt@goodmis.org, mhiramat@kernel.org, mathieu.desnoyers@efficios.com, akpm@linux-foundation.org, baohua@kernel.org, willy@infradead.org, peterx@redhat.com, wangkefeng.wang@huawei.com, usamaarif642@gmail.com, sunnanyong@huawei.com, vishal.moola@gmail.com, thomas.hellstrom@linux.intel.com, yang@os.amperecomputing.com, kirill.shutemov@linux.intel.com, aarcange@redhat.com, raquini@redhat.com, anshuman.khandual@arm.com, catalin.marinas@arm.com, tiwai@suse.de, will@kernel.org, dave.hansen@linux.intel.com, jack@suse.cz, cl@gentwo.org, jglisse@google.com, surenb@google.com, zokeefe@google.com, hannes@cmpxchg.org, rientjes@google.com, mhocko@suse.com, rdunlap@infradead.org X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: jLtugFyhUvuWJ27h72nW2C__7zc5SaiyrEEvF5OjhBU_1751179960 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: CBB6540010 X-Stat-Signature: n1smkj8e781si3enonbgpn1kh4coaota X-HE-Tag: 1751179963-238558 X-HE-Meta: U2FsdGVkX1/MitQR+e3ddNKaF6dKeuxaUQVfkJlaYTbimeFuGKUZlR41ln39oleTjcPo1ThWz1hsoCPb899qZcDq4HZGfgKPz4uECOG8EtdNr4MjQFn6kAcPHDmU474QSyulJxWuAqVXUttKsA4x09vUEPijln/V7EB+Xzp0EN4ILWRF3aMUF6JrK5u039SzhQHagBw3FPBRyFD3pzgmm3UqfPYV3H8ljZFcizRJosv8HkkUIdXdqkDsrv2XcKIZAyeKc4pudW+HsHV/owkNrAspu/8kT/IbnJcUn95YM7omnTIUkDwUKYP012I/0W2zTiDnSBbLdjAcnDvmIGJo4dPfiSkyFAbyMZDrvB6ccwaf+wseXbKgK8VlRzS5NJLtr4QHdbTcVbTRM+qGDdn9Tv0W09tnghmX21c33cMQY8SvALXOIUN3DWDyGeg/10Wf6VwFMHei1r4bcS5+oGlK8ShA8PGemdBHBKYqY5Zq9m0Xlm4mgrtsP81IicgN+x1pUHN7wDYg1mYXDrvZQHea5NYhSgmphTOF1yYfQOPGTwy0ajE8yqSW3aJ7q8djCza54LxU+PmNUpIk3r9vYLy0K6e/jXfle7xF5U2kMGSaGCNNkBgUxTOQJ7N87/BWxXa1lv3D1AknIxqKnCK8viMhiEY8DZXFt3cdyPVeeTJRugE16lAbJWftiSMhnPnrEew30/r9yJMCU9qcul2Ylg33x2MWGlWiB5D+pZ88xqjPxjj8v7aIMVU05PzAoyq8VVas7lQ9PH7tV2qv+YV49M1lakUKn+SniBsIewKCvQ6Zkm0VFYoe6TzWBQN24RSdMIX6Pjzhei9QgqlCZaR5KqnxlOsUPhc5BgaXLkJlSZgESPMYI+Tg6+AaYmZH+TLYYe4aZxlAgkcxLQ8Y0nrZBAcwL9ZUmydA+JuCnccazDvD6cIpTzuJADcNoHDqJf+g3wtm1sMN2n6gvZxTxDjwfpq Z7zqw1iR 8T9++g/kijb+LcXBv2xTTlWUEK0C+7MvDj0186qgzs0iz4aI/6r1Ri+GkRDdHLNeW8hm8h07RPUjHh3o0p1BEKXx98l+Y3QtNnWQPb9tcDDuJn33fwmyNTqG4/O9bHt+5vNL4LezphRH3dUeuvpCWdTQ68WZqi7KL6UudmE5ZSrCQ26A/oU+dnEAKS09MLALBF/xSnYiCoAPNKnlhM4LD/3ZAaq32xwpJA6Si4C9Hvm748u/56DNX56zT1QsaO7OUa9atzaaPae1Hep9Rqj/6LyKwVs/Int2mZrtNx1xv4mn1uydIa+b6+S561hIRjEZGTzF2wMlMU6ORXH6M3rYVW6ppf3fN5yjcJB82zLoO1mN+GvFmRIyp+yTPfrFOY1QqRG+xncEIcoVdXWwr2Kvde8mXaIzNddvZllalQB4eNOaQNwkMGR963i28vWfUtMnTIFWwZlHURZ/SiFcfX6+m3j0LYue8j9gTeOvLYuz5scyU/5sRboWB7D9oqPPJv0wuK867uyDYm41zWimAeGG+D27C5A6pqHDh+hVL 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 Fri, May 16, 2025 at 11:15=E2=80=AFAM Liam R. Howlett wrote: > > * Nico Pache [250514 23:23]: > > For khugepaged to support different mTHP orders, we must generalize thi= s > > to check if the PMD is not shared by another VMA and the order is > > enabled. > > > > No functional change in this patch. > > This patch needs to be with the functional change for git blame and > reviewing the changes. I don't think that is the case. I've seen many series' that piecemeal their changes including separating out nonfunctional changes before the actual functional change. A lot of small changes were required to generalize this for mTHP collapse. Doing it all in one patch would have made the mTHP support patch huge and noisy. I tried to make that patch cleaner (for review purposes) by separating out some of the noise. -- Nico > > > > > Reviewed-by: Baolin Wang > > Co-developed-by: Dev Jain > > Signed-off-by: Dev Jain > > Signed-off-by: Nico Pache > > --- > > mm/khugepaged.c | 10 +++++----- > > 1 file changed, 5 insertions(+), 5 deletions(-) > > > > diff --git a/mm/khugepaged.c b/mm/khugepaged.c > > index 5457571d505a..0c4d6a02d59c 100644 > > --- a/mm/khugepaged.c > > +++ b/mm/khugepaged.c > > @@ -920,7 +920,7 @@ static int khugepaged_find_target_node(struct colla= pse_control *cc) > > static int hugepage_vma_revalidate(struct mm_struct *mm, unsigned long= address, > > bool expect_anon, > > struct vm_area_struct **vmap, > > - struct collapse_control *cc) > > + struct collapse_control *cc, int order= ) > > { > > struct vm_area_struct *vma; > > unsigned long tva_flags =3D cc->is_khugepaged ? TVA_ENFORCE_SYSFS= : 0; > > @@ -934,7 +934,7 @@ static int hugepage_vma_revalidate(struct mm_struct= *mm, unsigned long address, > > > > if (!thp_vma_suitable_order(vma, address, PMD_ORDER)) > > return SCAN_ADDRESS_RANGE; > > - if (!thp_vma_allowable_order(vma, vma->vm_flags, tva_flags, PMD_O= RDER)) > > + if (!thp_vma_allowable_order(vma, vma->vm_flags, tva_flags, order= )) > > return SCAN_VMA_CHECK; > > /* > > * Anon VMA expected, the address may be unmapped then > > @@ -1130,7 +1130,7 @@ static int collapse_huge_page(struct mm_struct *m= m, unsigned long address, > > goto out_nolock; > > > > mmap_read_lock(mm); > > - result =3D hugepage_vma_revalidate(mm, address, true, &vma, cc); > > + result =3D hugepage_vma_revalidate(mm, address, true, &vma, cc, H= PAGE_PMD_ORDER); > > if (result !=3D SCAN_SUCCEED) { > > mmap_read_unlock(mm); > > goto out_nolock; > > @@ -1164,7 +1164,7 @@ static int collapse_huge_page(struct mm_struct *m= m, unsigned long address, > > * mmap_lock. > > */ > > mmap_write_lock(mm); > > - result =3D hugepage_vma_revalidate(mm, address, true, &vma, cc); > > + result =3D hugepage_vma_revalidate(mm, address, true, &vma, cc, H= PAGE_PMD_ORDER); > > if (result !=3D SCAN_SUCCEED) > > goto out_up_write; > > /* check if the pmd is still valid */ > > @@ -2782,7 +2782,7 @@ int madvise_collapse(struct vm_area_struct *vma, = struct vm_area_struct **prev, > > mmap_read_lock(mm); > > mmap_locked =3D true; > > result =3D hugepage_vma_revalidate(mm, addr, fals= e, &vma, > > - cc); > > + cc, HPAGE_PMD_OR= DER); > > if (result !=3D SCAN_SUCCEED) { > > last_fail =3D result; > > goto out_nolock; > > -- > > 2.49.0 > > >