[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <53384dc9-38c9-4d05-bcde-a3552fbed7ac@app.fastmail.com>
Date: Sun, 08 Sep 2024 12:26:09 +0100
From: "Jiaxun Yang" <jiaxun.yang@...goat.com>
To: "Charlie Jenkins" <charlie@...osinc.com>,
"Arnd Bergmann" <arnd@...db.de>,
"Richard Henderson" <richard.henderson@...aro.org>,
"Ivan Kokshaysky" <ink@...assic.park.msu.ru>,
"Matt Turner" <mattst88@...il.com>, "Vineet Gupta" <vgupta@...nel.org>,
"Russell King" <linux@...linux.org.uk>, "Guo Ren" <guoren@...nel.org>,
"Huacai Chen" <chenhuacai@...nel.org>, "Xuerui Wang" <kernel@...0n.name>,
"Thomas Bogendoerfer" <tsbogend@...ha.franken.de>,
"James Bottomley" <James.Bottomley@...senpartnership.com>,
"Helge Deller" <deller@....de>, "Michael Ellerman" <mpe@...erman.id.au>,
"Nicholas Piggin" <npiggin@...il.com>,
"Christophe Leroy" <christophe.leroy@...roup.eu>,
"Naveen N Rao" <naveen@...nel.org>,
"Alexander Gordeev" <agordeev@...ux.ibm.com>,
"Gerald Schaefer" <gerald.schaefer@...ux.ibm.com>,
"Heiko Carstens" <hca@...ux.ibm.com>,
"Vasily Gorbik" <gor@...ux.ibm.com>,
"Christian Borntraeger" <borntraeger@...ux.ibm.com>,
"Sven Schnelle" <svens@...ux.ibm.com>,
"Yoshinori Sato" <ysato@...rs.sourceforge.jp>,
"Rich Felker" <dalias@...c.org>,
"John Paul Adrian Glaubitz" <glaubitz@...sik.fu-berlin.de>,
"David S . Miller" <davem@...emloft.net>,
"Andreas Larsson" <andreas@...sler.com>,
"Thomas Gleixner" <tglx@...utronix.de>, "Ingo Molnar" <mingo@...hat.com>,
"Borislav Petkov" <bp@...en8.de>,
"Dave Hansen" <dave.hansen@...ux.intel.com>, x86@...nel.org,
"H. Peter Anvin" <hpa@...or.com>, "Andy Lutomirski" <luto@...nel.org>,
"Peter Zijlstra" <peterz@...radead.org>,
"Muchun Song" <muchun.song@...ux.dev>,
"Andrew Morton" <akpm@...ux-foundation.org>,
"Liam R. Howlett" <Liam.Howlett@...cle.com>,
"Vlastimil Babka" <vbabka@...e.cz>,
"Lorenzo Stoakes" <lorenzo.stoakes@...cle.com>,
"Shuah Khan" <shuah@...nel.org>, "Christoph Hellwig" <hch@...radead.org>,
"Michal Hocko" <mhocko@...e.com>,
"Kirill A. Shutemov" <kirill@...temov.name>,
"Chris Torek" <chris.torek@...il.com>
Cc: linux-arch@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-alpha@...r.kernel.org, linux-snps-arc@...ts.infradead.org,
linux-arm-kernel@...ts.infradead.org, linux-csky@...r.kernel.org,
loongarch@...ts.linux.dev,
"linux-mips@...r.kernel.org" <linux-mips@...r.kernel.org>,
linux-parisc@...r.kernel.org, linuxppc-dev@...ts.ozlabs.org,
linux-s390@...r.kernel.org, linux-sh@...r.kernel.org,
sparclinux@...r.kernel.org, linux-mm@...ck.org,
linux-kselftest@...r.kernel.org, linux-abi-devel@...ts.sourceforge.net
Subject: Re: [PATCH RFC v3 0/2] mm: Introduce ADDR_LIMIT_47BIT personality flag
在2024年9月5日九月 下午10:15,Charlie Jenkins写道:
> Some applications rely on placing data in free bits addresses allocated
> by mmap. Various architectures (eg. x86, arm64, powerpc) restrict the
> address returned by mmap to be less than the 48-bit address space,
> unless the hint address uses more than 47 bits (the 48th bit is reserved
> for the kernel address space).
>
> The riscv architecture needs a way to similarly restrict the virtual
> address space. On the riscv port of OpenJDK an error is thrown if
> attempted to run on the 57-bit address space, called sv57 [1]. golang
> has a comment that sv57 support is not complete, but there are some
> workarounds to get it to mostly work [2].
>
> These applications work on x86 because x86 does an implicit 47-bit
> restriction of mmap() address that contain a hint address that is less
> than 48 bits.
>
> Instead of implicitly restricting the address space on riscv (or any
> current/future architecture), provide a flag to the personality syscall
> that can be used to ensure an application works in any arbitrary VA
> space. A similar feature has already been implemented by the personality
> syscall in ADDR_LIMIT_32BIT.
>
> This flag will also allow seemless compatibility between all
> architectures, so applications like Go and OpenJDK that use bits in a
> virtual address can request the exact number of bits they need in a
> generic way. The flag can be checked inside of vm_unmapped_area() so
> that this flag does not have to be handled individually by each
> architecture.
Tested-by: Jiaxun Yang <jiaxun.yang@...goat.com>
Tested on MIPS VA 48 system, fixed pointer tagging on mozjs!
Thanks!
[...]
--
- Jiaxun
Powered by blists - more mailing lists