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