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 8DA03C54E67 for ; Wed, 27 Mar 2024 15:13:27 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 023546B0098; Wed, 27 Mar 2024 11:13:27 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id EEEAB6B0099; Wed, 27 Mar 2024 11:13:26 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id DB6E66B009A; Wed, 27 Mar 2024 11:13:26 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id BDB6B6B0098 for ; Wed, 27 Mar 2024 11:13:26 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 8454DA03F5 for ; Wed, 27 Mar 2024 15:13:26 +0000 (UTC) X-FDA: 81943162812.18.9789E50 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by imf10.hostedemail.com (Postfix) with ESMTP id 94EBDC001C for ; Wed, 27 Mar 2024 15:13:24 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=arm.com; spf=pass (imf10.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=1711552404; 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=nHZrvZRf3juAUXkAtyRAk6Ps1REEjNJQ5dCmcF6+ScI=; b=bvU8Xel9Ag339l2zwTeYpucDw4H5LQGFclgrcz4NdXA2ZOhB+L4w6zvRXZLsqx9Y9l8Q5/ 7ppR7Q+xlmBBMuLXlL70w3pFBvEGUSsLsrhrALHSl/RsdJG07hqsM/85VtRQraAARpjnN/ OQm6ZhXtXEELltoN99/0Hkw0m/3JvRo= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=arm.com; spf=pass (imf10.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=1711552404; a=rsa-sha256; cv=none; b=pTp99UUg2LhqrFrGqlVALzlmXWvVEY8ZtrMor5KwlJHKDMBqrG3/3xn/OfRGQ5iyRTGIwX D+y4jWMH/m/JhXf+evlBv9JISa+gHWkLfTPCLFSlhgiAaVnVPExcxoKXi0gjFB+65CYqN9 5GH66XEVfMhC+1B9z/Op/5rdsoOqhHc= 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 B49832F4; Wed, 27 Mar 2024 08:13:57 -0700 (PDT) Received: from [10.57.72.121] (unknown [10.57.72.121]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 0DD6C3F64C; Wed, 27 Mar 2024 08:13:19 -0700 (PDT) Message-ID: <46ba09c5-4186-4e03-81cc-ca27c0301fef@arm.com> Date: Wed, 27 Mar 2024 15:13:18 +0000 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 1/1] arm64: mm: swap: support THP_SWAP on hardware with MTE Content-Language: en-GB To: David Hildenbrand , Matthew Wilcox , Barry Song <21cnbao@gmail.com> Cc: catalin.marinas@arm.com, will@kernel.org, akpm@linux-foundation.org, hughd@google.com, linux-mm@kvack.org, linux-arm-kernel@lists.infradead.org, chrisl@kernel.org, mark.rutland@arm.com, steven.price@arm.com, Barry Song , Kemeng Shi , Anshuman Khandual , Peter Collingbourne , Yosry Ahmed , Peter Xu , Lorenzo Stoakes , "Mike Rapoport (IBM)" , "Aneesh Kumar K.V" , Rick Edgecombe References: <20240322114136.61386-1-21cnbao@gmail.com> <20240322114136.61386-2-21cnbao@gmail.com> <1006392c-c437-46c0-9a2e-e25e52236b67@redhat.com> From: Ryan Roberts In-Reply-To: <1006392c-c437-46c0-9a2e-e25e52236b67@redhat.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 94EBDC001C X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: o8x7ude1hsr9tccig44tosbpxefmnwrb X-HE-Tag: 1711552404-739734 X-HE-Meta: U2FsdGVkX1/cHYGclZUVK0+wAPJ8pzzqF/Mp+9a3b4J22zynRqdf/u/IzcaMN7rdovo41WCE4u/ovk8l24EvCul8j3oVmMzGT5XtAqt2O/NlLDGlbs74Z4Nn/cLWUwPaig4Z+c96OBlfi26Lda5PjSz2T6v0uXD/4WShf2cG5OASCgDFLe7eULDvcQcj5P94BuBNuTPffSru/Kxbv7jGRAoIB0KbBqMTNloPD0DP8Az3uD/tlos32FsUq3aqEyZ80DzBAhtgC9Vm81BUCHX7XwHGCVQkQaeMAaTOcE+eEOSWITbuJSpSt+0MiSb076YRGfgjZcepzxqNw5x6L4rgW+ZB5UguJO3m4EinaEtreZ06AYxP/wcP+hF6I4RCr6HDy2m0JVqc9grOyulHxxl4Of05hRlStBpw3TQrd0b23/kJatQHwJYnIJ5X9Bn4YSqLuL4ccbLG/XgawDLdcLdkAFfzxRIrkZhLf5BTb+1a+xrjTWvoBobfBpN6vTE2sjiCVjBhyIu7Wu+z1diLgVieps3J6w98oPfaNBJ2EDJaBt6yXvZiVvev4p+1ew/Dpaeu1fzaFosrK6N7ypfrHV1IV7HVQefUxqnE9qpX6gi3e1NAu9AxF5qptH26HwlgsRaT2sopkNwq5zPuffpOWYsfzu+ypvpYI3StnGstSUx4v1ijNJoTbusIfqMq+bJ5dJckC1cYC5AGdI63XoSRf5FOmZzW8kV8Q48BEYUJJCCqAYLYzy95lpaZBbhy9nxEx9fw4BxWjGS8tylImfO10Sgp8shMlxaabbOyYsyfVddFTdlpPqjKU/PNl8FZtFkuW9xndkqiYw9qLr/19wGFQvZ+6gUye8SmCrTnhjPSL0M30m8fX4CxOFB+x3zlmd/KFzN5bs7DFayXKDl0MOx/CDm+4xztg+h6+rsofebsjhV2dpxZ+3Gv2/zckaRn++KiAjQgP0UzRM430tRBB9wJEFu 9dd6aEHH CScbE0kdJHPRvhYu0npBdacXWS3ds6fagQ7UAdSzth4T1j1D6nL5AyphSORcQ53C/vV9D0c1GEtBAiDOzJdIBj28jJ4WWNVmgEnxUACmqdgyaB/b2izaRn86aYAmmHiRmp/kYguUCMqu5TFt27mdVDf45WhQFEtp77B4AYedhzoPAdsKL/OGXRxM7yDyOJmGfuK+tB2vxBSburE7i8DH+4oh5QARAGW+fYwTpRF34BtMa2e8uqpggGdPCB0gaxgjDCR4pDRX0PzuUD2r6IXqMP+uXb/LMvhdC+gUWoYopvBQSIQQlhTatGbvMGQANFFwmpfiHWHrwZFpujO/LmaLesZEuSA== 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 27/03/2024 14:57, David Hildenbrand wrote: > On 27.03.24 15:53, Matthew Wilcox wrote: >> On Sat, Mar 23, 2024 at 12:41:36AM +1300, Barry Song wrote: >>> Commit d0637c505f8a1 ("arm64: enable THP_SWAP for arm64") brings up >>> THP_SWAP on ARM64, but it doesn't enable THP_SWP on hardware with >>> MTE as the MTE code works with the assumption tags save/restore is >>> always handling a folio with only one page. >>> >>> The limitation should be removed as more and more ARM64 SoCs have >>> this feature. Co-existence of MTE and THP_SWAP becomes more and >>> more important. >>> >>> This patch makes MTE tags saving support large folios, then we don't >>> need to split large folios into base pages for swapping out on ARM64 >>> SoCs with MTE any more. >> >> Can we go further than this patch and only support PG_mte_tagged and >> PG_mte_lock on folio->flags instead of page->flags?  We're down to using > > I think we discussed that already and what I learned is that it "gets a bit > complicated". But I'm hoping we can get that discussion started again. The original conversation starts here: https://lore.kernel.org/linux-mm/fb34d312-1049-4932-8f2b-d7f33cfc297c@arm.com/ The issue is that you can have a large folio mapped to user space, and user space only wants to activate MTE for a portion of it. So at that point, you either have to deal with only part of it being tagged (as we do today with the per-page flag) or you have to split the folio. I haven't re-read the entire thread - so might be forgetting some important details. > >> page->flags for these two MTE bits, a whole lot of s390 junk, PG_hwpoison, >> PG_head, PG_anon_exclusive and Zone/Section/Node/KASAN/last_cpupid. > > ... just like PG_anon_exclusive "gets a bit complicated". Well, I think I might > have finally found a way to make it work, I'll only have to uglify fork() a bit. >