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 39B14C02181 for ; Fri, 24 Jan 2025 08:25:22 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id BDA4728004E; Fri, 24 Jan 2025 03:25:21 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id B8AA328004D; Fri, 24 Jan 2025 03:25:21 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A51F128004E; Fri, 24 Jan 2025 03:25:21 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 86CB328004D for ; Fri, 24 Jan 2025 03:25:21 -0500 (EST) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 3EA68140ECC for ; Fri, 24 Jan 2025 08:25:21 +0000 (UTC) X-FDA: 83041660842.05.A69F799 Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) by imf26.hostedemail.com (Postfix) with ESMTP id E4B6414000B for ; Fri, 24 Jan 2025 08:25:18 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=pPut160S; spf=pass (imf26.hostedemail.com: domain of agordeev@linux.ibm.com designates 148.163.156.1 as permitted sender) smtp.mailfrom=agordeev@linux.ibm.com; dmarc=pass (policy=none) header.from=ibm.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1737707119; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=Q5Xu11cNFIfbQr0SG+f2Y24NLZ2Zkc2hL7wTxnSGqPk=; b=Su7zJrLww5YH856FhcAtP63cRQ8+T+4rO2kFUHGaocy57Nv4xe58E2H8z1/vKMVrOmpcOD sqVShsyLn++WI/LtSc0hZe+z9dbUhMzk1doM2VpSrJuzBEi7vyNsZ5f+th8QiopjPxKrsp qJIXs4zPKgQjbxDpTU85/ebsGDNoI/w= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1737707119; a=rsa-sha256; cv=none; b=hr4cnq6YPVakmLAPsXBWDF2QhlxerPiMj1aLa04h8K6WFgENEUUiB1HdyRHKfPqkOqoiFN lMzPwHcrfPUKggOFp52eJMxj2NDbpr6Ku+qt4ziUo60vL8BlrHy5BQ5Wvt51ONL08rkPGC BBYY9CBB1IJtQ7Yu+Tk6XHhDdQ/wMtk= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=pPut160S; spf=pass (imf26.hostedemail.com: domain of agordeev@linux.ibm.com designates 148.163.156.1 as permitted sender) smtp.mailfrom=agordeev@linux.ibm.com; dmarc=pass (policy=none) header.from=ibm.com Received: from pps.filterd (m0360083.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 50O19IQW020460; Fri, 24 Jan 2025 08:25:06 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc :content-type:date:from:in-reply-to:message-id:mime-version :references:subject:to; s=pp1; bh=Q5Xu11cNFIfbQr0SG+f2Y24NLZ2Zkc 2hL7wTxnSGqPk=; b=pPut160SXJKL8arhgbivD9guU4q8i+F5eCdmfbkbsmmjlY ZKYPc9X9/PWfV4s2Tfgt8/Z8AjwSEUOa6plHRAVAAJaLl/tbsm1vRg+nmMMnZNex nY3h8QSIJSPBy0+lKJRbD5QM6iqlPQTxN26hRyyumlpWLjaD8D9nSopxEn1edDGW jZ0FDPUZgKkL6LSqQI4biqIc2wQTL/fyOiFCVRvotx/ku8s9x08oqdqUjP5ZZ6Ds T8U70YXLoRTgyGY4zLyqVuzTQVP5EWs2etuKd5gmTZLpWqDOodRIcCcDwUiaAIQm pRyKqvcM55+xvWwKdCDb+a+Xurc/n9yiS1U5MZNg== Received: from ppma23.wdc07v.mail.ibm.com (5d.69.3da9.ip4.static.sl-reverse.com [169.61.105.93]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 44c0x92muw-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 24 Jan 2025 08:25:06 +0000 (GMT) Received: from pps.filterd (ppma23.wdc07v.mail.ibm.com [127.0.0.1]) by ppma23.wdc07v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 50O8AWWr022370; Fri, 24 Jan 2025 08:25:05 GMT Received: from smtprelay01.fra02v.mail.ibm.com ([9.218.2.227]) by ppma23.wdc07v.mail.ibm.com (PPS) with ESMTPS id 448r4kjdfw-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 24 Jan 2025 08:25:05 +0000 Received: from smtpav07.fra02v.mail.ibm.com (smtpav07.fra02v.mail.ibm.com [10.20.54.106]) by smtprelay01.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 50O8P1F955771440 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 24 Jan 2025 08:25:01 GMT Received: from smtpav07.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 544D6202B2; Fri, 24 Jan 2025 08:25:01 +0000 (GMT) Received: from smtpav07.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 8FA72202B3; Fri, 24 Jan 2025 08:25:00 +0000 (GMT) Received: from li-008a6a4c-3549-11b2-a85c-c5cc2836eea2.ibm.com (unknown [9.179.25.208]) by smtpav07.fra02v.mail.ibm.com (Postfix) with ESMTPS; Fri, 24 Jan 2025 08:25:00 +0000 (GMT) Date: Fri, 24 Jan 2025 09:24:58 +0100 From: Alexander Gordeev To: Kevin Brodsky Cc: Qi Zheng , Gerald Schaefer , Heiko Carstens , linux-mm@kvack.org, linux-s390@vger.kernel.org, linux-kernel@vger.kernel.org, Andrew Morton Subject: Re: [PATCH] s390/mm: Add missing ctor/dtor on page table upgrade Message-ID: References: <20250123160349.200154-1-agordeev@linux.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-TM-AS-GCONF: 00 X-Proofpoint-GUID: eN9lQ0YDGQGZRKbOwJ7SK2dPpZVVNMD9 X-Proofpoint-ORIG-GUID: eN9lQ0YDGQGZRKbOwJ7SK2dPpZVVNMD9 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1057,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-01-24_03,2025-01-23_01,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 phishscore=0 mlxlogscore=755 priorityscore=1501 impostorscore=0 bulkscore=0 lowpriorityscore=0 malwarescore=0 mlxscore=0 suspectscore=0 spamscore=0 clxscore=1015 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2411120000 definitions=main-2501240057 X-Rspamd-Queue-Id: E4B6414000B X-Stat-Signature: wijhtyrgx6nj8f3ndeyicfbr18yjmo8k X-Rspam-User: X-Rspamd-Server: rspam12 X-HE-Tag: 1737707118-569910 X-HE-Meta: U2FsdGVkX19WZAcEusGEUn9k3oqPgdP26l+1BOIGrwGeeNnzMiveASxsS7iji0+4Mf4KSCSuCQWYcwv6NU+3wpQ9HfuQhOQdCEHUdNr+WpDbt6EcEIB+MpRIITu+k5IvSqxeVGJ2lSztD2HxzeLsLcdO7XVJGvylnjnpUzt4JojpAUxqsmSbkGHBPExjjNOCRDQ780+NhkECmBnLQfLGlaC3vJzW8D5ET6ADqzWI146c1I2cUjoCZsS8DYte3UsTnS1WWzp4gM85jZ+jouAGXNj59f0W3Z86ggu/wv6yOMEWTnwjaN23RdyvK8II2RDLsgu1A5D8bavwgKcY2InRqhcgrFescUK5XvgL4lpLpVfkE9CHGiD5mdbxQCz5FWpgfcSYSL02+60oFEG8wrHUr5Ce2pC23UKtz/FfzT1Fo4NUbkRyjIyQ4l2ECgcZcxSng02DNFg5z8PX54davCBhXN+u/NNQt6bm/Nz/yvSi24gs170/ncYooFi/Kj3hn+3jDi64pAaiYo0rRdfyol34s/5yZKEEPho/Q9dGI1hj+2tW1v9mMbE3++98rzuj4R8YYXAU2RfpgNCsQ+9zTdkhUIaK766pRofzsjDZqZYsC1r6b7nhH/hL2YSGP+w6t0vgT1SzciQIm0NF/gK0jM3BZg43tZ2TwYg46heTC4sa5A7e/YHltL6rMDsnvZBGnf6BIR3+YnLj9ziXed+yKuWCzWZyAooXMHdHldqqswNn8QoLL2c+7nGwLQP9ThzIXUudgVh7AV9+L1SFhhrhO+J5U8qri43MxpjvPCI2CgChExkNN7i1LtdTh259D0o7QFquIyU8deHDhAU0qH/1f7hetQQZuS2izJpCwVm/k+j4RNgU2Yuo/6gwIKkpX5CdoxfwfrmyUTzIbhbK1+ArYUlCI/zQ/6MlAfK3Hu2zJsOIay8wz/ULlSHMx1clxP/CTf1JD7yeO7jf5M+H9zXLY/C 5vF675NP sWXs1xOxy6tFWTKFzTK1Nx5y7mtZ3pA191LGtJ5Kzvb8ze29FAlbRUJQ1XI8S04LNGgqPwxeUm3KZa9GTtQSDRYO1YzAIlA0/jkbb+tyr95sXJ6dG8PmG1s74obNKDCMxxEbzuRNpwz8QO2PcpD2r+mbjYVsmqzL1WsSsUY16imVocC7WfJRA7nkYyB/0tREu0wgSP2OSAB3dA/5iqB3VLGoolcm6/U/R9aw9 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, Jan 24, 2025 at 08:58:07AM +0100, Kevin Brodsky wrote: Kevin, ... > Thank you for putting together this patch! I was completely unaware of > this "upgrade" path on s390. ... > > diff --git a/arch/s390/mm/pgalloc.c b/arch/s390/mm/pgalloc.c > > index a4e761902093..d33f55b7ee98 100644 > > --- a/arch/s390/mm/pgalloc.c > > +++ b/arch/s390/mm/pgalloc.c > > @@ -88,12 +88,14 @@ int crst_table_upgrade(struct mm_struct *mm, unsigned long end) > > if (unlikely(!p4d)) > > goto err_p4d; > > crst_table_init(p4d, _REGION2_ENTRY_EMPTY); > > + pagetable_p4d_ctor(virt_to_ptdesc(p4d)); > > This block seems to be equivalent to p4d_alloc_one(), maybe it would be > preferable to just call p4d_alloc_one() here to avoid further mismatches > in the future (and reduce duplication)? Yes, I wanted to do exactly that (together with p4d_free() you noticed), but then the whole thing with open coded pagetable_pgd_ctor() below gets inconsistent. I would prefer to keep it this way as of now. > > } > > if (end > _REGION1_SIZE) { > > pgd = crst_table_alloc(mm); > > if (unlikely(!pgd)) > > goto err_pgd; > > crst_table_init(pgd, _REGION1_ENTRY_EMPTY); > > + pagetable_pgd_ctor(virt_to_ptdesc(pgd)); > > I was hoping this might be equivalent to pgd_alloc() but it does not > include a call to crst_table_init(). Since adding it would be apparently > undesirable (having read the other thread), it seems reasonable to add > the explicit constructor call. We were thinking about a follow-up cleanup that addresses it all, but this patch is a targeted fix to catch up your and Qi Zheng series in the still open merge window. > > } > > > > spin_lock_bh(&mm->page_table_lock); > > @@ -130,6 +132,7 @@ int crst_table_upgrade(struct mm_struct *mm, unsigned long end) > > return 0; > > > > err_pgd: > > + pagetable_dtor(virt_to_ptdesc(p4d)); > > crst_table_free(mm, p4d); > > Similarly, this could be a call to p4d_free(). > > - Kevin > > > err_p4d: > > return -ENOMEM; Thanks for the review!