Sorry for late posting. I made RFC patch set for free page filtering looking up mem_map array. Unlike exiting method looking up free page list, this is done in constant space. I intend this patch set to be merged with Kumagai-san's cyclic patch set, so I mark these with RFC. See TODO below. Also, I have yet to test the logic for old kernels from v2.6.15 to v2.6.17. This new free page filtering needs the following values. - OFFSET(page._mapcount) - OFFSET(page.private) - SIZE(pageflags) - NUMBER(PG_buddy) - NUMBER(PG_slab) - NUMBER(PAGE_BUDDY_MAPCOUNT_VALUE) Unfortunately, OFFSET(_mapcount) and OFFSET(private) fields of page structure cannot be obtained from VMLINUX using the exiting library in makedumpfile since two members are anonymous components of union types. We need a new interface for them. To try to use this patch set, it's handy to pass manually editted VMCOREINFO file via -i option. TODO 1. Add new values in VMCOREINFO on the upstream kernel. 2. Decide when to use this logic instead of the existing free list logic. Option is 1) introduce new dump level or 2) use it automatically if --cyclic is specified. This patch chooses 1) only for RFC use. 3. Consider how to deal with old kernels on which we cannot add the values in VMCOREINFO. Options is 1) to force users to use VMLINUX, 2) to cover them full hard coding or 3) to give up support on full range of kernel versions ever. --- HATAYAMA Daisuke (10): Add page_is_buddy for old kernels Add page_is_buddy for PG_buddy Add page_is_buddy for recent kernels Add excldue free pages by looking up mem_map array Add command-line processing for free page filtering looking up mem_map array Add page flag values as hardcoded values Add debuginfo-related processing for VMCOREINFO/VMLINUX Add new parameters for various tables Add debuginfo interface for enum type size Move page flags setup for old kernels after debuginfo initialization dwarf_info.c | 29 +++++++++++---- dwarf_info.h | 1 + makedumpfile.c | 111 +++++++++++++++++++++++++++++++++++++++++++++++++++++--- makedumpfile.h | 34 ++++++++++++++++- 4 files changed, 158 insertions(+), 17 deletions(-) -- Thanks. HATAYAMA, Daisuke