Are 256K page sizes really a thing (on ppc64le in particular)?
Michael Ellerman
mpe at ellerman.id.au
Sun Sep 29 21:24:36 AEST 2024
LEROY Christophe <christophe.leroy2 at cs-soprasteria.com> writes:
> Le 28/09/2024 à 18:08, Florian Weimer a écrit :
>> I'm working on adding a <sys/pagesize.h> header to glibc, so that
>> programmers can easily determine the range of possible page sizes for a
>> particular target, for things like pointer tagging and mapped file
>> alignment requirements.
>>
>> I'm not familiar from the Kconfig system, but as far as I can tell, this
>> ensures that 256 KiB pages are only available on 44x machines:
>>
>> arch/powerpc/Kconfig-config PPC_256K_PAGES
>> arch/powerpc/Kconfig- bool "256k page size (Requires non-standard binutils settings)"
>> arch/powerpc/Kconfig- depends on 44x && !PPC_47x
>> arch/powerpc/Kconfig: select HAVE_PAGE_SIZE_256KB
>>
>> And none of the 44x configurations set 64BIT, so it's all 32-bit.
>>
>> Would it still make sense to recommend 256 KiB file alignment to
>> programmers on 32-bit PowerPC, or should <sys/pagesize.h> pretend
>> that the maximum page size is 64 KiB?
>>
>
> For ppc64le it is definitely not a thing.
>
> As you noticed, 256K pages are only for 44x which is a 32 bits
> processor, and as mentioned in the CONFIG_PPC_256K_PAGES help:
>
> The kernel will only be able to run applications that have been
> compiled with '-zmax-page-size' set to 256K (the default is 64K) using
> binutils later than 2.17.50.0.3, or by patching the ELF_MAXPAGESIZE
> definition from 0x10000 to 0x40000 in older versions.
>
>
> So 256 Kbytes pages is a corner case and I think the default max
> alignment should remain 64 Kbytes.
I agree.
cheers
More information about the Linuxppc-dev
mailing list