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 6B304C54FB3 for ; Thu, 29 May 2025 04:01:32 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id EBD426B00DB; Thu, 29 May 2025 00:01:31 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E6EDD6B00DC; Thu, 29 May 2025 00:01:31 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D5E076B00DD; Thu, 29 May 2025 00:01:31 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id B73706B00DB for ; Thu, 29 May 2025 00:01:31 -0400 (EDT) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 0F9BB58A59 for ; Thu, 29 May 2025 04:01:31 +0000 (UTC) X-FDA: 83494595982.22.68F8A39 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by imf26.hostedemail.com (Postfix) with ESMTP id E381D140014 for ; Thu, 29 May 2025 04:01:28 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=PThQLI8j; spf=pass (imf26.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=1748491289; 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=MdZD3eLj8BPhi4SnBTvGR++g8kVMb0vmyEhX37mJ42w=; b=qpePIuEPPZBZ6+z6vIYc/JiD1fVc0VIy9kOWHau+Ab66nZuXwIx21Kj9kWYNc/9/6+DkvE 8/ZOQsqchU2RzJdHJKzofc9W3+OU6FDc3KYPUQFf8IgWRSP95V4vxFF+ymNBJGyCf6Orp/ Cw7FsQL4+W5tZkQtja7lfQu1q764s24= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=PThQLI8j; spf=pass (imf26.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=1748491289; a=rsa-sha256; cv=none; b=pzWAz17q4+frfnvT9wneqLgwoupsyzYTBF5cH9GucJ3pNGcYU/OSsFNeFS+VNWgzYGsDMd w4VXHozP7qD80gOIA3p/cRH/c4MDNO5mEsrZinm7ZvRVkH+n8pdWQFd7Zq0wJcoYzIujzb DkoGI6FhyujpMd25tcAdGVcgyirNDQo= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1748491288; 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=MdZD3eLj8BPhi4SnBTvGR++g8kVMb0vmyEhX37mJ42w=; b=PThQLI8ju1+HKeMRGqcEtmc7s0cQqMFoLJsdEZtLADFDMY+GQdN+wHfRzuKJGkFnAvMJZF P64WTcGaoP/CnziA7Uw1FDW2lEgL4gpDFDt7mHXATofcqM6dzPdWL6V2Q8VI65VFNHw2qW aNX4vuZk1bjGGkYMCByqXobE6gt2P68= Received: from mail-yw1-f199.google.com (mail-yw1-f199.google.com [209.85.128.199]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-449-Y-TUqgcDMKetQA7h4Gw-aA-1; Thu, 29 May 2025 00:01:26 -0400 X-MC-Unique: Y-TUqgcDMKetQA7h4Gw-aA-1 X-Mimecast-MFC-AGG-ID: Y-TUqgcDMKetQA7h4Gw-aA_1748491286 Received: by mail-yw1-f199.google.com with SMTP id 00721157ae682-70e86a2a1b8so9997097b3.1 for ; Wed, 28 May 2025 21:01:26 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748491286; x=1749096086; 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=MdZD3eLj8BPhi4SnBTvGR++g8kVMb0vmyEhX37mJ42w=; b=U4h85LRQ1n6AqV6z9imOQMzYytDVca3C981gcKCCGtyeooTZkgHJY/JCXmk551rWp+ HyZ6ZRbGhZn60kaM6CEPuqtmNk5eIhhDZrWojcUD0wokVYMEWhv9Hzgb6JCkB7VIaLvS DctzQzS1z4s43EZFoRy6T5uszBo8UWf/hOy7n4YNlcz2PJwHqcLZgDwxP/FoO8vq2SoC 4yQSqgB9hzEeWBeV0CtnF08HcWdgQWMwEQZBLQHXU9CiDJ6oL8XwhGM1kwaEBq8MtPpe vmY4baZvwCn6XG08KG9V1CM0DNyafUkQplAiHs5o5BN8b1xt0Pa2BouWfTheMp5weUMg mNXA== X-Gm-Message-State: AOJu0YxMcxR4VvgJO1IdX8T8NqcSYB/2p9tPYECxdje9qawJg7HaKNOb pgbARGQ4TYMWdhGsxyRsZw0b1mP794IzSoXUgH/mFL2Yw3MTkHT0XGSbL2D6A5Djx0ghlAdLoYQ +qvb7pn4UxItVPRF/zbchqClifj9nKmhq5Gbxq8tXKD4HXN9KtQKux5un2OlrEuTkNGdOmo7f59 uCX7xwctWAaBt6LZN4i7Owk2RcWeo= X-Gm-Gg: ASbGnctAgoxQzjyrr1phvZ8KkbFB5J5vj/S91hBbVfdNX+tJ5eSNuUjj84DoQSqefhn DuOOTY35ysSEiCk5cq8O4Y5jZ7tAvmTvYri10MBHknGc9/NjI6YSI8fK8g1VhDhXPVgaN3g4= X-Received: by 2002:a05:690c:4a13:b0:702:52fb:4649 with SMTP id 00721157ae682-70e2da99718mr278493487b3.27.1748491286010; Wed, 28 May 2025 21:01:26 -0700 (PDT) X-Google-Smtp-Source: AGHT+IG/yZLcLc3txNpeZouVWYk/6Xmo1Cjg1FspO8FQ3zV/IYnHesrozNpZ0luNE/6fjxJki5Y088qo5VH9wGT2Cho= X-Received: by 2002:a05:690c:4a13:b0:702:52fb:4649 with SMTP id 00721157ae682-70e2da99718mr278492977b3.27.1748491285627; Wed, 28 May 2025 21:01:25 -0700 (PDT) MIME-Version: 1.0 References: <20250515032226.128900-1-npache@redhat.com> <20250515032226.128900-4-npache@redhat.com> <469db7d1-ba99-4dc7-af13-b5fe850d4031@linux.alibaba.com> In-Reply-To: <469db7d1-ba99-4dc7-af13-b5fe850d4031@linux.alibaba.com> From: Nico Pache Date: Wed, 28 May 2025 22:00:59 -0600 X-Gm-Features: AX0GCFvp2IzRLPRT1BH86a_zgN-TzhadgRt8Zk5HbZpa3tiDelBNICuvN8qwjx4 Message-ID: Subject: Re: [PATCH v7 03/12] khugepaged: generalize hugepage_vma_revalidate for mTHP support To: Baolin Wang Cc: 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, lorenzo.stoakes@oracle.com, Liam.Howlett@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: oRbZArYk_Szv0K3xWs08fwItYPNFIl584YFZ4G1u60Y_1748491286 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: E381D140014 X-Stat-Signature: 4i6fy5sh8t8kfk3mm6m6bstyazkaupkd X-Rspam-User: X-Rspamd-Server: rspam07 X-HE-Tag: 1748491288-298854 X-HE-Meta: U2FsdGVkX1/ghgsB49sj+H/8fwIAtnM6EQrUc7VP9ROHmHCdReWs79sfdcph7BKOrIO7Bt+/p4HtZVCc/a+gKGai9agaEOd8VYWdtE0C9A/Wdb3+X/k2BKsIhMfvldQEcPs5ph14vQ3LgTN7E4JDstVPY4jK88rTt3aDO4Drxqyv6/8Sbd6FBGp+Lj674tC9xy48JpkiyZMEN1+GO8aqJPr94kKQW424dNenk2ieoUum3iAa6TU/hiRrPZ0i/XXSfDfjaVOf2xqdl4AJOl8vKKHOXRM0aQG0dfpBMvLOyYng6uwF7wtaq7YpIk93q45I/R96u4NEd3iB9zyqTj1Qnn2c+qwbinKAFNW4iDt1lTUMmm4ds7cK6+iCu4GrxnVDIQ5b73yzFYA6B6zQW2IvQxY/az6hoKc7FnhIlI+fMc1IB9Ckdfwr3gfqNXy0SBhOd+qGaXC3K4zds92aAiujmkfCbosWdM+QkCVP6W9uXcvgX4i05hhew3l0ZUvCUUfiOm81FE4miTayHXr61T+3LF0QzH/O01w/iczDxqB6fr6zFbHqE2r7/KNXpQZETEczqi4BVuubRvgu+F6nVzKfp+Yawpo1NRk7G8ZG4hMeRuPhVcIjzhTfA6Aw0Ca58yH8M1EsqR+B9CEwbM0DBS/qgkW9J2A1BBpbYjtQj4YIevEmZftmgoybNCPlbM1MABJtfoIzsevLsh7+iIPhN9/WQoN/+gJfYVpQ8Db95NWsYMrwyKDQXWie6xC0LoL3jah5D+kQ5DDOQQtHRp4nXRFdIg85QPcKHGID3LVRopAM7gayrqg/TZ/9648PtPGEJe/3WDGJnWAsn5xgPKRirO/ctYlPdS0k/x5UnHwxxs258W5bw27b6F4x6CSl/n6ICcu15sBpm6Ajad+aIQj9YYipL+ZGyH7AJ51RfN38MgsMUCu5NqonzWq4w+/RE7/LVbF8RWTR8UXNYZKMbkkH2jO b2K+KqXm DE4yqQmhu0f+FjDxdqaxZirix6KBLuFZIXoIgtBU2G+GifmjuunOX6YXWt4bF3Xwg4d81DocrJgWfyqEfp7ynaK8sbe3RQFSZH1jf4jDjwgJi54SrX/jXHsSJABzBVyXplm9QxPgx79JbnBVr+Se5kMNKLcKuiZS9Ku/D1o5lhmfEX5Pf6hfsVwNWa+TNCoRL9YDU1Y7B2aIzwrIi3apYoI2pLALG21CvXp6OSDHPBMuLerrB4xRMnotbH9ndOfjLbf7lBkzYlBw2TGHmHrKqAjWH78lPYnaNmKOFtsTkqe1VBGLP2rdZocNBoWVAgFzLkY+jF9RZOGSGTgxQ0sFyASZ1QTWJiI1JvF32ePcsAfb0PDcm4ZJHtVfChnLEzVy7p+SjFlloZ37RYq/WXm9lu9i6pVAaqvXkCHJWvKoRsNu9TtSk+koDFegc1OAj4DGW8JYEncwyZvfpppzIuIoZBAbQB2NJWTDcY1UoivHHgOMktN/G+igo6lFPT+3YWW4+p+HEVRQCNRNr05THFUoGhP6dqg== 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 23, 2025 at 12:55=E2=80=AFAM Baolin Wang wrote: > > > > On 2025/5/15 11:22, Nico Pache wrote: > > 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. > > > > 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 lon= g 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)) > > Sorry, I missed this before. Should we also change 'PMD_ORDER' to > 'order' for the thp_vma_suitable_order()? This was changed since the last version (v5) due to an email from Hugh. https://lore.kernel.org/lkml/7a81339c-f9e5-a718-fa7f-6e3fb134dca5@google.co= m/ As I noted in my reply to him, although he was not able to reproduce an issue due to this, we always need to revalidate the PMD order to verify the PMD range is not shared by another VMA. -- Nico > > > 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; >