Hi, by incident one of my other kernel adventures leads me here, although it might turn out to be off topic, as i know too few about powerpc.
Are there machines in use which really have regular memory page size larger than 32 KiB ? I read in Linux source arch/powerpc/include/asm/page.h this statement ------------------------------------------------------------------- /* * On regular PPC32 page size is 4K (but we support 4K/16K/64K/256K pages * on PPC44x and 4K/16K on 8xx). For PPC64 we support either 4K or 64K software * page size. When using 64K pages however, whether we are really supporting * 64K pages in HW or not is irrelevant to those definitions. */ #define PAGE_SHIFT CONFIG_PPC_PAGE_SHIFT #define PAGE_SIZE (ASM_CONST(1) << PAGE_SHIFT) ------------------------------------------------------------------------- Surely off topic: Are there perhaps still machines of arches: mips, parisc, ia64, microblaze, sh, hexagon with PAGE_SHIFT >= 16 ? I ask because i am implementing a .readpages() method for zisofs in fs/isofs/compress.c because currently for a compression block of 32 KiB, 8 decompressions are made to fill the corresponding 4 KiB x86 pages. With 128 KiB compression blocks this becomes accordingly worse. Reason is that mm/readahead sabotages the own readaround efforts of zisofs_readpage() by holding the pages of interest already locked. I can well test the case that PAGE_SHIFT is less than 15, and am confident that it will work for exactly 15 too. But in case of (PAGE_SHIFT > zisofs_block_shift) different code will get executed. I understand it was written in 2001. Given the bitrot potential of 19 years, it seems necessary to test that code path, if there is a realistic chance to meet this situation in practice. Have a nice day :) Thomas