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 4AEFE19EEC8; Wed, 11 Sep 2024 18:21:39 +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=1726078900; cv=none; b=ADxxuzWT9kup5+yhfqr9bgy7WdBQdJg57MMADQ11vdPc8Sst1N2lMRHpBJcsn0+JQq55oD6sKqHCdtig5ePBU92NQwMjHv4Lpg9STS+e0grMY25piFwuZCXZYAnJ6ITAmRPKbwOtzguP6lI/QWpqNj1B42kYks1MTlPX61hc/TU= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1726078900; c=relaxed/simple; bh=2cZas4SimbOELK54ILhf2k9/V2LxmAALpH5ubeNMXEs=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=kP/hclgiLFbxRWj91GNSHxe6sYCCLMux96HnYWTDvZ9NcocJKq5MrCWckIlfIN0+rhF6hZS2dNmpTyqSvL0GYdB/cUnozR6jSj1UIKg5oqxS3nCZlLjqPEGY6+EDB0qqzgw+lUkRDPPDYV6pzJKLGTkQBD/HD3VtyscqUWQhlGI= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3AB7BC4CEC0; Wed, 11 Sep 2024 18:21:30 +0000 (UTC) Date: Wed, 11 Sep 2024 19:21:27 +0100 From: Catalin Marinas To: Charlie Jenkins Cc: "Liam R. Howlett" , Arnd Bergmann , guoren , Richard Henderson , Ivan Kokshaysky , Matt Turner , Vineet Gupta , Russell King , Huacai Chen , WANG Xuerui , Thomas Bogendoerfer , "James E . J . Bottomley" , Helge Deller , Michael Ellerman , Nicholas Piggin , Christophe Leroy , Naveen N Rao , Alexander Gordeev , Gerald Schaefer , Heiko Carstens , Vasily Gorbik , Christian Borntraeger , Sven Schnelle , Yoshinori Sato , Rich Felker , John Paul Adrian Glaubitz , "David S . Miller" , Andreas Larsson , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , x86@kernel.org, "H. Peter Anvin" , Andy Lutomirski , Peter Zijlstra , Muchun Song , Andrew Morton , Vlastimil Babka , Lorenzo Stoakes , shuah , Christoph Hellwig , Michal Hocko , "Kirill A. Shutemov" , Chris Torek , Linux-Arch , linux-kernel@vger.kernel.org, linux-alpha@vger.kernel.org, linux-snps-arc@lists.infradead.org, linux-arm-kernel@lists.infradead.org, "linux-csky@vger.kernel.org" , loongarch@lists.linux.dev, linux-mips@vger.kernel.org, linux-parisc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-s390@vger.kernel.org, linux-sh@vger.kernel.org, sparclinux@vger.kernel.org, linux-mm@kvack.org, linux-kselftest@vger.kernel.org, linux-abi-devel@lists.sourceforge.net Subject: Re: [PATCH RFC v3 1/2] mm: Add personality flag to limit address to 47 bits Message-ID: References: <20240905-patches-below_hint_mmap-v3-0-3cd5564efbbb@rivosinc.com> <20240905-patches-below_hint_mmap-v3-1-3cd5564efbbb@rivosinc.com> <9fc4746b-8e9d-4a75-b966-e0906187e6b7@app.fastmail.com> Precedence: bulk X-Mailing-List: linux-alpha@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: On Tue, Sep 10, 2024 at 05:45:07PM -0700, Charlie Jenkins wrote: > On Tue, Sep 10, 2024 at 03:08:14PM -0400, Liam R. Howlett wrote: > > * Catalin Marinas [240906 07:44]: > > > On Fri, Sep 06, 2024 at 09:55:42AM +0000, Arnd Bergmann wrote: > > > > On Fri, Sep 6, 2024, at 09:14, Guo Ren wrote: > > > > > On Fri, Sep 6, 2024 at 3:18 PM Arnd Bergmann wrote: > > > > >> It's also unclear to me how we want this flag to interact with > > > > >> the existing logic in arch_get_mmap_end(), which attempts to > > > > >> limit the default mapping to a 47-bit address space already. > > > > > > > > > > To optimize RISC-V progress, I recommend: > > > > > > > > > > Step 1: Approve the patch. > > > > > Step 2: Update Go and OpenJDK's RISC-V backend to utilize it. > > > > > Step 3: Wait approximately several iterations for Go & OpenJDK > > > > > Step 4: Remove the 47-bit constraint in arch_get_mmap_end() Point 4 is an ABI change. What guarantees that there isn't still software out there that relies on the old behaviour? > > > > I really want to first see a plausible explanation about why > > > > RISC-V can't just implement this using a 47-bit DEFAULT_MAP_WINDOW > > > > like all the other major architectures (x86, arm64, powerpc64), > > > > > > FWIW arm64 actually limits DEFAULT_MAP_WINDOW to 48-bit in the default > > > configuration. We end up with a 47-bit with 16K pages but for a > > > different reason that has to do with LPA2 support (I doubt we need this > > > for the user mapping but we need to untangle some of the macros there; > > > that's for a separate discussion). > > > > > > That said, we haven't encountered any user space problems with a 48-bit > > > DEFAULT_MAP_WINDOW. So I also think RISC-V should follow a similar > > > approach (47 or 48 bit default limit). Better to have some ABI > > > consistency between architectures. One can still ask for addresses above > > > this default limit via mmap(). > > > > I think that is best as well. > > > > Can we please just do what x86 and arm64 does? > > I responded to Arnd in the other thread, but I am still not convinced > that the solution that x86 and arm64 have selected is the best solution. > The solution of defaulting to 47 bits does allow applications the > ability to get addresses that are below 47 bits. However, due to > differences across architectures it doesn't seem possible to have all > architectures default to the same value. Additionally, this flag will be > able to help users avoid potential bugs where a hint address is passed > that causes upper bits of a VA to be used. The reason we added this limit on arm64 is that we noticed programs using the top 8 bits of a 64-bit pointer for additional information. IIRC, it wasn't even openJDK but some JavaScript JIT. We could have taught those programs of a new flag but since we couldn't tell how many are out there, it was the safest to default to a smaller limit and opt in to the higher one. Such opt-in is via mmap() but if you prefer a prctl() flag, that's fine by me as well (though I think this should be opt-in to higher addresses rather than opt-out of the higher addresses). -- Catalin 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 81E95EE499C for ; Wed, 11 Sep 2024 18:22:32 +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:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=figGGWcMdQDHqNIVpLZfdchTgeuFOkt0jihZZFgaZ7E=; b=ZmQTIN3Y7f1i7c 0DdYQ2gIYVGZtD1zp5Ewez5u1DQDInNiT9ZoeXaXeXNKAjkE84GGIIOScRRsDntvM/Kc1gsJFgpPk vI+LFF9OYsZY0cGX9p6v0IryQdiInw5xZ7YpHYORQE1JjIXIABRTSZLABFzGS4tQhwCnlPA0hjonK DsanUhZASjLm+G3dX0KYkUdW83VeyDkvpzvgC2d5vzIcuEgGy466Q34015teeZVlbxcVR3sDNUFBQ zaVq4bk0txTeo1ShV0FZY+43hP9zVmosB0Cx702ytUggHIw7pPJShUBQlgOqqysGf0Xnv6mC4Kjiw XZdjD8qxBe9dI8vyW8lQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1soRz5-0000000AdXk-48Wv; Wed, 11 Sep 2024 18:22:31 +0000 Received: from nyc.source.kernel.org ([2604:1380:45d1:ec00::3]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1soRyI-0000000AdKu-1ciK; Wed, 11 Sep 2024 18:21:43 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by nyc.source.kernel.org (Postfix) with ESMTP id C7BBCA45341; Wed, 11 Sep 2024 18:21:32 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3AB7BC4CEC0; Wed, 11 Sep 2024 18:21:30 +0000 (UTC) Date: Wed, 11 Sep 2024 19:21:27 +0100 From: Catalin Marinas To: Charlie Jenkins Cc: "Liam R. Howlett" , Arnd Bergmann , guoren , Richard Henderson , Ivan Kokshaysky , Matt Turner , Vineet Gupta , Russell King , Huacai Chen , WANG Xuerui , Thomas Bogendoerfer , "James E . J . Bottomley" , Helge Deller , Michael Ellerman , Nicholas Piggin , Christophe Leroy , Naveen N Rao , Alexander Gordeev , Gerald Schaefer , Heiko Carstens , Vasily Gorbik , Christian Borntraeger , Sven Schnelle , Yoshinori Sato , Rich Felker , John Paul Adrian Glaubitz , "David S . Miller" , Andreas Larsson , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , x86@kernel.org, "H. Peter Anvin" , Andy Lutomirski , Peter Zijlstra , Muchun Song , Andrew Morton , Vlastimil Babka , Lorenzo Stoakes , shuah , Christoph Hellwig , Michal Hocko , "Kirill A. Shutemov" , Chris Torek , Linux-Arch , linux-kernel@vger.kernel.org, linux-alpha@vger.kernel.org, linux-snps-arc@lists.infradead.org, linux-arm-kernel@lists.infradead.org, "linux-csky@vger.kernel.org" , loongarch@lists.linux.dev, linux-mips@vger.kernel.org, linux-parisc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-s390@vger.kernel.org, linux-sh@vger.kernel.org, sparclinux@vger.kernel.org, linux-mm@kvack.org, linux-kselftest@vger.kernel.org, linux-abi-devel@lists.sourceforge.net Subject: Re: [PATCH RFC v3 1/2] mm: Add personality flag to limit address to 47 bits Message-ID: References: <20240905-patches-below_hint_mmap-v3-0-3cd5564efbbb@rivosinc.com> <20240905-patches-below_hint_mmap-v3-1-3cd5564efbbb@rivosinc.com> <9fc4746b-8e9d-4a75-b966-e0906187e6b7@app.fastmail.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240911_112142_577555_ADA451C1 X-CRM114-Status: GOOD ( 36.81 ) X-BeenThere: linux-snps-arc@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux on Synopsys ARC Processors List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-snps-arc" Errors-To: linux-snps-arc-bounces+linux-snps-arc=archiver.kernel.org@lists.infradead.org T24gVHVlLCBTZXAgMTAsIDIwMjQgYXQgMDU6NDU6MDdQTSAtMDcwMCwgQ2hhcmxpZSBKZW5raW5z IHdyb3RlOgo+IE9uIFR1ZSwgU2VwIDEwLCAyMDI0IGF0IDAzOjA4OjE0UE0gLTA0MDAsIExpYW0g Ui4gSG93bGV0dCB3cm90ZToKPiA+ICogQ2F0YWxpbiBNYXJpbmFzIDxjYXRhbGluLm1hcmluYXNA YXJtLmNvbT4gWzI0MDkwNiAwNzo0NF06Cj4gPiA+IE9uIEZyaSwgU2VwIDA2LCAyMDI0IGF0IDA5 OjU1OjQyQU0gKzAwMDAsIEFybmQgQmVyZ21hbm4gd3JvdGU6Cj4gPiA+ID4gT24gRnJpLCBTZXAg NiwgMjAyNCwgYXQgMDk6MTQsIEd1byBSZW4gd3JvdGU6Cj4gPiA+ID4gPiBPbiBGcmksIFNlcCA2 LCAyMDI0IGF0IDM6MTjigK9QTSBBcm5kIEJlcmdtYW5uIDxhcm5kQGFybmRiLmRlPiB3cm90ZToK PiA+ID4gPiA+PiBJdCdzIGFsc28gdW5jbGVhciB0byBtZSBob3cgd2Ugd2FudCB0aGlzIGZsYWcg dG8gaW50ZXJhY3Qgd2l0aAo+ID4gPiA+ID4+IHRoZSBleGlzdGluZyBsb2dpYyBpbiBhcmNoX2dl dF9tbWFwX2VuZCgpLCB3aGljaCBhdHRlbXB0cyB0bwo+ID4gPiA+ID4+IGxpbWl0IHRoZSBkZWZh dWx0IG1hcHBpbmcgdG8gYSA0Ny1iaXQgYWRkcmVzcyBzcGFjZSBhbHJlYWR5Lgo+ID4gPiA+ID4K PiA+ID4gPiA+IFRvIG9wdGltaXplIFJJU0MtViBwcm9ncmVzcywgSSByZWNvbW1lbmQ6Cj4gPiA+ ID4gPgo+ID4gPiA+ID4gU3RlcCAxOiBBcHByb3ZlIHRoZSBwYXRjaC4KPiA+ID4gPiA+IFN0ZXAg MjogVXBkYXRlIEdvIGFuZCBPcGVuSkRLJ3MgUklTQy1WIGJhY2tlbmQgdG8gdXRpbGl6ZSBpdC4K PiA+ID4gPiA+IFN0ZXAgMzogV2FpdCBhcHByb3hpbWF0ZWx5IHNldmVyYWwgaXRlcmF0aW9ucyBm b3IgR28gJiBPcGVuSkRLCj4gPiA+ID4gPiBTdGVwIDQ6IFJlbW92ZSB0aGUgNDctYml0IGNvbnN0 cmFpbnQgaW4gYXJjaF9nZXRfbW1hcF9lbmQoKQoKUG9pbnQgNCBpcyBhbiBBQkkgY2hhbmdlLiBX aGF0IGd1YXJhbnRlZXMgdGhhdCB0aGVyZSBpc24ndCBzdGlsbApzb2Z0d2FyZSBvdXQgdGhlcmUg dGhhdCByZWxpZXMgb24gdGhlIG9sZCBiZWhhdmlvdXI/Cgo+ID4gPiA+IEkgcmVhbGx5IHdhbnQg dG8gZmlyc3Qgc2VlIGEgcGxhdXNpYmxlIGV4cGxhbmF0aW9uIGFib3V0IHdoeQo+ID4gPiA+IFJJ U0MtViBjYW4ndCBqdXN0IGltcGxlbWVudCB0aGlzIHVzaW5nIGEgNDctYml0IERFRkFVTFRfTUFQ X1dJTkRPVwo+ID4gPiA+IGxpa2UgYWxsIHRoZSBvdGhlciBtYWpvciBhcmNoaXRlY3R1cmVzICh4 ODYsIGFybTY0LCBwb3dlcnBjNjQpLAo+ID4gPiAKPiA+ID4gRldJVyBhcm02NCBhY3R1YWxseSBs aW1pdHMgREVGQVVMVF9NQVBfV0lORE9XIHRvIDQ4LWJpdCBpbiB0aGUgZGVmYXVsdAo+ID4gPiBj b25maWd1cmF0aW9uLiBXZSBlbmQgdXAgd2l0aCBhIDQ3LWJpdCB3aXRoIDE2SyBwYWdlcyBidXQg Zm9yIGEKPiA+ID4gZGlmZmVyZW50IHJlYXNvbiB0aGF0IGhhcyB0byBkbyB3aXRoIExQQTIgc3Vw cG9ydCAoSSBkb3VidCB3ZSBuZWVkIHRoaXMKPiA+ID4gZm9yIHRoZSB1c2VyIG1hcHBpbmcgYnV0 IHdlIG5lZWQgdG8gdW50YW5nbGUgc29tZSBvZiB0aGUgbWFjcm9zIHRoZXJlOwo+ID4gPiB0aGF0 J3MgZm9yIGEgc2VwYXJhdGUgZGlzY3Vzc2lvbikuCj4gPiA+IAo+ID4gPiBUaGF0IHNhaWQsIHdl IGhhdmVuJ3QgZW5jb3VudGVyZWQgYW55IHVzZXIgc3BhY2UgcHJvYmxlbXMgd2l0aCBhIDQ4LWJp dAo+ID4gPiBERUZBVUxUX01BUF9XSU5ET1cuIFNvIEkgYWxzbyB0aGluayBSSVNDLVYgc2hvdWxk IGZvbGxvdyBhIHNpbWlsYXIKPiA+ID4gYXBwcm9hY2ggKDQ3IG9yIDQ4IGJpdCBkZWZhdWx0IGxp bWl0KS4gQmV0dGVyIHRvIGhhdmUgc29tZSBBQkkKPiA+ID4gY29uc2lzdGVuY3kgYmV0d2VlbiBh cmNoaXRlY3R1cmVzLiBPbmUgY2FuIHN0aWxsIGFzayBmb3IgYWRkcmVzc2VzIGFib3ZlCj4gPiA+ IHRoaXMgZGVmYXVsdCBsaW1pdCB2aWEgbW1hcCgpLgo+ID4gCj4gPiBJIHRoaW5rIHRoYXQgaXMg YmVzdCBhcyB3ZWxsLgo+ID4gCj4gPiBDYW4gd2UgcGxlYXNlIGp1c3QgZG8gd2hhdCB4ODYgYW5k IGFybTY0IGRvZXM/Cj4gCj4gSSByZXNwb25kZWQgdG8gQXJuZCBpbiB0aGUgb3RoZXIgdGhyZWFk LCBidXQgSSBhbSBzdGlsbCBub3QgY29udmluY2VkCj4gdGhhdCB0aGUgc29sdXRpb24gdGhhdCB4 ODYgYW5kIGFybTY0IGhhdmUgc2VsZWN0ZWQgaXMgdGhlIGJlc3Qgc29sdXRpb24uCj4gVGhlIHNv bHV0aW9uIG9mIGRlZmF1bHRpbmcgdG8gNDcgYml0cyBkb2VzIGFsbG93IGFwcGxpY2F0aW9ucyB0 aGUKPiBhYmlsaXR5IHRvIGdldCBhZGRyZXNzZXMgdGhhdCBhcmUgYmVsb3cgNDcgYml0cy4gSG93 ZXZlciwgZHVlIHRvCj4gZGlmZmVyZW5jZXMgYWNyb3NzIGFyY2hpdGVjdHVyZXMgaXQgZG9lc24n dCBzZWVtIHBvc3NpYmxlIHRvIGhhdmUgYWxsCj4gYXJjaGl0ZWN0dXJlcyBkZWZhdWx0IHRvIHRo ZSBzYW1lIHZhbHVlLiBBZGRpdGlvbmFsbHksIHRoaXMgZmxhZyB3aWxsIGJlCj4gYWJsZSB0byBo ZWxwIHVzZXJzIGF2b2lkIHBvdGVudGlhbCBidWdzIHdoZXJlIGEgaGludCBhZGRyZXNzIGlzIHBh c3NlZAo+IHRoYXQgY2F1c2VzIHVwcGVyIGJpdHMgb2YgYSBWQSB0byBiZSB1c2VkLgoKVGhlIHJl YXNvbiB3ZSBhZGRlZCB0aGlzIGxpbWl0IG9uIGFybTY0IGlzIHRoYXQgd2Ugbm90aWNlZCBwcm9n cmFtcwp1c2luZyB0aGUgdG9wIDggYml0cyBvZiBhIDY0LWJpdCBwb2ludGVyIGZvciBhZGRpdGlv bmFsIGluZm9ybWF0aW9uLgpJSVJDLCBpdCB3YXNuJ3QgZXZlbiBvcGVuSkRLIGJ1dCBzb21lIEph dmFTY3JpcHQgSklULiBXZSBjb3VsZCBoYXZlCnRhdWdodCB0aG9zZSBwcm9ncmFtcyBvZiBhIG5l dyBmbGFnIGJ1dCBzaW5jZSB3ZSBjb3VsZG4ndCB0ZWxsIGhvdyBtYW55CmFyZSBvdXQgdGhlcmUs IGl0IHdhcyB0aGUgc2FmZXN0IHRvIGRlZmF1bHQgdG8gYSBzbWFsbGVyIGxpbWl0IGFuZCBvcHQK aW4gdG8gdGhlIGhpZ2hlciBvbmUuIFN1Y2ggb3B0LWluIGlzIHZpYSBtbWFwKCkgYnV0IGlmIHlv dSBwcmVmZXIgYQpwcmN0bCgpIGZsYWcsIHRoYXQncyBmaW5lIGJ5IG1lIGFzIHdlbGwgKHRob3Vn aCBJIHRoaW5rIHRoaXMgc2hvdWxkIGJlCm9wdC1pbiB0byBoaWdoZXIgYWRkcmVzc2VzIHJhdGhl ciB0aGFuIG9wdC1vdXQgb2YgdGhlIGhpZ2hlciBhZGRyZXNzZXMpLgoKLS0gCkNhdGFsaW4KCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LXNucHMt YXJjIG1haWxpbmcgbGlzdApsaW51eC1zbnBzLWFyY0BsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6 Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtc25wcy1hcmMK