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 C3BF1C7EE39 for ; Mon, 30 Jun 2025 10:46:00 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 44BB38D0002; Mon, 30 Jun 2025 06:46:00 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 423318D0001; Mon, 30 Jun 2025 06:46:00 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 35FBC8D0002; Mon, 30 Jun 2025 06:46:00 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 206198D0001 for ; Mon, 30 Jun 2025 06:46:00 -0400 (EDT) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 975B514035F for ; Mon, 30 Jun 2025 10:45:59 +0000 (UTC) X-FDA: 83611736838.15.3C422F7 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by imf27.hostedemail.com (Postfix) with ESMTP id C3A0A40002 for ; Mon, 30 Jun 2025 10:45:57 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=arm.com; spf=pass (imf27.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=1751280358; 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=Q4ZKConExH9t+sZf4SwZM6mks80+wm+m2CJUcgWA0BA=; b=xcwZvjRYx+rbw8ifYdjw7MgZad7J8BLz6t9sr6c8e1L89d983N8XjYaU8jsWLhRVxYCw7Y 8maCVtAjWgLJ6/HllR51FYXcEmr+0eZ/e7ZTB9uSoBz4UBAdGotVD66TayibgmO5Ft3tGR rMB6xPEhJZCdf96w6/8QmdYoIzfIMRQ= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1751280358; a=rsa-sha256; cv=none; b=3+hcEofDNJJB2+bPSwqaUgAwwUYGmyaGPiEC2CYs1LOdSKX3eBlRjhrIB26gyz9xnpO8Vb inGeMrz+kBnzpVQ5mNL1z9Wcc8E0LvI2MIHt7myOa2qLMAfEEOKpJRCDWK014qGpBETJb/ sSl3DwjGqI737cfTGvt0k9KerceoRTw= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=arm.com; spf=pass (imf27.hostedemail.com: domain of ryan.roberts@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=ryan.roberts@arm.com 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 B8E0B1F60; Mon, 30 Jun 2025 03:45:40 -0700 (PDT) Received: from [10.1.34.165] (XHFQ2J9959.cambridge.arm.com [10.1.34.165]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id A96E03F58B; Mon, 30 Jun 2025 03:45:52 -0700 (PDT) Message-ID: <7eaee53b-d538-4991-addd-379a380b8ee2@arm.com> Date: Mon, 30 Jun 2025 11:45:50 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v4 0/4] Optimize mprotect() for large folios Content-Language: en-GB To: Dev Jain , Andrew Morton Cc: david@redhat.com, willy@infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, catalin.marinas@arm.com, will@kernel.org, Liam.Howlett@oracle.com, lorenzo.stoakes@oracle.com, vbabka@suse.cz, jannh@google.com, anshuman.khandual@arm.com, peterx@redhat.com, joey.gouly@arm.com, ioworker0@gmail.com, baohua@kernel.org, kevin.brodsky@arm.com, quic_zhenhuah@quicinc.com, christophe.leroy@csgroup.eu, yangyicong@hisilicon.com, linux-arm-kernel@lists.infradead.org, hughd@google.com, yang@os.amperecomputing.com, ziy@nvidia.com References: <20250628113435.46678-1-dev.jain@arm.com> <20250629160549.da922e78d202c510a1ec68f8@linux-foundation.org> <29f418be-31c4-47b0-bcac-3375f57d00e7@arm.com> From: Ryan Roberts In-Reply-To: <29f418be-31c4-47b0-bcac-3375f57d00e7@arm.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: C3A0A40002 X-Stat-Signature: ip8cf5w35ajb1861up7skn3ut4bxju6g X-Rspam-User: X-HE-Tag: 1751280357-634753 X-HE-Meta: U2FsdGVkX19+OURZHq/npn4+kzdJ8YWUO1lrPZz2Vw0yitH+4xI0SrHYSbyUXuB76QsS7aTmc6bOOgrzr97ei66gnlc+5OLizSRWPgmu7QxgXr3F+GAxbbfoe35OGvctxkZfN6ENxG9lR4swoYf9gx/f+kXrSJR2zZx076nrFaydHDbBuaKszY8ixYj6Ozhbdhwuj5GVZVh+/q2uRKtRkiECBb+TZJdLI5iSEah2QgV5g30w23vbXUhRE+bglhOT63xN9orBE9sWiXx2qq1Fm8ik/VYIvw1U8cNgrsvH9/IcpbJuFwyhab4nrjCdJ0HV/tKdmkFNVYOua76tWSh5fYOv/HJFhaNb0PvJcaYOsfDSLq4atDqVa00ghzW1qP4u2t0Qdz3CVTc8mXWm374quJcAQaUzigkSqQih0cBnw7iMfkQZ3uUGQrXTT3+TRU2rzuTeJpRv+Za87CJHQbMMesEpJsHxO9VN9aqPAT0A/OU8g1+waFRCs095RzrzLt43S93wLLuMboyxY50/qzZkc2aEzVCSAQlBdsqgHinXD/sPWJ9PJ+blo2WMYZTpXjoFVuBYsEWGj7m6p+2XYW/kjI6eaAj7XjseHL+eKsO2+hpDNzn01eG2GNO+1fH8PTzRPWutv2T29vwMETHobqGKX3eQO2CywENNOmML5dbjYi7eFOcLgAt59GpFfjM3UlSIbRrDR5svwBXnf8spOg/ftI5fkR31852sA7CyW191PAo7P8+j/rIpNUr3Jgajll468ffw6Cidhk09IKVyl0h676C9mEwKf1E7brOWKVmCDLq33FKVdgEIP/p43/JA624IlYbULIibuavmv9VOrvhHKyusdFN9s3UPAPNQ+O84rusDGvL60xQ5b7ORC0utSmh4DJddpBv3GDoPOMLu/gBbv5/JmHsTKX+V82HGBlHKhmp/TEM6v8Jrq6th9WfXolIGsOXJOwDq0Z05+8tAeKC v2VEV2I4 7csyd8NJJtYMWlBICWqcJ0aoFB8pDE0fW0Sw1K2ITGjO+teqNNjrVei8hMazR5AqU1JmaUaYz7QEjsQB9DcQnrnR78Y/UQKaLZ2LTdP6DscEBFrH+V4WF7d4wMK7/nKy+ren9P7Jq4Ycwj9iqkS8paIHPsH0e17IDogtn/fZsi9CcB5tYB/oN5vGadBn5WNXjkjLXRXqECmrvhzi+VeWteERet5FSbtkMqhzo 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 30/06/2025 04:33, Dev Jain wrote: > > On 30/06/25 4:35 am, Andrew Morton wrote: >> On Sat, 28 Jun 2025 17:04:31 +0530 Dev Jain wrote: >> >>> This patchset optimizes the mprotect() system call for large folios >>> by PTE-batching. No issues were observed with mm-selftests, build >>> tested on x86_64. >> um what.  Seems to claim that "selftests still compiles after I messed >> with stuff", which isn't very impressive ;)  Please clarify? > > Sorry I mean to say that the mm-selftests pass. I think you're saying you both compiled and ran the mm selftests for arm64. And additionally you compiled for x86_64? (Just trying to help clarify). > >> >>> We use the following test cases to measure performance, mprotect()'ing >>> the mapped memory to read-only then read-write 40 times: >>> >>> Test case 1: Mapping 1G of memory, touching it to get PMD-THPs, then >>> pte-mapping those THPs >>> Test case 2: Mapping 1G of memory with 64K mTHPs >>> Test case 3: Mapping 1G of memory with 4K pages >>> >>> Average execution time on arm64, Apple M3: >>> Before the patchset: >>> T1: 7.9 seconds   T2: 7.9 seconds   T3: 4.2 seconds >>> >>> After the patchset: >>> T1: 2.1 seconds   T2: 2.2 seconds   T3: 4.3 seconds >> Well that's tasty. >> >>> Observing T1/T2 and T3 before the patchset, we also remove the regression >>> introduced by ptep_get() on a contpte block. And, for large folios we get >>> an almost 74% performance improvement, albeit the trade-off being a slight >>> degradation in the small folio case. >>>