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 4E942C4167B for ; Mon, 11 Dec 2023 18:42:49 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E225D6B019C; Mon, 11 Dec 2023 13:42:48 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id DD2416B019E; Mon, 11 Dec 2023 13:42:48 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id CC1496B019F; Mon, 11 Dec 2023 13:42:48 -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 BD5056B019C for ; Mon, 11 Dec 2023 13:42:48 -0500 (EST) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 71FBA16078B for ; Mon, 11 Dec 2023 18:42:48 +0000 (UTC) X-FDA: 81555408816.16.F5E0A0A Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55]) by imf17.hostedemail.com (Postfix) with ESMTP id 631CB40002 for ; Mon, 11 Dec 2023 18:42:46 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=S0fbAglu; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf17.hostedemail.com: domain of will@kernel.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=will@kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1702320166; 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=3I/XmUfU8WZXVTEhaLOVLbopU64w5bIbkMvwyI6D4TI=; b=HXTIkeQGkOOI4WXEn8+9BTKbvdzPbatkSelg9kjItFjKkUmsmqJX4CPCTKncAT4za/47mL ukw92PNaiopV6KgTNbVw1Uon5O4pJ+7gjo/S2xbBwAhX7AjRLRs3xFEId7QPZ+2q2lwzwc Bq5d3RP4pktyQLyrGpa0cMMU9vZt1A8= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=S0fbAglu; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf17.hostedemail.com: domain of will@kernel.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=will@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1702320166; a=rsa-sha256; cv=none; b=Nr6PbNMgnbJuh1I9LuGqRyYuip6QkMhpL03nhikOMpR5frULKln434IDZ97lOdMFbYlqZs 3NPhJeZFlvSsynDjLrZcShI+oyd/CfXhZTUObnNVBf6WtWLYUByXeNJwAdVnjbY0yDi+lB ZPmob9VYEow7R2LNk9vM8v8MEy9icrk= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sin.source.kernel.org (Postfix) with ESMTP id CDD03CE12AA; Mon, 11 Dec 2023 18:42:42 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 232D0C433C7; Mon, 11 Dec 2023 18:42:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1702320162; bh=La1SkaK7aEdY1LxNkNO5JyzTxPGR7qbV9MxCEFKaG3c=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=S0fbAglu5jBzJzxh07T39fVM/s7FoQQSuOhDZqlRkIy91TQy6IekTeoIlifpvVwhU PN264G8HQGPp9TJP7Q5MnF3aAIS7+3ikvtayafsup1uH7XFTvI6QOQl8gSes/6/YF9 nmyUZCZb9nmtc9v0yaf4T1nkJpx0SQu4WCXqivdjTbkj+/islL16+lokwCbggKM8I/ U9BbayDdfuz+VHhDGDk2HIW7kqOBhhswSowciT5cLlC2E88xWqonx9Qdseyo7+ObiE bSa1NcTqx/+TNV1EGySODFGcKNk1ysriAJAjSjIL2tMSi/b4Pw230zFkjYBxosUiWe UiRxINs+8/2XA== Date: Mon, 11 Dec 2023 18:42:36 +0000 From: Will Deacon To: James Houghton Cc: Steve Capper , Andrew Morton , Mike Kravetz , Muchun Song , Anshuman Khandual , Catalin Marinas , Ryan Roberts , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 2/2] arm64: mm: Always make sw-dirty PTEs hw-dirty in pte_modify Message-ID: <20231211184236.GB26462@willie-the-truck> References: <20231204172646.2541916-1-jthoughton@google.com> <20231204172646.2541916-3-jthoughton@google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20231204172646.2541916-3-jthoughton@google.com> User-Agent: Mutt/1.10.1 (2018-07-13) X-Rspamd-Queue-Id: 631CB40002 X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: n7yki4dz17zbw4she6enacfff5gtpk54 X-HE-Tag: 1702320165-735634 X-HE-Meta: U2FsdGVkX18KkJfVQ+EbtmfwHL/rVAaFfW1wSGvDFn3kVIvwTzOAJWbcIZX1B+8GPTu6R2mvKG/0pVQOppcFoJU6GRUxkrJYXSC25ZJcfKM2cHOoUQVinzjv8mRsFh517iMc0gYZwMSsidXpDWpitR/8/VnzaVD2brti37JCVOqJ2sBF69IcLeWOXHfUb9RZZrjssQ6cycntbGPdDmsywGqwfrcpUGX/JmffqyOyarbRKOB/ted+tHbwwSTpy9YXyX/2gEGK+3BTsnEkHRndmODaz1jkjlcC1Zhv2fD0E/Mx8Am11QV5Uy994uuJqtI90sY+YHAwQe3G6WgC00xEDz/kEtATb7gYauipsM3azpUoFtqQy320QiEKLpaseXTfFARysHOrVCpKvwvfvE2LsxaoN5A/gU+Acu2uB79Hatd5eWnnWXyu6w5jKBoztCAVBULyb/omuTKEYL+ChvqS6aUbPHjHaWWr4GDihlepFkD3oJ6zySPbtiJIWLKdSA+MYeeUR+ycM5De072vKl7a9OXGA29BsXmR0i8WDQgbe7ny5JplYzXH5FAx2xuS2CnG0V4hRUDWjYCN4x3LA/zonOce+HmC8T5iOCXqDRB8SrNWQYdr08Y3E25vOnfC3u2m7j+7Qu7Zn/WfUfwPZS9u1zqHVD6kWhge6bM8+Z47s0IBa3ZoGPZwizVgBVXwVeKlTE1uhEYLUHrPH6WmE26tVRhLZ5+OLdKtSKADj7sl1JyR8vT98y2cpL+SZmwq/L4l3diKAGXdAYUjVBeN1ZuxJNSmjAjyIOTzNO61QhiW9LiP2fwNxKvytKVv0RuATUJeiaMkwYT+aqU2uBfYs3EKVZ3fcRFoubXUILBVrLm9/HjyYxFoGg1l/b0AlnvY2AROJnnN8se1uKXU6U+Qjmhot+YiqoAL3UgXj878SPMZsQUCYMmNf+rtxs+5Vn2ksyfuqMc5ouyGTXVZiYOvzKJ Gv+31TAU 9S6M7C/PJoFUfx1ZMhdIybBXktUm895n+haZlRdwPAiz7Z+8yNcBVDZLlQlpXbtCFSLoqY6WCIDYwnHKlBQcl00+MboSdY9zKb1Ww9miHSluAVDITeVJF2wB9mn5l9FSrfaIY+JOFPd9U2tBLVnQPSwtl4HEzOy3gWLnjiBD9vqpCZYLTeqoyBOF2YtdR+LG65ZXz+jGPtSCzlRv6sB+S9hHzxH1UuQxmkUfx94jgGBeIed91wFYI47mhjn4+HAMFoEBK X-Bogosity: Ham, tests=bogofilter, spamicity=0.000004, 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 Mon, Dec 04, 2023 at 05:26:46PM +0000, James Houghton wrote: > Make it impossible to create a sw-dirty, hw-clean PTE with pte_modify. > Such a PTE should be impossible to create, and there may be places that > assume that pte_dirty() implies pte_hw_dirty(). > > Signed-off-by: James Houghton I'm not sure how, but you seem to be missing the '---' separator and the diffstat here, so I suspect this might confuse tools such as b4 which try to apply the patch directly. > diff --git a/arch/arm64/include/asm/pgtable.h b/arch/arm64/include/asm/pgtable.h > index b19a8aee684c..79ce70fbb751 100644 > --- a/arch/arm64/include/asm/pgtable.h > +++ b/arch/arm64/include/asm/pgtable.h > @@ -834,6 +834,12 @@ static inline pte_t pte_modify(pte_t pte, pgprot_t newprot) > pte = set_pte_bit(pte, __pgprot(PTE_DIRTY)); > > pte_val(pte) = (pte_val(pte) & ~mask) | (pgprot_val(newprot) & mask); > + /* > + * If we end up clearing hw dirtiness for a sw-dirty PTE, set hardware > + * dirtiness again. > + */ > + if (pte_sw_dirty(pte)) > + pte = pte_mkdirty(pte); > return pte; Looks like this is a fix for Catalin to pick up (patch #1 isn't necessary afaict). Will