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