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 81256C3ABD8 for ; Thu, 15 May 2025 03:04:34 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 899A26B00F4; Wed, 14 May 2025 23:04:33 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 847D76B00F7; Wed, 14 May 2025 23:04:33 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6C26E6B00F5; Wed, 14 May 2025 23:04:33 -0400 (EDT) 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 4BCC86B00DC for ; Wed, 14 May 2025 23:04:33 -0400 (EDT) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 7639F121390 for ; Thu, 15 May 2025 03:04:33 +0000 (UTC) X-FDA: 83443649226.17.9B4E7D1 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by imf25.hostedemail.com (Postfix) with ESMTP id BD9C2A0002 for ; Thu, 15 May 2025 03:04:31 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=ErLv77WG; spf=pass (imf25.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=1747278271; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=sLSLCMgmD0JtUoAZB37yCP1nKRRtERZXJ8BQuJogw2w=; b=HvDmEEeffSg7TIcIHkpdqVLN5nUzMCy35++eDyut5GBSMY1nKKN0TwT+19Gs/Vsj2ZggQS KRx5PArpUyI/kCNhA6HuRXuVnwIIvYbXeLoNJlWoB/7mINkDV1B2ppr9yNCFYT2VUkohPT Ijdkx0AjhJJM5lSIYtZvnIdk86/8lQE= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=ErLv77WG; spf=pass (imf25.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=1747278271; a=rsa-sha256; cv=none; b=VcVbcss5yBXz/y+pSwlv9hFm2VciyEiUQHcXv0eEwGa2AqXTh0JSFdznG7xgHSSFvtB+9F vdZM527+NiRLZ+3oOg0chPV8uCv9nNKWsE488tzqEA/GKBIYLj2WK6TFXmmd5Uagverk71 Gam/leMT3hRzc/AzBQ1wdexwibrGEAE= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1747278271; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=sLSLCMgmD0JtUoAZB37yCP1nKRRtERZXJ8BQuJogw2w=; b=ErLv77WGKe6B0qZtfv6Xap9nvt6EWBGmZv9SlZdFfPqKlH7gS+bVQT+FjuSUiTE5SO+fW6 64cQMFiiRipQHP8q6yxgaL74DWFjKzOOXFnwld6BRbAyw2+ZcDnH5ISB//jl96C7ffDRqP CtxCFQSdvGk8dtc+xT/RWtT8wXv6WYw= Received: from mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-367-J7we11MlNYOUDBMq-lkYHg-1; Wed, 14 May 2025 23:04:27 -0400 X-MC-Unique: J7we11MlNYOUDBMq-lkYHg-1 X-Mimecast-MFC-AGG-ID: J7we11MlNYOUDBMq-lkYHg_1747278263 Received: from mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.93]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 30900180034E; Thu, 15 May 2025 03:04:23 +0000 (UTC) Received: from h1.redhat.com (unknown [10.22.88.116]) by mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id D394C1800268; Thu, 15 May 2025 03:04:07 +0000 (UTC) From: Nico Pache To: linux-mm@kvack.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org Cc: david@redhat.com, ziy@nvidia.com, baolin.wang@linux.alibaba.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 Subject: [PATCH v6 03/12] khugepaged: generalize hugepage_vma_revalidate for mTHP support Date: Wed, 14 May 2025 21:03:03 -0600 Message-ID: <20250515030312.125567-4-npache@redhat.com> In-Reply-To: <20250515030312.125567-3-npache@redhat.com> References: <20250515030312.125567-1-npache@redhat.com> <20250515030312.125567-2-npache@redhat.com> <20250515030312.125567-3-npache@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.93 X-Rspamd-Queue-Id: BD9C2A0002 X-Rspam-User: X-Rspamd-Server: rspam11 X-Stat-Signature: 4s7h5tuejoazs6d8et77mipufgjgb9xt X-HE-Tag: 1747278271-263388 X-HE-Meta: U2FsdGVkX19nwtVG5AWoPzz1CXmm2CCqTktbty8gT33kwpiKN2cvv7M1yW3laW5TbNxyL6bxQInHGHm+Bt515Sp7A5uszyGbJ33krw82VRePZYxLRhp5K9Q8tpycuiYknuNfIagq25aCBqGX1O9nHYZlRA0Lv6E4xCjbj81Pu0qwN1VtHL96Dyd9N7DrzlgzOG6IUvoP5gUajowUU1Yuvbl5hf8tt6W5uu7aBGF2oON3stgor6Ja3natkE6kBu2fO7TX1GyHP5RMDt48/4kcDFD6nsiQ3whaklPZERdHxilSlGr8iATMxo+xjiVmHe7YSpyaWTjOIFFPTWW3UjswvK0upMeXK9seAEHuEC3UjN7p2XIZafpLv4jFlyvLbADiILSTYa+tqkB318fhUn/xMqw2f5SFwJ+u9YaByU34ev0/sXcySdhxjIDqM13772LoyFHXIKvV5sKl5Nc5GFfVPnQ2qoBSkZORuYDd4KtoYJ0XHaL6vPDti9Ju76Erw6bLqYsF3vk/65UqGiXqx/66i6QrCmHiGtuWzVjLU5qUTG9Wi8ZmWzxIa/hIGmPqAaxXTc4b2r7rC2xDMZBYlJXWtlRhBdysrqZvhc2vTE2w8Q3DuZWtlZfg2iiAzIjQ6rrnmz49ekXm4pb+Z4KqV+UiORVUllM40q/VWkgnJzIHZYhoOrP6B76VenMerOzo9AjFG8ZWwg7TN9IcudmmgSxlY6mpampCXTuMawmOrVW8tTednHxrkbfLznVoqC2GYM3cI+Fu9Q7Po/nW+lifVUPIs/ZaPo2Z5H19IdSxt2q9aNTa7E+KQh9TFBavbozyGGs3eBr7c+gZYJGIwzdbfsa17YdRwdYPFQl8SQexkbKgkfiBwqH5kewRd0+sy2kdasOa9LNpVVpACm/1DUwCiR2PLvNwCYSHD/Gk4jgWwal0AoYS1PCBzY/00Axa5a+Y8/jCM0/JVwEaFHwXh6d1VYI jAtF2/oA r2qEaXJNCqJtSsaEL8ceOhFd+FP7kaqDrcn1IEkUnpJ0KYue4mxcfnIVOcJbgIj4zN7J87eavENiXQ93R7J05+1hHsEqEKTIAhd5o81eMB/ib21LJx5LKys7D5nyf+fJI9OP+aVOp2A9bdaHik2zJjMjJP4A6hilC5OsFDtIg4jpasd17rqZsLAr5XBGEAb93yi/VPKWQkUgoBsqQdwkDRI/ir66HB/NnWoBHe9xYeDQLo2xldZDVcoA36neHMKull8jzbgqfV4S/nZbdAPPG0h1kAN46ZYkEtm4bqHN3VAYASt5lonuzrSUidmPKx8N5XvvEhStLNdk4VGOhe6D3Gintfj/wgacgwO55gvTjWP54FxlmVf3bjwAyCa1ubmRL3dJGETakfVLdeKKiGnWGDwxOW7ihtyypHwXVbV2VIYuQ0yGl7AGGUsNn2dKXN987qHijSQr4zduKrI2QDBVq6FikRnxbLxCNeepzRjJ8qP7x2KJrpDY7DAktjvkxqpTUoFJelPiL1rQe7JsXhekD3gCrWg== 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: For khugepaged to support different mTHP orders, we must generalize this 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 collapse_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 = 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_ORDER)) + 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 *mm, unsigned long address, goto out_nolock; mmap_read_lock(mm); - result = hugepage_vma_revalidate(mm, address, true, &vma, cc); + result = hugepage_vma_revalidate(mm, address, true, &vma, cc, HPAGE_PMD_ORDER); if (result != SCAN_SUCCEED) { mmap_read_unlock(mm); goto out_nolock; @@ -1164,7 +1164,7 @@ static int collapse_huge_page(struct mm_struct *mm, unsigned long address, * mmap_lock. */ mmap_write_lock(mm); - result = hugepage_vma_revalidate(mm, address, true, &vma, cc); + result = hugepage_vma_revalidate(mm, address, true, &vma, cc, HPAGE_PMD_ORDER); if (result != 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 = true; result = hugepage_vma_revalidate(mm, addr, false, &vma, - cc); + cc, HPAGE_PMD_ORDER); if (result != SCAN_SUCCEED) { last_fail = result; goto out_nolock; -- 2.49.0