On Wed, Jun 29, 2005 at 12:13:04PM -0700, Dave Hansen wrote: > This is a quick and dirty release. We need to figure out where > SPARSEMEM_EXTREME should be the only option available, and we should > dump the normal option. > > I expected SPARSEMEM_EXTREME to be slower, but I can't produce any real > evidence from any benchmarks that it is. It bloats .text by about 7k > out of 2.7MB, which I think I can live with. > > This patch set makes SPARSEMEM_EXTREME a user-configurable option, right > next to the SPARSEMEM "choice". Can everybody give it a run, on and > off, and see if it makes any kind of performance impact? > > http://sr71.net/patches/2.6.13/ Heya Dave, Here are the cross compile results from this patch. The following errors/warnings would be added over the stock 2.6.13-rc1 kernel. In particular note that this patch fails to compile on X86_64 and Sparc. On X86_64 it fails due to a missing declaration of MAP_IMMOVABLE. On Sparc, I think it's failing due to undefined references to 'pfn_to_nid' in mm/slab.c, mm/page_alloc.c, mm/fremap.c, etc. === ARM CROSS-COMPILATION === +mm/memory.c:1273: warning: passing arg 1 of `v4wb_clear_user_page' makes pointer from integer without a cast +mm/page_alloc.c:2221: warning: unused variable `i' +mm/page_alloc.c:2233: warning: unused variable `batch' === ALPHA CROSS-COMPILATION === +mm/memory.c:1273: warning: passing arg 1 of `clear_page' makes pointer from integer without a cast +mm/page_alloc.c:2221: warning: unused variable `i' +mm/page_alloc.c:2233: warning: unused variable `batch' === SPARC64 CROSS-COMPILATION === +fs/aio.c:135: error: `MAP_IMMOVABLE' undeclared (first use in this function) +include/linux/mman.h:65: error: (Each undeclared identifier is reported only once +include/linux/mman.h:65: error: `MAP_IMMOVABLE' undeclared (first use in this function) +include/linux/mman.h:65: error: for each function it appears in.) +mm/memory.c:1273: warning: passing arg 1 of `clear_user_page' makes pointer from integer without a cast +mm/page_alloc.c:2221: warning: unused variable `i' +mm/page_alloc.c:2233: warning: unused variable `batch' === PPC- REGRESS CROSS-COMPILATION === +mm/memory.c:1273: warning: passing arg 1 of `clear_user_page' makes pointer from integer without a cast +mm/page_alloc.c:2221: warning: unused variable `i' +mm/page_alloc.c:2233: warning: unused variable `batch' === SPARC CROSS-COMPILATION === STATUS CHANGED: 'PASS' --> 'FAIL' +fs/aio.c:135: error: `MAP_IMMOVABLE' undeclared (first use in this function) +include/linux/mman.h:65: error: (Each undeclared identifier is reported only once +include/linux/mman.h:65: error: `MAP_IMMOVABLE' undeclared (first use in this function) +include/linux/mman.h:65: error: for each function it appears in.) +mm/page_alloc.c:2221: warning: unused variable `i' +mm/page_alloc.c:2233: warning: unused variable `batch' -RESULT: PASS +RESULT: FAIL === IA64 CROSS-COMPILATION === +arch/ia64/mm/discontig.c:587: error: invalid operands to binary + -*** Warning: "per_cpu____sn_nodepda" [arch/ia64/sn/kernel/xpc.ko] has no CRC! -*** Warning: "per_cpu____sn_nodepda" [drivers/char/mmtimer.ko] has no CRC! *** Warning: drivers/bluetooth/bluecard_cs ids 320 bad size (each on 76) *** Warning: drivers/bluetooth/bt3c_cs ids 160 bad size (each on 76) *** Warning: drivers/bluetooth/btuart_cs ids 80 bad size (each on 76) +arch/ia64/mm/discontig.c:586: warning: comparison between pointer and integer +arch/ia64/mm/discontig.c:586: warning: passing arg 1 of `ia64_pfn_valid' makesinteger from pointer without a cast +mm/memory.c:1273: warning: passing arg 1 of `clear_page' makes pointer from integer without a cast +mm/page_alloc.c:2221: warning: unused variable `i' +mm/page_alloc.c:2233: warning: unused variable `batch' === IA32 COMPILE REGRESS CROSS-COMPILATION === +drivers/isdn/sc/init.c:512: warning: passing arg 1 of `reainclude/linux/mmzone.h:56include/linux/mmzone.h:569: warning: division by zero +include/linux/mmzone.h: In function `__section_nr': include/linux/mmzone.h:563: warning: division by zero +include/linux/mmzone.h: In function `__section_nr':iinclude/linux/mmzone.h:563: warning: division by zero +include/linux/mmzone.h: In function `__section_nr':include/linux/mmzone.h:569:warning: division by zero +include/linux/mmzone.h: In function `__section_nr':include/linux/mmzone.h:573:warning: division by zero +include/linux/mmzone.h:563: warning: division by zero +include/linux/mmzone.h:563: warning: division by zero CC net/decnet/sysctl_net_decnet.o +include/linux/mmzone.h:563: warning: division by zero CC sound/oss/btaudio.o +include/linux/mmzone.h:563: warning: division by zeroinclude/linux/mmzone.h:563: warning: division by zero +include/linux/mmzone.h:563: warning: division by zeroinclude/linux/mmzone.h:573: warning: division by zero +include/linux/mmzone.h:569: warning: division by zero +include/linux/mmzone.h:569: warning: division by zero CC arch/i386/kernel/cpu/cpufreq/speedstep-lib.o +include/linux/mmzone.h:569: warning: division by zeroinclude/linux/mmzone.h:563: warning: division by zero +include/linux/mmzone.h:569: warning: division by zeroinclude/linux/mmzone.h:569: warning: division by zero +include/linux/mmzone.h:573: warning: division by zero +include/linux/mmzone.h:573: warning: division by zero CC drivers/net/e1000/e1000.mod.o +include/linux/mmzone.h:573: warning: division by zeroinclude/linux/mmzone.h:573: warning: division by zero +mm/page_alloc.c:2221: warning: unused variable `i' +mm/page_alloc.c:2233: warning: unused variable `batch' +mm/sparse.c:23: warning: division by zero === IA32 MAX COMPILE COUNT CROSS-COMPILATION === +mm/page_alloc.c:2221: warning: unused variable `i' +mm/page_alloc.c:2233: warning: unused variable `batch' === X86_64 CROSS-COMPILATION === STATUS CHANGED: 'PASS' --> 'FAIL' +arch/x86_64/mm/init.c:681: warning: implicit declaration of function `pfn_to_nid' +drivers/char/agp/amd64-agp.c:287: warning: implicit declaration of function `pfn_to_nid' +drivers/char/mem.c:272: warning: implicit declaration of function `pfn_to_nid' +kernel/power/swsusp.c:526: warning: implicit declaration of function `pfn_to_nid' +mm/fremap.c:35: warning: implicit declaration of function `pfn_to_nid' +mm/memory.c:1273: warning: passing arg 1 of `clear_page' makes pointer from integer without a cast +mm/memory.c:375: warning: implicit declaration of function `pfn_to_nid' +mm/mempolicy.c:256: warning: implicit declaration of function `pfn_to_nid' +mm/msync.c:40: warning: implicit declaration of function `pfn_to_nid' +mm/page_alloc.c:1321: warning: implicit declaration of function `pfn_to_nid' +mm/page_alloc.c:2221: warning: unused variable `i' +mm/page_alloc.c:2233: warning: unused variable `batch' +mm/rmap.c:476: warning: implicit declaration of function `pfn_to_nid' +mm/slab.c:1885: warning: implicit declaration of function `pfn_to_nid' -RESULT: PASS +RESULT: FAIL === PPC64 CROSS-COMPILATION === +arch/ppc64/kernel/prom_init.c:1142: warning: passing arg 1 of `boot_virt_to_abs' makes integer from pointer without a cast +arch/ppc64/kernel/prom_init.c:1144: warning: passing arg 1 of `boot_virt_to_abs' makes integer from pointer without a cast +mm/memory.c:1273: warning: passing arg 1 of `clear_user_page' makes pointer from integer without a cast +mm/page_alloc.c:2221: warning: unused variable `i' +mm/page_alloc.c:2233: warning: unused variable `batch' === PPC- 40X CROSS-COMPILATION === +fs/aio.c:135: error: `MAP_IMMOVABLE' undeclared (first use in this function) +include/linux/mman.h:65: error: (Each undeclared identifier is reported only once +include/linux/mman.h:65: error: `MAP_IMMOVABLE' undeclared (first use in this function) +include/linux/mman.h:65: error: for each function it appears in.) +mm/memory.c:1273: warning: passing arg 1 of `clear_user_page' makes pointer from integer without a cast +mm/page_alloc.c:2221: warning: unused variable `i' +mm/page_alloc.c:2233: warning: unused variable `batch' # End of report Bryce