Are 256K page sizes really a thing (on ppc64le in particular)?
LEROY Christophe
christophe.leroy2 at cs-soprasteria.com
Sun Sep 29 02:38:13 AEST 2024
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.
Christophe
More information about the Linuxppc-dev
mailing list