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 DC918C4345F for ; Thu, 2 May 2024 08:21:01 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4C8DC6B007B; Thu, 2 May 2024 04:21:01 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 478E76B0082; Thu, 2 May 2024 04:21:01 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 367516B0083; Thu, 2 May 2024 04:21:01 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 1903F6B007B for ; Thu, 2 May 2024 04:21:01 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id BB7CA8095C for ; Thu, 2 May 2024 08:21:00 +0000 (UTC) X-FDA: 82072760280.16.9E5321D Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by imf30.hostedemail.com (Postfix) with ESMTP id 2BC3480018 for ; Thu, 2 May 2024 08:20:58 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=arm.com; spf=pass (imf30.hostedemail.com: domain of ryan.roberts@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=ryan.roberts@arm.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1714638059; 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=o9AsLokzktBCRFlxO3h5wGc9vKbJYIXDqfAbAW8n680=; b=sj6i5C3BCwNhomeXbhXZ2vX512aby8pnEylaPCLM70CERAY/4qlw9VUXSs9QQzIoxnkZSZ r2G24Te2F/u+eP5abnR7711LOSh7ph8JeBdNfBKH2DWAG1SGWAVUIDXBUIPCZzfYR6HXKM EFSjsIDMPPErjxLe7UoJSmzICmGu0Ic= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=arm.com; spf=pass (imf30.hostedemail.com: domain of ryan.roberts@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=ryan.roberts@arm.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1714638059; a=rsa-sha256; cv=none; b=QpswLX6qXT0CUQQlCg0bG50oyAR3zDFYwkdPv6s9CydyfktE+zDgT+RyhIHWwkN1DqHcBY Zdri9Zz3noYmrBiMSa4w2NL3GIJO/kmbKE3KBA/rLymRghmU8m3+H5dl2BkWcSRf8oHuIf Ofzm8LEMGCQQZZNwbsWXb4OCj2goGIc= 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 347872F4; Thu, 2 May 2024 01:21:24 -0700 (PDT) Received: from [10.57.65.146] (unknown [10.57.65.146]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id DEB273F71E; Thu, 2 May 2024 01:20:57 -0700 (PDT) Message-ID: <73e39c0c-25c3-45ac-bdda-f5fdea454767@arm.com> Date: Thu, 2 May 2024 09:20:56 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v1] mm/debug_vm_pgtable: Test pmd_leaf() behavior with pmd_mkinvalid() Content-Language: en-GB To: Anshuman Khandual , Andrew Morton , Catalin Marinas Cc: linux-mm@kvack.org References: <20240501144439.1389048-1-ryan.roberts@arm.com> <2128d3d7-0dc4-4e81-a1e2-a8a67f0d36ed@arm.com> From: Ryan Roberts In-Reply-To: <2128d3d7-0dc4-4e81-a1e2-a8a67f0d36ed@arm.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Stat-Signature: biek491qcw5yhncj5mmrkxtsc77pth33 X-Rspamd-Queue-Id: 2BC3480018 X-Rspam-User: X-Rspamd-Server: rspam12 X-HE-Tag: 1714638058-789445 X-HE-Meta: U2FsdGVkX1+onx1+hxwD2fYqXFkhNIyxgGOCO5QSuolJLjcJwO14IA5w/0v0aSSR7O9hWkvMHeGeursMQ/O+6f4UMaz44ZokNDh+BaXsyMFv1OYAYM2qq0S5e4cv/bYqb5VJboAScUcrv4a6mYOdQOoWz5HCW71iJuzq4f6bfgSqg4zlFft2zkKe54gSO8N1Bfko6nofarc4eokgqqLkwBIi228eRcdV+a+qsFoQYA20WNpBLa7r6C7rD5lpLQ9EGpVm+KLAIMgNB/iVAQa6aFLg3UraRY9Hs0QMW1iZUbBdQ/cswY84dNZKZh/TInuVjNe2BvVfJcUkhNpDnmWNecZTJ1Bt2CEvJYVgTE6FSRJlDlkpLgYN9ZwzAD6XhojAMA/EQhMDxt+dDSMED/DKSjVwKZzGYugw49sFGCxmDl1mlfAjs+GxYhbXbivs/ABej9P2/HHL2cJJV5MtqjkkDg+iyhS9AdNO8lMGnyx1R2TlXbleecTaLbxv2/O2898kBgCUk4G8MtHchi7ERASXAG/7DKOOw76kMu749exdKqAte0nMOS7RLC0ncqm14H72IL3Owg9MyH75ME/hzlsma6X/a/a7yFjHvJt9ZJ8F4e+2htoLaSXYrL6kESybvFicJRELzeMXTQVolbMwGZx1SiAMoAgrfruwQvCg54oAo3JtopGyd4KTM5NskDFyW6j5rHmO7/MhsqzN54mMcwH7MSegelCc9D+Y5WQ2+p+XtijwsyNFZPz3Hx5qkUHSjTpC0HJl9jXH+iDD2ywBhkgY7fWDgzgOP5TdPCVExOhdEdawNofxcRRSQzSKouvKQE7gJPsZZ9pc6z+Hu2+exqTbI+RtSaCMwS+DbJAhfUW5dFS93elpRGm6eN5iAI7PNz0Fs1fv2YiLqUg= 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 02/05/2024 09:03, Anshuman Khandual wrote: > > > On 5/2/24 13:00, Ryan Roberts wrote: >> On 02/05/2024 03:43, Anshuman Khandual wrote: >>> Hello Ryan, >>> >>> On 5/1/24 20:14, Ryan Roberts wrote: >>>> An invalidated pmd should still cause pmd_leaf() to return true. Let's >>>> test for that to ensure all arches remain consistent. >>> >>> This test definitely makes sense. >>> >>>> >>>> Signed-off-by: Ryan Roberts >>>> --- >>>> >>>> Hi Andrew, >>>> >>>> This applies on top of v6.9-rc5. It came out of a discussion with Catalin around >>>> the pmd_mkinvalid() bug (the fix for which I just posted). I've run the new test >>>> on both arm64 and x86_64. >>> >>> Right, works on arm64. >>> >>>> >>>> Thanks, >>>> Ryan >>>> >>>> mm/debug_vm_pgtable.c | 1 + >>>> 1 file changed, 1 insertion(+) >>>> >>>> diff --git a/mm/debug_vm_pgtable.c b/mm/debug_vm_pgtable.c >>>> index 65c19025da3d..57e9cb0820ab 100644 >>>> --- a/mm/debug_vm_pgtable.c >>>> +++ b/mm/debug_vm_pgtable.c >>>> @@ -981,6 +981,7 @@ static void __init pmd_thp_tests(struct pgtable_debug_args *args) >>>> #ifndef __HAVE_ARCH_PMDP_INVALIDATE >>>> WARN_ON(!pmd_trans_huge(pmd_mkinvalid(pmd_mkhuge(pmd)))); >>>> WARN_ON(!pmd_present(pmd_mkinvalid(pmd_mkhuge(pmd)))); >>>> + WARN_ON(!pmd_leaf(pmd_mkinvalid(pmd_mkhuge(pmd)))); >>>> #endif /* __HAVE_ARCH_PMDP_INVALIDATE */ >>>> } >>> >>> Should not we update descriptions in Documentation/mm/arch_pgtable_helpers.rst >>> asserting that pmd_mkinvalid() also preserves pmd_leaf() ? >> >> Thanks for the review! >> >> We don't document that pmd_mkinvalid() preserves pmd_present() and >> pmd_trans_huge() so I wasn't sure how much detail was appropriate in that >> document - its pretty light at the moment. > > For all other helpers documentation has been light but pxd_mkinvalid() is turning > out to be a special case though. > >> >> If you think this is valuable (and isn't clear enough from the test) then I can >> add something. But as you say in the other patch, it would then start >> conflicting with that. I'd prefer to just put this in as-is to avoid the mess. > > Sure, fair enough. I will try and update how pmd_mkinvalid() preserves pmd_leaf(), > pmd_present(), and pmd_trans_huge() at a later point. Otherwise this patch itself > LGTM and runs fine on arm64. > > Reviewed-by: Anshuman Khandual Thanks!