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 X-Spam-Level: X-Spam-Status: No, score=-11.5 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, NICE_REPLY_A,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8997BC433E1 for ; Thu, 13 Aug 2020 06:39:05 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 449CA2078B for ; Thu, 13 Aug 2020 06:39:05 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b="dmn99BVF" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 449CA2078B Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.ibm.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id D44146B0006; Thu, 13 Aug 2020 02:39:04 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id CF3B66B0007; Thu, 13 Aug 2020 02:39:04 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BE3286B000A; Thu, 13 Aug 2020 02:39:04 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0074.hostedemail.com [216.40.44.74]) by kanga.kvack.org (Postfix) with ESMTP id A77336B0006 for ; Thu, 13 Aug 2020 02:39:04 -0400 (EDT) Received: from smtpin25.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id 61B34180AD804 for ; Thu, 13 Aug 2020 06:39:04 +0000 (UTC) X-FDA: 77144593008.25.taste42_22041e226ff2 Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin25.hostedemail.com (Postfix) with ESMTP id 295BF1804E3A0 for ; Thu, 13 Aug 2020 06:39:04 +0000 (UTC) X-HE-Tag: taste42_22041e226ff2 X-Filterd-Recvd-Size: 6433 Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) by imf31.hostedemail.com (Postfix) with ESMTP for ; Thu, 13 Aug 2020 06:39:03 +0000 (UTC) Received: from pps.filterd (m0098417.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id 07D6W00J109384; Thu, 13 Aug 2020 02:38:57 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=subject : to : cc : references : from : message-id : date : mime-version : in-reply-to : content-type : content-transfer-encoding; s=pp1; bh=6ma4IiAmGEShavvSv5b1LplCadu9J6Z+4heNkQXf2c4=; b=dmn99BVFGlO7gUySQbdeCAZ1rjZY6NVnj7c2RKpd3JzPmylFarlaeZFhHEqjnYyYWNbY uGrRyzFm8G2Z2fIb2R3vlLE7mtgEK3gKRkCHrGS0bv7yKfCxAceXFKLajhz5tRMUCPLO LU1xBTrOFFVRA/JDC+Bkk6rjS9i20UsYWRHTPRLPmtrRuJoHQ0z8WwKL8jSmUFCvTATL 2c91tplkUv0BYAbDWyF1c2sL86u4i3G7GbqTnVBUItSPYll3ipddS863Q2Crdn/+GAdg ve8wWMqM8BzsNwbzlrePJnBwqiZqfKYy5pD/9OAcAWb5/502WnkuXkvIWkdL60kRRWbf mg== Received: from ppma03ams.nl.ibm.com (62.31.33a9.ip4.static.sl-reverse.com [169.51.49.98]) by mx0a-001b2d01.pphosted.com with ESMTP id 32vbd0cveu-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 13 Aug 2020 02:38:57 -0400 Received: from pps.filterd (ppma03ams.nl.ibm.com [127.0.0.1]) by ppma03ams.nl.ibm.com (8.16.0.42/8.16.0.42) with SMTP id 07D6Yv6K021916; Thu, 13 Aug 2020 06:38:55 GMT Received: from b06cxnps4075.portsmouth.uk.ibm.com (d06relay12.portsmouth.uk.ibm.com [9.149.109.197]) by ppma03ams.nl.ibm.com with ESMTP id 32skp8d7j0-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 13 Aug 2020 06:38:55 +0000 Received: from d06av24.portsmouth.uk.ibm.com (d06av24.portsmouth.uk.ibm.com [9.149.105.60]) by b06cxnps4075.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 07D6cr8c26870016 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 13 Aug 2020 06:38:53 GMT Received: from d06av24.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 51D5D4203F; Thu, 13 Aug 2020 06:38:53 +0000 (GMT) Received: from d06av24.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 18FC542042; Thu, 13 Aug 2020 06:38:52 +0000 (GMT) Received: from [9.79.219.81] (unknown [9.79.219.81]) by d06av24.portsmouth.uk.ibm.com (Postfix) with ESMTP; Thu, 13 Aug 2020 06:38:51 +0000 (GMT) Subject: Re: [PATCH 10/16] debug_vm_pgtable/thp: Use page table depost/withdraw with THP To: Anshuman Khandual , linux-mm@kvack.org, akpm@linux-foundation.org Cc: mpe@ellerman.id.au, linuxppc-dev@lists.ozlabs.org References: <20200812063358.369514-1-aneesh.kumar@linux.ibm.com> <20200812063358.369514-10-aneesh.kumar@linux.ibm.com> <40f2acb5-1da3-4c0a-5590-3fd12d128421@arm.com> From: "Aneesh Kumar K.V" Message-ID: Date: Thu, 13 Aug 2020 12:08:51 +0530 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: <40f2acb5-1da3-4c0a-5590-3fd12d128421@arm.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-TM-AS-GCONF: 00 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.235,18.0.687 definitions=2020-08-13_04:2020-08-11,2020-08-13 signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 suspectscore=0 adultscore=0 lowpriorityscore=0 bulkscore=0 spamscore=0 impostorscore=0 mlxlogscore=999 clxscore=1015 mlxscore=0 phishscore=0 priorityscore=1501 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2006250000 definitions=main-2008130047 X-Rspamd-Queue-Id: 295BF1804E3A0 X-Spamd-Result: default: False [0.00 / 100.00] X-Rspamd-Server: rspam05 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: On 8/13/20 10:55 AM, Anshuman Khandual wrote: > On 08/12/2020 12:03 PM, Aneesh Kumar K.V wrote: >> Architectures like ppc64 use deposited page table while updating the huge pte >> entries. >> >> Signed-off-by: Aneesh Kumar K.V >> --- >> mm/debug_vm_pgtable.c | 8 ++++++-- >> 1 file changed, 6 insertions(+), 2 deletions(-) >> >> diff --git a/mm/debug_vm_pgtable.c b/mm/debug_vm_pgtable.c >> index 644d28861ce9..48475d288df1 100644 >> --- a/mm/debug_vm_pgtable.c >> +++ b/mm/debug_vm_pgtable.c >> @@ -147,7 +147,7 @@ static void __init pmd_basic_tests(unsigned long pfn, pgprot_t prot) >> static void __init pmd_advanced_tests(struct mm_struct *mm, >> struct vm_area_struct *vma, pmd_t *pmdp, >> unsigned long pfn, unsigned long vaddr, >> - pgprot_t prot) >> + pgprot_t prot, pgtable_t pgtable) >> { >> pmd_t pmd; >> >> @@ -158,6 +158,8 @@ static void __init pmd_advanced_tests(struct mm_struct *mm, >> /* Align the address wrt HPAGE_PMD_SIZE */ >> vaddr = (vaddr & HPAGE_PMD_MASK) + HPAGE_PMD_SIZE; >> >> + pgtable_trans_huge_deposit(mm, pmdp, pgtable); >> + >> pmd = pmd_mkhuge(pfn_pmd(pfn, prot)); >> set_pmd_at(mm, vaddr, pmdp, pmd); >> pmdp_set_wrprotect(mm, vaddr, pmdp); >> @@ -188,6 +190,8 @@ static void __init pmd_advanced_tests(struct mm_struct *mm, >> pmdp_test_and_clear_young(vma, vaddr, pmdp); >> pmd = READ_ONCE(*pmdp); >> WARN_ON(pmd_young(pmd)); >> + >> + pgtable = pgtable_trans_huge_withdraw(mm, pmdp); >> } >> >> static void __init pmd_leaf_tests(unsigned long pfn, pgprot_t prot) >> @@ -1002,7 +1006,7 @@ static int __init debug_vm_pgtable(void) >> pgd_clear_tests(mm, pgdp); >> >> pte_advanced_tests(mm, vma, ptep, pte_aligned, vaddr, prot); >> - pmd_advanced_tests(mm, vma, pmdp, pmd_aligned, vaddr, prot); >> + pmd_advanced_tests(mm, vma, pmdp, pmd_aligned, vaddr, prot, saved_ptep); >> pud_advanced_tests(mm, vma, pudp, pud_aligned, vaddr, prot); >> hugetlb_advanced_tests(mm, vma, ptep, pte_aligned, vaddr, prot); >> >> > > Makes sense, if it is required for THP to work correctly but needs to be tested > across enabled platforms. Why should not the same apply for pud_advanced_tests() > on platforms that supports PUD based THP. > pud doesn't have page table deposit/withdraw semantics. We use that to support hugepage split. With pud mapping we don't split, we just drop the hugepage and expect it to be faulted back in as regular page. -aneesh