Charlie Jenkins charlie@rivosinc.com writes:
On Wed, Sep 11, 2024 at 11:38:55PM +1000, Michael Ellerman wrote:
Geert Uytterhoeven geert@linux-m68k.org writes:
Hi Christophe,
On Tue, Sep 10, 2024 at 11:21 AM Christophe Leroy christophe.leroy@csgroup.eu wrote:
> diff --git a/include/uapi/linux/personality.h b/include/uapi/linux/personality.h > index 49796b7756af..cd3b8c154d9b 100644 > --- a/include/uapi/linux/personality.h > +++ b/include/uapi/linux/personality.h > @@ -22,6 +22,7 @@ enum { > WHOLE_SECONDS = 0x2000000, > STICKY_TIMEOUTS = 0x4000000, > ADDR_LIMIT_3GB = 0x8000000, > + ADDR_LIMIT_47BIT = 0x10000000, > };
I wonder if ADDR_LIMIT_128T would be clearer?
I don't follow, what does 128T represent?
128T is 128 Terabytes, that's the maximum size achievable with a 47BIT address, that naming would be more consistant with the ADDR_LIMIT_3GB just above that means a 3 Gigabytes limit.
Hence ADDR_LIMIT_128TB?
Yes it should be 128TB. Typo by me.
47BIT was selected because the usecase for this flag is for applications that want to store data in the upper bits of a virtual address space. In this case, how large the virtual address space is irrelevant, and only the number of bits that are being used, and hence the number of bits that are free.
Yeah I understand that's how you came to the problem.
But for the user API I think using the size of the address space is clearer, easier to explain, and matches the existing ADDR_LIMIT_3GB.
cheers