>>>> The following patch adds support for 256KB PAGE_SIZE on ppc44x- >>>> based boards. >>>> The applications to be run on the kernel with 256KB PAGE_SIZE have >>>> to be >>>> built using the modified version of binutils, where the MAXPAGESIZE >>>> definition is set to 0x40000 (as opposite to standard 0x10000). >>> >>> Have you measured the performance using a 64kB page size? If so, how >>> does it compare with the 256kB page size? >> >> I was wondering about this as well? Isn't this technically in >> violation of the ABI? > > No it isn't the violation. > > As stated in "System V ABI. PowerPC processor supplement" > (on which the "Linux Standard Base Core Specification for PPC32" > is based): " ... Virtual addresses and file offsets for the PowerPC > processor family > segments are congruent modulo 64 Kbytes (0x10000) or larger powers of > 2...". > > So, 256 Kbytes is just a larger case.
If I understand you correctly, the only problem with existing binaries is that the ELF segments are aligned to 64kB, but not necessarily to 256kB. Couldn't you handle this as a special case, for example by mapping the "ends" of such an unaligned segment with normal 4kB pages? That way, a new binutils isn't required to get a big part of the benefit, and importantly, existing shared library binaries will work with your apps. Segher _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev