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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 954EEC46CD2 for ; Wed, 24 Jan 2024 05:45:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-ID:Date:References :In-Reply-To:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=sx19jw3WnwFgZVPe3NKudm3v+JWqped1jzQF034fgsw=; b=ehLllXPEswIZNn 5p2Mk/Ad8ZZ2TtepHah/EsK+cik7f4v6rRxXcoZEjK/GerA1Sd+i8esJNXYoWJSnTqO0m4LHNQZL9 K3hFYBwvZQm6Oqt3MVtnXd281NxwAZY1gC3+k9uMPQVfcqh+B9QSg8VZaxXMrx9zKrhjlpp23Lguj aHxvmxHgq4ccTY0hlz9/GSodbuaZCtzqPl8CkKKzNb+uPkM9A4tk9MYykeYvpuaBtfC6GFUJZVM3M 3aN7ZPegDN5ORBx0TImEHYwN+BaPYjkNIGA0FPM8xfZ85STX4lxTtoQ7lQQkFEBvu+FHn5O/ktrnq nyEb6zV/IINtK6t4e3Ag==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1rSW4g-001cuL-0H; Wed, 24 Jan 2024 05:45:22 +0000 Received: from dfw.source.kernel.org ([2604:1380:4641:c500::1]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1rSW4c-001crt-2I; Wed, 24 Jan 2024 05:45:20 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 7A30E60FDB; Wed, 24 Jan 2024 05:45:17 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id DAA06C433F1; Wed, 24 Jan 2024 05:45:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1706075117; bh=5dLOTB19eqgu6rIiWX9LXiC2Xe6lJz1n50JwsYBoJ6w=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=O1skpl4y2xjw6BP+gzZ5mPe0LKyiUIrkGJSxeRvOjofb/gZvo6wl7nFZdgUFQ8p8g mKeTO4ObwcUC2+OyxrBUFcF6ovICMunK8lCIQIgR+AqdvzCkI0GjG8X1Rp61fv1x0O sXYkIvLLfqVyEudSZNXUQ7C6skbTv82wU+p9IkYysxMfhaPHouWfsN/hk5ltc2+h0S XzFm2ohqjonzRS2gKeLXiMhGX5iu1V+ZgCwo5e1vYgDR7B50640MCgmUl3IJbLWDcS qOgK2IzFJaPYHpWQn+N9JUVQLiSVJ/DJXQoM6urufjCoLD8pjAm5mcQutss0xfdEOG C2zeUU0iz2qHw== X-Mailer: emacs 29.1 (via feedmail 11-beta-1 I) From: Aneesh Kumar K.V To: David Hildenbrand , Ryan Roberts , Christophe Leroy , "linux-kernel@vger.kernel.org" Cc: "linux-mm@kvack.org" , Andrew Morton , Matthew Wilcox , Russell King , Catalin Marinas , Will Deacon , Dinh Nguyen , Michael Ellerman , Nicholas Piggin , "Naveen N. Rao" , Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexander Gordeev , Gerald Schaefer , Heiko Carstens , Vasily Gorbik , Christian Borntraeger , Sven Schnelle , "David S. Miller" , "linux-arm-kernel@lists.infradead.org" , "linuxppc-dev@lists.ozlabs.org" , "linux-riscv@lists.infradead.org" , "linux-s390@vger.kernel.org" , "sparclinux@vger.kernel.org" Subject: Re: [PATCH v1 01/11] arm/pgtable: define PFN_PTE_SHIFT on arm and arm64 In-Reply-To: <794c1dc3-520c-4030-b0fe-e24782576347@redhat.com> References: <20240122194200.381241-1-david@redhat.com> <20240122194200.381241-2-david@redhat.com> <46080ac1-7789-499b-b7f3-0231d7bd6de7@redhat.com> <6703b648-10ab-4fea-b7f1-75421319465b@arm.com> <3a970289-a72f-418e-b43c-89f67f0d5283@redhat.com> <794c1dc3-520c-4030-b0fe-e24782576347@redhat.com> Date: Wed, 24 Jan 2024 11:15:03 +0530 Message-ID: <8734unqo80.fsf@kernel.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240123_214518_851475_B1F2C9D9 X-CRM114-Status: GOOD ( 13.53 ) X-BeenThere: linux-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org RGF2aWQgSGlsZGVuYnJhbmQgPGRhdmlkQHJlZGhhdC5jb20+IHdyaXRlczoKCj4gT24gMjMuMDEu MjQgMTI6MzgsIFJ5YW4gUm9iZXJ0cyB3cm90ZToKPj4gT24gMjMvMDEvMjAyNCAxMTozMSwgRGF2 aWQgSGlsZGVuYnJhbmQgd3JvdGU6Cj4+Pj4+Cj4+Pj4+PiBJZiBoaWdoIGJpdHMgYXJlIHVzZWQg Zm9yCj4+Pj4+PiBzb21ldGhpbmcgZWxzZSwgdGhlbiB3ZSBtaWdodCBwcm9kdWNlIGEgZ2FyYmFn ZSBQVEUgb24gb3ZlcmZsb3csIGJ1dCB0aGF0Cj4+Pj4+PiBzaG91bGRuJ3QgcmVhbGx5IG1hdHRl ciBJIGNvbmNsdWRlZCBmb3IgZm9saW9fcHRlX2JhdGNoKCkgcHVycG9zZXMsIHdlJ2Qgbm90Cj4+ Pj4+PiBkZXRlY3QgImJlbG9uZ3MgdG8gdGhpcyBmb2xpbyBiYXRjaCIgZWl0aGVyIHdheS4KPj4+ Pj4KPj4+Pj4gRXhhY3RseS4KPj4+Pj4KPj4+Pj4+Cj4+Pj4+PiBNYXliZSBpdCdzIGxpa2VseSBj bGVhbmVyIHRvIGFsc28gaGF2ZSBhIGN1c3RvbSBwdGVfbmV4dF9wZm4oKSBvbiBwcGMsIEkganVz dAo+Pj4+Pj4gaG9wZSB0aGF0IHdlIGRvbid0IGxvc2UgYW55IG90aGVyIGFyYml0cmFyeSBQVEUg Yml0cyBieSBkb2luZyB0aGUgcHRlX3BncHJvdCgpLgo+Pj4+Pgo+Pj4+PiBJIGRvbid0IHNlZSB0 aGUgbmVlZCBmb3IgcHBjIHRvIGltcGxlbWVudCBwdGVfbmV4dF9wZm4oKS4KPj4+Pgo+Pj4+IEFn cmVlZC4KPj4+Cj4+PiBTbyBsaWtlbHkgd2Ugc2hvdWxkIHRoZW4gZG8gb24gdG9wIGZvciBwb3dl cnBjICh3aGl0ZXNwYWNlIGRhbWFnZSk6Cj4+Pgo+Pj4gZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJw Yy9tbS9wZ3RhYmxlLmMgYi9hcmNoL3Bvd2VycGMvbW0vcGd0YWJsZS5jCj4+PiBpbmRleCBhMDRh ZTQ0NDlhMDI1Li41NDlhNDQwZWQ3ZjY1IDEwMDY0NAo+Pj4gLS0tIGEvYXJjaC9wb3dlcnBjL21t L3BndGFibGUuYwo+Pj4gKysrIGIvYXJjaC9wb3dlcnBjL21tL3BndGFibGUuYwo+Pj4gQEAgLTIy MCwxMCArMjIwLDcgQEAgdm9pZCBzZXRfcHRlcyhzdHJ1Y3QgbW1fc3RydWN0ICptbSwgdW5zaWdu ZWQgbG9uZyBhZGRyLAo+Pj4gcHRlX3QgKnB0ZXAsCj4+PiAgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBicmVhazsKPj4+ICDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgcHRlcCsrOwo+Pj4gIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBh ZGRyICs9IFBBR0VfU0laRTsKPj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIC8qCj4+ PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICogaW5jcmVtZW50IHRoZSBwZm4uCj4+ PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICovCj4+PiAtwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCBwdGUgPSBwZm5fcHRlKHB0ZV9wZm4ocHRlKSArIDEsIHB0ZV9wZ3Byb3Qo KHB0ZSkpKTsKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHB0ZSA9IHB0ZV9uZXh0 X3BmbihwdGUpOwo+Pj4gIMKgwqDCoMKgwqDCoMKgIH0KPj4+ICDCoH0KPj4gCj4+IExvb2tzIGxp a2UgY29tbWl0IDQ3YjhkZWY5MzU4YyAoInBvd2VycGMvbW06IEF2b2lkIGNhbGxpbmcKPj4gYXJj aF9lbnRlci9sZWF2ZV9sYXp5X21tdSgpIGluIHNldF9wdGVzIikgY2hhbmdlZCBmcm9tIGRvaW5n IHRoZSBzaW1wbGUKPj4gaW5jcmVtZW50IHRvIHRoaXMgbW9yZSBjb21wbGV4IGFwcHJvYWNoLCBi dXQgdGhlIGxvZyBkb2Vzbid0IHNheSB3aHkuCj4KPiBAQW5lZXNoLCB3YXMgdGhhdCBjaGFuZ2Ug b24gcHVycG9zZT8KPgoKQmVjYXVzZSB3ZSBoYWQgYSBidWcgd2l0aCB0aGUgcGF0Y2ggdGhhdCBp bnRyb2R1Y2VkIHRoZSBjaGFuZ2UgYW5kIHRoYXQKbGluZSB3YXMgY29uZnVzaW5nLiBUaGUgcmln aHQgdGhpbmcgc2hvdWxkIGhhdmUgYmVlbiB0byBhZGQKcHRlX3Bmbl9uZXh0KCkgdG8gbWFrZSBp dCBjbGVhci4gSXQgd2FzIGNvbmZ1c2luZyBiZWNhdXNlIG5vdCBhbGwgcHRlCmZvcm1hdCBoYWQg cGZuIGF0IFBBR0VfU0hJRlQgb2Zmc2V0IChldmVuIHRob3VnaCB3ZSBkaWQgdXNlIHRoZSBjb3Jy ZWN0ClBURV9SUE5fU0hJRlQgaW4gdGhpcyBzcGVjaWZpYyBjYXNlKS4gVG8gbWFrZSBpdCBzaW1w bGVyIEkgZW5kZWQgdXAKc3dpdGNoaW5nIHRoYXQgbGluZSB0byBwdGVfcGZuKHB0ZSkgKyAxIC4K Ci1hbmVlc2gKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CmxpbnV4LXJpc2N2IG1haWxpbmcgbGlzdApsaW51eC1yaXNjdkBsaXN0cy5pbmZyYWRlYWQub3Jn Cmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtcmlzY3YK From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B0F35E55E; Wed, 24 Jan 2024 05:45:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706075117; cv=none; b=KbDoc9VohrdGnJ3EPORde5xbZDWrobDGInxYsXZb5HnMbS12RG/0k6wGPE3H0HoXVpswHZm7ekOJiSNnF25Ix4JIUJkPBzgkbDWpSHMMGO2kVAXkV/8Gv05b0AYO8m5OUHWlkHk5JGpAR5k7BwKzrgg2W7CjdGMyFPuA07wcUHQ= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706075117; c=relaxed/simple; bh=5dLOTB19eqgu6rIiWX9LXiC2Xe6lJz1n50JwsYBoJ6w=; h=From:To:Cc:Subject:In-Reply-To:References:Date:Message-ID: MIME-Version:Content-Type; b=tVrfSvUmAfwL7xnoy5tbOH2cswnQGC/fpww91hH/NaHNq2RhvK5I6IdTH5vWfM9qHn+ZaozxJiEG+yD9TQt3Hfk2l6r2O9NQI3a0Xanx9EMCwbhpw6Q9lEXVSJVCoBA/FLbR39kIpEyDmELXsSIvD4J6wO0nERI+yf4aWaC/rPs= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=O1skpl4y; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="O1skpl4y" Received: by smtp.kernel.org (Postfix) with ESMTPSA id DAA06C433F1; Wed, 24 Jan 2024 05:45:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1706075117; bh=5dLOTB19eqgu6rIiWX9LXiC2Xe6lJz1n50JwsYBoJ6w=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=O1skpl4y2xjw6BP+gzZ5mPe0LKyiUIrkGJSxeRvOjofb/gZvo6wl7nFZdgUFQ8p8g mKeTO4ObwcUC2+OyxrBUFcF6ovICMunK8lCIQIgR+AqdvzCkI0GjG8X1Rp61fv1x0O sXYkIvLLfqVyEudSZNXUQ7C6skbTv82wU+p9IkYysxMfhaPHouWfsN/hk5ltc2+h0S XzFm2ohqjonzRS2gKeLXiMhGX5iu1V+ZgCwo5e1vYgDR7B50640MCgmUl3IJbLWDcS qOgK2IzFJaPYHpWQn+N9JUVQLiSVJ/DJXQoM6urufjCoLD8pjAm5mcQutss0xfdEOG C2zeUU0iz2qHw== X-Mailer: emacs 29.1 (via feedmail 11-beta-1 I) From: Aneesh Kumar K.V To: David Hildenbrand , Ryan Roberts , Christophe Leroy , "linux-kernel@vger.kernel.org" Cc: "linux-mm@kvack.org" , Andrew Morton , Matthew Wilcox , Russell King , Catalin Marinas , Will Deacon , Dinh Nguyen , Michael Ellerman , Nicholas Piggin , "Naveen N. Rao" , Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexander Gordeev , Gerald Schaefer , Heiko Carstens , Vasily Gorbik , Christian Borntraeger , Sven Schnelle , "David S. Miller" , "linux-arm-kernel@lists.infradead.org" , "linuxppc-dev@lists.ozlabs.org" , "linux-riscv@lists.infradead.org" , "linux-s390@vger.kernel.org" , "sparclinux@vger.kernel.org" Subject: Re: [PATCH v1 01/11] arm/pgtable: define PFN_PTE_SHIFT on arm and arm64 In-Reply-To: <794c1dc3-520c-4030-b0fe-e24782576347@redhat.com> References: <20240122194200.381241-1-david@redhat.com> <20240122194200.381241-2-david@redhat.com> <46080ac1-7789-499b-b7f3-0231d7bd6de7@redhat.com> <6703b648-10ab-4fea-b7f1-75421319465b@arm.com> <3a970289-a72f-418e-b43c-89f67f0d5283@redhat.com> <794c1dc3-520c-4030-b0fe-e24782576347@redhat.com> Date: Wed, 24 Jan 2024 11:15:03 +0530 Message-ID: <8734unqo80.fsf@kernel.org> Precedence: bulk X-Mailing-List: linux-s390@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable David Hildenbrand writes: > On 23.01.24 12:38, Ryan Roberts wrote: >> On 23/01/2024 11:31, David Hildenbrand wrote: >>>>> >>>>>> If high bits are used for >>>>>> something else, then we might produce a garbage PTE on overflow, but= that >>>>>> shouldn't really matter I concluded for folio_pte_batch() purposes, = we'd not >>>>>> detect "belongs to this folio batch" either way. >>>>> >>>>> Exactly. >>>>> >>>>>> >>>>>> Maybe it's likely cleaner to also have a custom pte_next_pfn() on pp= c, I just >>>>>> hope that we don't lose any other arbitrary PTE bits by doing the pt= e_pgprot(). >>>>> >>>>> I don't see the need for ppc to implement pte_next_pfn(). >>>> >>>> Agreed. >>> >>> So likely we should then do on top for powerpc (whitespace damage): >>> >>> diff --git a/arch/powerpc/mm/pgtable.c b/arch/powerpc/mm/pgtable.c >>> index a04ae4449a025..549a440ed7f65 100644 >>> --- a/arch/powerpc/mm/pgtable.c >>> +++ b/arch/powerpc/mm/pgtable.c >>> @@ -220,10 +220,7 @@ void set_ptes(struct mm_struct *mm, unsigned long = addr, >>> pte_t *ptep, >>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 break; >>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 ptep++; >>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 addr +=3D PAGE_SIZE; >>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0 /* >>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 * increment the pfn. >>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 */ >>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0 pte =3D pfn_pte(pte_pfn(pte) + 1, pte_pgprot((pte))); >>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0 pte =3D pte_next_pfn(pte); >>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 } >>> =C2=A0} >>=20 >> Looks like commit 47b8def9358c ("powerpc/mm: Avoid calling >> arch_enter/leave_lazy_mmu() in set_ptes") changed from doing the simple >> increment to this more complex approach, but the log doesn't say why. > > @Aneesh, was that change on purpose? > Because we had a bug with the patch that introduced the change and that line was confusing. The right thing should have been to add pte_pfn_next() to make it clear. It was confusing because not all pte format had pfn at PAGE_SHIFT offset (even though we did use the correct PTE_RPN_SHIFT in this specific case). To make it simpler I ended up switching that line to pte_pfn(pte) + 1 . -aneesh 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 lists.ozlabs.org (lists.ozlabs.org [112.213.38.117]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 34D11C46CD2 for ; Wed, 24 Jan 2024 05:46:06 +0000 (UTC) Authentication-Results: lists.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256 header.s=k20201202 header.b=O1skpl4y; dkim-atps=neutral Received: from boromir.ozlabs.org (localhost [IPv6:::1]) by lists.ozlabs.org (Postfix) with ESMTP id 4TKXxm5nKcz3cRh for ; Wed, 24 Jan 2024 16:46:04 +1100 (AEDT) Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256 header.s=k20201202 header.b=O1skpl4y; dkim-atps=neutral Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=kernel.org (client-ip=139.178.84.217; helo=dfw.source.kernel.org; envelope-from=aneesh.kumar@kernel.org; receiver=lists.ozlabs.org) Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4TKXww3Dt3z30hG for ; Wed, 24 Jan 2024 16:45:20 +1100 (AEDT) Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 7A30E60FDB; Wed, 24 Jan 2024 05:45:17 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id DAA06C433F1; Wed, 24 Jan 2024 05:45:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1706075117; bh=5dLOTB19eqgu6rIiWX9LXiC2Xe6lJz1n50JwsYBoJ6w=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=O1skpl4y2xjw6BP+gzZ5mPe0LKyiUIrkGJSxeRvOjofb/gZvo6wl7nFZdgUFQ8p8g mKeTO4ObwcUC2+OyxrBUFcF6ovICMunK8lCIQIgR+AqdvzCkI0GjG8X1Rp61fv1x0O sXYkIvLLfqVyEudSZNXUQ7C6skbTv82wU+p9IkYysxMfhaPHouWfsN/hk5ltc2+h0S XzFm2ohqjonzRS2gKeLXiMhGX5iu1V+ZgCwo5e1vYgDR7B50640MCgmUl3IJbLWDcS qOgK2IzFJaPYHpWQn+N9JUVQLiSVJ/DJXQoM6urufjCoLD8pjAm5mcQutss0xfdEOG C2zeUU0iz2qHw== X-Mailer: emacs 29.1 (via feedmail 11-beta-1 I) From: Aneesh Kumar K.V To: David Hildenbrand , Ryan Roberts , Christophe Leroy , "linux-kernel@vger.kernel.org" Subject: Re: [PATCH v1 01/11] arm/pgtable: define PFN_PTE_SHIFT on arm and arm64 In-Reply-To: <794c1dc3-520c-4030-b0fe-e24782576347@redhat.com> References: <20240122194200.381241-1-david@redhat.com> <20240122194200.381241-2-david@redhat.com> <46080ac1-7789-499b-b7f3-0231d7bd6de7@redhat.com> <6703b648-10ab-4fea-b7f1-75421319465b@arm.com> <3a970289-a72f-418e-b43c-89f67f0d5283@redhat.com> <794c1dc3-520c-4030-b0fe-e24782576347@redhat.com> Date: Wed, 24 Jan 2024 11:15:03 +0530 Message-ID: <8734unqo80.fsf@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Catalin Marinas , "linux-mm@kvack.org" , "sparclinux@vger.kernel.org" , Alexander Gordeev , Will Deacon , "linux-riscv@lists.infradead.org" , "linux-s390@vger.kernel.org" , Russell King , Matthew Wilcox , "Naveen N. Rao" , Gerald Schaefer , Christian Borntraeger , Albert Ou , Vasily Gorbik , Heiko Carstens , Nicholas Piggin , Paul Walmsley , "linux-arm-kernel@lists.infradead.org" , Dinh Nguyen , Palmer Dabbelt , Sven Schnelle , Andrew Morton , "linuxpp c-dev@lists.ozlabs.org" , "David S. Miller" Errors-To: linuxppc-dev-bounces+linuxppc-dev=archiver.kernel.org@lists.ozlabs.org Sender: "Linuxppc-dev" David Hildenbrand writes: > On 23.01.24 12:38, Ryan Roberts wrote: >> On 23/01/2024 11:31, David Hildenbrand wrote: >>>>> >>>>>> If high bits are used for >>>>>> something else, then we might produce a garbage PTE on overflow, but= that >>>>>> shouldn't really matter I concluded for folio_pte_batch() purposes, = we'd not >>>>>> detect "belongs to this folio batch" either way. >>>>> >>>>> Exactly. >>>>> >>>>>> >>>>>> Maybe it's likely cleaner to also have a custom pte_next_pfn() on pp= c, I just >>>>>> hope that we don't lose any other arbitrary PTE bits by doing the pt= e_pgprot(). >>>>> >>>>> I don't see the need for ppc to implement pte_next_pfn(). >>>> >>>> Agreed. >>> >>> So likely we should then do on top for powerpc (whitespace damage): >>> >>> diff --git a/arch/powerpc/mm/pgtable.c b/arch/powerpc/mm/pgtable.c >>> index a04ae4449a025..549a440ed7f65 100644 >>> --- a/arch/powerpc/mm/pgtable.c >>> +++ b/arch/powerpc/mm/pgtable.c >>> @@ -220,10 +220,7 @@ void set_ptes(struct mm_struct *mm, unsigned long = addr, >>> pte_t *ptep, >>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 break; >>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 ptep++; >>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 addr +=3D PAGE_SIZE; >>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0 /* >>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 * increment the pfn. >>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 */ >>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0 pte =3D pfn_pte(pte_pfn(pte) + 1, pte_pgprot((pte))); >>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0 pte =3D pte_next_pfn(pte); >>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 } >>> =C2=A0} >>=20 >> Looks like commit 47b8def9358c ("powerpc/mm: Avoid calling >> arch_enter/leave_lazy_mmu() in set_ptes") changed from doing the simple >> increment to this more complex approach, but the log doesn't say why. > > @Aneesh, was that change on purpose? > Because we had a bug with the patch that introduced the change and that line was confusing. The right thing should have been to add pte_pfn_next() to make it clear. It was confusing because not all pte format had pfn at PAGE_SHIFT offset (even though we did use the correct PTE_RPN_SHIFT in this specific case). To make it simpler I ended up switching that line to pte_pfn(pte) + 1 . -aneesh 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 875EDC46CD2 for ; Wed, 24 Jan 2024 05:45:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-ID:Date:References :In-Reply-To:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=ZPXTz1CZET2nzkBrMcgeFwAZBNdQHncL+fFfQO3OZVc=; b=MBv6fX7QQ57Fgz LWZ3e+b5hBpJ1bFW+QTJ9/1G+lJYijyxn4eUwpnhS/ILHFw3zSXzsEMv7RxcjfOqKBT4PfoTzBww/ 7TeLwipO9h9G+Pv9QbtqmV0QteC4SeB4ZK9310A6E+KB42cgGlaS1ourrzVr16PcwusxDbqr/do4v tU7hjw5g7dqYlYVspLOvJsFANY01+WMTHKSW4n7csrhyW8E9EPg2/n5mTm+W1rX/5W0o1VUBIQw81 kDexYCIP04OtWis6QV/TZipv/PTio5J1GMqyGWphoC21yug6+7bXui5Qq9SWRRVIjqZZCk7FLgZn+ HvzuHBLtB/I3PRJa8wZA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1rSW4f-001ctZ-1I; Wed, 24 Jan 2024 05:45:21 +0000 Received: from dfw.source.kernel.org ([2604:1380:4641:c500::1]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1rSW4c-001crt-2I; Wed, 24 Jan 2024 05:45:20 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 7A30E60FDB; Wed, 24 Jan 2024 05:45:17 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id DAA06C433F1; Wed, 24 Jan 2024 05:45:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1706075117; bh=5dLOTB19eqgu6rIiWX9LXiC2Xe6lJz1n50JwsYBoJ6w=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=O1skpl4y2xjw6BP+gzZ5mPe0LKyiUIrkGJSxeRvOjofb/gZvo6wl7nFZdgUFQ8p8g mKeTO4ObwcUC2+OyxrBUFcF6ovICMunK8lCIQIgR+AqdvzCkI0GjG8X1Rp61fv1x0O sXYkIvLLfqVyEudSZNXUQ7C6skbTv82wU+p9IkYysxMfhaPHouWfsN/hk5ltc2+h0S XzFm2ohqjonzRS2gKeLXiMhGX5iu1V+ZgCwo5e1vYgDR7B50640MCgmUl3IJbLWDcS qOgK2IzFJaPYHpWQn+N9JUVQLiSVJ/DJXQoM6urufjCoLD8pjAm5mcQutss0xfdEOG C2zeUU0iz2qHw== X-Mailer: emacs 29.1 (via feedmail 11-beta-1 I) From: Aneesh Kumar K.V To: David Hildenbrand , Ryan Roberts , Christophe Leroy , "linux-kernel@vger.kernel.org" Cc: "linux-mm@kvack.org" , Andrew Morton , Matthew Wilcox , Russell King , Catalin Marinas , Will Deacon , Dinh Nguyen , Michael Ellerman , Nicholas Piggin , "Naveen N. Rao" , Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexander Gordeev , Gerald Schaefer , Heiko Carstens , Vasily Gorbik , Christian Borntraeger , Sven Schnelle , "David S. Miller" , "linux-arm-kernel@lists.infradead.org" , "linuxppc-dev@lists.ozlabs.org" , "linux-riscv@lists.infradead.org" , "linux-s390@vger.kernel.org" , "sparclinux@vger.kernel.org" Subject: Re: [PATCH v1 01/11] arm/pgtable: define PFN_PTE_SHIFT on arm and arm64 In-Reply-To: <794c1dc3-520c-4030-b0fe-e24782576347@redhat.com> References: <20240122194200.381241-1-david@redhat.com> <20240122194200.381241-2-david@redhat.com> <46080ac1-7789-499b-b7f3-0231d7bd6de7@redhat.com> <6703b648-10ab-4fea-b7f1-75421319465b@arm.com> <3a970289-a72f-418e-b43c-89f67f0d5283@redhat.com> <794c1dc3-520c-4030-b0fe-e24782576347@redhat.com> Date: Wed, 24 Jan 2024 11:15:03 +0530 Message-ID: <8734unqo80.fsf@kernel.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240123_214518_851475_B1F2C9D9 X-CRM114-Status: GOOD ( 13.53 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org RGF2aWQgSGlsZGVuYnJhbmQgPGRhdmlkQHJlZGhhdC5jb20+IHdyaXRlczoKCj4gT24gMjMuMDEu MjQgMTI6MzgsIFJ5YW4gUm9iZXJ0cyB3cm90ZToKPj4gT24gMjMvMDEvMjAyNCAxMTozMSwgRGF2 aWQgSGlsZGVuYnJhbmQgd3JvdGU6Cj4+Pj4+Cj4+Pj4+PiBJZiBoaWdoIGJpdHMgYXJlIHVzZWQg Zm9yCj4+Pj4+PiBzb21ldGhpbmcgZWxzZSwgdGhlbiB3ZSBtaWdodCBwcm9kdWNlIGEgZ2FyYmFn ZSBQVEUgb24gb3ZlcmZsb3csIGJ1dCB0aGF0Cj4+Pj4+PiBzaG91bGRuJ3QgcmVhbGx5IG1hdHRl ciBJIGNvbmNsdWRlZCBmb3IgZm9saW9fcHRlX2JhdGNoKCkgcHVycG9zZXMsIHdlJ2Qgbm90Cj4+ Pj4+PiBkZXRlY3QgImJlbG9uZ3MgdG8gdGhpcyBmb2xpbyBiYXRjaCIgZWl0aGVyIHdheS4KPj4+ Pj4KPj4+Pj4gRXhhY3RseS4KPj4+Pj4KPj4+Pj4+Cj4+Pj4+PiBNYXliZSBpdCdzIGxpa2VseSBj bGVhbmVyIHRvIGFsc28gaGF2ZSBhIGN1c3RvbSBwdGVfbmV4dF9wZm4oKSBvbiBwcGMsIEkganVz dAo+Pj4+Pj4gaG9wZSB0aGF0IHdlIGRvbid0IGxvc2UgYW55IG90aGVyIGFyYml0cmFyeSBQVEUg Yml0cyBieSBkb2luZyB0aGUgcHRlX3BncHJvdCgpLgo+Pj4+Pgo+Pj4+PiBJIGRvbid0IHNlZSB0 aGUgbmVlZCBmb3IgcHBjIHRvIGltcGxlbWVudCBwdGVfbmV4dF9wZm4oKS4KPj4+Pgo+Pj4+IEFn cmVlZC4KPj4+Cj4+PiBTbyBsaWtlbHkgd2Ugc2hvdWxkIHRoZW4gZG8gb24gdG9wIGZvciBwb3dl cnBjICh3aGl0ZXNwYWNlIGRhbWFnZSk6Cj4+Pgo+Pj4gZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJw Yy9tbS9wZ3RhYmxlLmMgYi9hcmNoL3Bvd2VycGMvbW0vcGd0YWJsZS5jCj4+PiBpbmRleCBhMDRh ZTQ0NDlhMDI1Li41NDlhNDQwZWQ3ZjY1IDEwMDY0NAo+Pj4gLS0tIGEvYXJjaC9wb3dlcnBjL21t L3BndGFibGUuYwo+Pj4gKysrIGIvYXJjaC9wb3dlcnBjL21tL3BndGFibGUuYwo+Pj4gQEAgLTIy MCwxMCArMjIwLDcgQEAgdm9pZCBzZXRfcHRlcyhzdHJ1Y3QgbW1fc3RydWN0ICptbSwgdW5zaWdu ZWQgbG9uZyBhZGRyLAo+Pj4gcHRlX3QgKnB0ZXAsCj4+PiAgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBicmVhazsKPj4+ICDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgcHRlcCsrOwo+Pj4gIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBh ZGRyICs9IFBBR0VfU0laRTsKPj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIC8qCj4+ PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICogaW5jcmVtZW50IHRoZSBwZm4uCj4+ PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICovCj4+PiAtwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCBwdGUgPSBwZm5fcHRlKHB0ZV9wZm4ocHRlKSArIDEsIHB0ZV9wZ3Byb3Qo KHB0ZSkpKTsKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHB0ZSA9IHB0ZV9uZXh0 X3BmbihwdGUpOwo+Pj4gIMKgwqDCoMKgwqDCoMKgIH0KPj4+ICDCoH0KPj4gCj4+IExvb2tzIGxp a2UgY29tbWl0IDQ3YjhkZWY5MzU4YyAoInBvd2VycGMvbW06IEF2b2lkIGNhbGxpbmcKPj4gYXJj aF9lbnRlci9sZWF2ZV9sYXp5X21tdSgpIGluIHNldF9wdGVzIikgY2hhbmdlZCBmcm9tIGRvaW5n IHRoZSBzaW1wbGUKPj4gaW5jcmVtZW50IHRvIHRoaXMgbW9yZSBjb21wbGV4IGFwcHJvYWNoLCBi dXQgdGhlIGxvZyBkb2Vzbid0IHNheSB3aHkuCj4KPiBAQW5lZXNoLCB3YXMgdGhhdCBjaGFuZ2Ug b24gcHVycG9zZT8KPgoKQmVjYXVzZSB3ZSBoYWQgYSBidWcgd2l0aCB0aGUgcGF0Y2ggdGhhdCBp bnRyb2R1Y2VkIHRoZSBjaGFuZ2UgYW5kIHRoYXQKbGluZSB3YXMgY29uZnVzaW5nLiBUaGUgcmln aHQgdGhpbmcgc2hvdWxkIGhhdmUgYmVlbiB0byBhZGQKcHRlX3Bmbl9uZXh0KCkgdG8gbWFrZSBp dCBjbGVhci4gSXQgd2FzIGNvbmZ1c2luZyBiZWNhdXNlIG5vdCBhbGwgcHRlCmZvcm1hdCBoYWQg cGZuIGF0IFBBR0VfU0hJRlQgb2Zmc2V0IChldmVuIHRob3VnaCB3ZSBkaWQgdXNlIHRoZSBjb3Jy ZWN0ClBURV9SUE5fU0hJRlQgaW4gdGhpcyBzcGVjaWZpYyBjYXNlKS4gVG8gbWFrZSBpdCBzaW1w bGVyIEkgZW5kZWQgdXAKc3dpdGNoaW5nIHRoYXQgbGluZSB0byBwdGVfcGZuKHB0ZSkgKyAxIC4K Ci1hbmVlc2gKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5m cmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xp bnV4LWFybS1rZXJuZWwK