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 3CFCDC02181 for ; Fri, 24 Jan 2025 09:29:40 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C0453280025; Fri, 24 Jan 2025 04:29:39 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id BB4476B0109; Fri, 24 Jan 2025 04:29:39 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A55E2280025; Fri, 24 Jan 2025 04:29:39 -0500 (EST) 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 853446B0108 for ; Fri, 24 Jan 2025 04:29:39 -0500 (EST) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 37C76120FFE for ; Fri, 24 Jan 2025 09:29:39 +0000 (UTC) X-FDA: 83041822878.06.643672D Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) by imf11.hostedemail.com (Postfix) with ESMTP id 13D0540017 for ; Fri, 24 Jan 2025 09:29:36 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=KZcCFMLt; spf=pass (imf11.hostedemail.com: domain of hca@linux.ibm.com designates 148.163.158.5 as permitted sender) smtp.mailfrom=hca@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=1737710977; 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=5lUZ/YPnTLEpWEqDqsP/w2/812AOGyF0gvyp2+x/jx8=; b=8iqEW7hXJacs5L7Y1pGa/Hi/kZ/X6QJC7xdTUNy8lQL/OmVBzoMkBvKNKg9WKXF2ZLByKn kVFNN/tlDnbxUrwG7ZTqikZGfrnHYU4lR74MQmDvrsoELUpUWNZ6MHmELwlWlRDIRgAsnc 4Shk7DQjCGkMETvMoeNccvycESPPUJ0= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1737710977; a=rsa-sha256; cv=none; b=JmACy09adGdmTTs01FKBmDrxmaVQ9YW3wYj2fCAXroXo9vsNV4P7+m/396jb2iCwU1iny1 sRd2/feOKAiDyR+J5n6wra3b4ktESEmaQgzbzSlQixC5KR4bVoriC/7kW+dZgqrZSmkqle kHsEjPUmX/HUfKWK7do+rphbSmNsh70= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=KZcCFMLt; spf=pass (imf11.hostedemail.com: domain of hca@linux.ibm.com designates 148.163.158.5 as permitted sender) smtp.mailfrom=hca@linux.ibm.com; dmarc=pass (policy=none) header.from=ibm.com Received: from pps.filterd (m0360072.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 50O7WhWb021178; Fri, 24 Jan 2025 09:29:24 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=5lUZ/YPnTLEpWEqDqsP/w2/812AOGy F0gvyp2+x/jx8=; b=KZcCFMLt85U0c5DyM4W70CAtJNR2l+4gRhVsnVDEStzjVj I4/3iYG4UdqtJuQCQFkEbGsi12gZ4C+GbTAQVZOB2CMJDX59Qnw7RfsxiBHa4pgi QB584yDDqvVFZUNCkqG7wNeNTfjVjq8sJvQSQpoAhCeFAsvZsCBv+oK3Dn8YR7/r aOc6rHl1eQkGKKgasPrcvp67P7JqClTR09h8HPIPuz+nA0z+kNJJlE2UCmNvFhWv 4UPjkrYNviyvk7oqniiQVWuDWJtCJ6ObYDq06NPf5ADKOJ//lcDWScic5BhqbjrK FhfPOxF5UQgbZrsoHQ5LnnrOr0MEzAj2otw/W2Rw== Received: from ppma22.wdc07v.mail.ibm.com (5c.69.3da9.ip4.static.sl-reverse.com [169.61.105.92]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 44c6jngftk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 24 Jan 2025 09:29:24 +0000 (GMT) Received: from pps.filterd (ppma22.wdc07v.mail.ibm.com [127.0.0.1]) by ppma22.wdc07v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 50O7GBeq024225; Fri, 24 Jan 2025 09:29:23 GMT Received: from smtprelay05.fra02v.mail.ibm.com ([9.218.2.225]) by ppma22.wdc07v.mail.ibm.com (PPS) with ESMTPS id 448q0yjvmh-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 24 Jan 2025 09:29:23 +0000 Received: from smtpav07.fra02v.mail.ibm.com (smtpav07.fra02v.mail.ibm.com [10.20.54.106]) by smtprelay05.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 50O9TJIA36045110 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 24 Jan 2025 09:29:19 GMT Received: from smtpav07.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id B8E3C2004E; Fri, 24 Jan 2025 09:29:19 +0000 (GMT) Received: from smtpav07.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 4737120040; Fri, 24 Jan 2025 09:29:19 +0000 (GMT) Received: from osiris (unknown [9.171.14.46]) by smtpav07.fra02v.mail.ibm.com (Postfix) with ESMTPS; Fri, 24 Jan 2025 09:29:19 +0000 (GMT) Date: Fri, 24 Jan 2025 10:29:17 +0100 From: Heiko Carstens To: Kevin Brodsky Cc: Alexander Gordeev , Qi Zheng , Gerald Schaefer , 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: <20250124092917.19507-A-hca@linux.ibm.com> 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: V-uGDg8XTKOr1m0ae1awbbrdB70WJwjm X-Proofpoint-ORIG-GUID: V-uGDg8XTKOr1m0ae1awbbrdB70WJwjm 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 phishscore=0 lowpriorityscore=0 suspectscore=0 adultscore=0 clxscore=1015 spamscore=0 bulkscore=0 malwarescore=0 mlxlogscore=239 mlxscore=0 priorityscore=1501 impostorscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2411120000 definitions=main-2501240068 X-Stat-Signature: t8kdyko4ojtgng1katfiztctfm8ka4jj X-Rspamd-Queue-Id: 13D0540017 X-Rspam-User: X-Rspamd-Server: rspam06 X-HE-Tag: 1737710976-194762 X-HE-Meta: U2FsdGVkX1+tQzgPGaifRl412sWRtYYRI4fiWmdXIdZ9FEjjcpCf64v+eL+0L79DidcOQ/Mr8ykrZbZ9GrVjxzayqZRALrNi8aa0HfEGWfJwh0h3av9/SJMFTVBjJB/WkbIZkpY8KFXxLrMS5AtIcgt3jPCZca8KdNEYdHm83B59zCjv4CF5LA9tL0TSQ1amws1fvAjVCBg73x9Pt1xmkKEuyzr3mtRcs9bCliBywv36Vss++Cg6sBP40XA6T3wnprfEq85mW8TWhQkqXgJszr5wSzUuX9V1NOkHt+xoMvXymQPtU2e40X4QKdMv8VXRDKwHNi4Qoj9wzePng/IGx7JW8muhO8j7IrLPQJ3iWM8+hBjzfO8pAz8M/SmmW/XoEvqZRXKoKDCyf9bAu8fW0NalxU2a7j/1tRx6vKV5xHXq9JL1UViffOv0XBksbc4338904OXQvElbVScNYXqdSDO2d45vaD3c35CoA6Ble+0JSJIq1LwUYJfXG0/uxf0GCcXKgsArULq0LBnZdSSswqTAjA8/Ekmekme4LpbOjkz4BWPDUYr0dE6Pj739ekV2PSsGfkPC1oWyht1IWgwcpCyHaj7SZFK0iw4CopbzqmRtGdQtpN7Pe8aeVtU726H8x4yjXU9+/SsMzyHy/dAM7tbjEMrjMfKrvxAFsXSsedp4keJ98iPCO6pPNyV3pFi5C8Z8LuIqsf2TSXWgCzFsWd8mKvoZqvMtBbhmRrdUEsRiE7id77qCT7YHN85C6JsWMrhDyK8OAlrrGv3v9givZPWIp0IA8ACFp2fE/RA6IlxBZRKZYySs1ovG02BIQw3k+XGqOOWI+d3nLjdWm4DHu8uZmIorNn57AwrcN2BcFD1gMhZVtGiSiG45OeqGbh1+f5+HXaT28pqpM/LYiEIv+0IrQaM5lt9K4BZsGIPkKeTL0pwxHdWl9N0smg8U2B2yFyC6D5lLW99TgthWRsf dXMlNyXt qcjqg/o5K/PelDQymWgjRZ7mw4rIvuUpQWte1JEVHjj/wHH+05Yx8CMZQCvc34fUcwiDdWWf1FdQmgVODVXbgmjJ//oWknNBvYbkZ3hL9jO4S1hIVl1FcsTPH/knWeYTnPTLtK2wwTdT00+30LgsB+ecLDlFqEi3aiOgPpxDJ96xBDz5Sn79cKUbsUN8wA2fEoy6BXEpuPHad4IWykUgWF2L1uXAWdIesPhfmmazufzzo/1AuBEFhhrXA3ueXax8tYeUUk/N1gocig1zmscKQlM+/h5yqLGwks5B9 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: > On 23/01/2025 17:03, Alexander Gordeev wrote: > > Commit 78966b550289 ("s390: pgtable: add statistics for PUD and P4D > > level page table") misses the call to pagetable_p4d_ctor() against > > a newly allocated P4D table in crst_table_upgrade(); > > > > Commit 68c601de75d8 ("mm: introduce ctor/dtor at PGD level") misses > > the call to pagetable_pgd_ctor() against a newly allocated PGD and > > the call to pagetable_dtor() against a newly allocated P4D that is > > about to be freed on crst_table_upgrade() PGD upgrade fail path. > > > > The missed constructors and destructor break (at least) the page > > table accounting when a process memory space is upgraded. > > > > Reported-by: Heiko Carstens > > Closes: https://lore.kernel.org/all/20250122074954.8685-A-hca@linux.ibm.com/ > > Suggested-by: Heiko Carstens > > Fixes: 78966b550289 ("s390: pgtable: add statistics for PUD and P4D level page table") > > Fixes: 68c601de75d8 ("mm: introduce ctor/dtor at PGD level") > > Signed-off-by: Alexander Gordeev > > --- > > The patch is against: > > > > git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git next-20250123 > > git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm mm-stable > > Thank you for putting together this patch! I was completely unaware of > this "upgrade" path on s390. This whole thing is even worse than it looks after this patch. With page table upgrade taken into account we still have the oddity that e.g. a previous pgd becomes a pud or p4d, which means that ctor and dtor functions might be called for different levels for the same page table. As of now this is ok, since they do all the same. As a quick fix this patch is ok, and most likely it will be ok for a long time, but it doesn't give me good feeling :) In addition, looking at [1] where page table accounting was introduced: it is really meant to reflect the memory consumption used by page tables. This might work for nearly all architectures which have the same page table size for every level; but on s390 the lowest level comes with 4kb page tables while all other levels come with 16kb page tables. Therefore at least on s390 you really can't tell how much memory is consumed by page tables by only looking at nr_page_table_pages. It _might_ make sense to introduce a factor of four for page table accounting for higher levels, so those numbers make at least some sense; but not sure about that. [1] https://lore.kernel.org/all/20201130212541.2781790-3-shakeelb@google.com/T/#mb6c6f2a84ded27cd9b3d54140dde1d5a75c74735