[PATCH 00/10] Support free page filtering looking up mem_map array

Hatayama, Daisuke d.hatayama at jp.fujitsu.com
Tue Nov 13 03:56:37 EST 2012


> -----Original Message-----
> From: Atsushi Kumagai [mailto:kumagai-atsushi at mxc.nes.nec.co.jp]
> Sent: Tuesday, November 13, 2012 4:56 PM
[...]
> >   - OFFSET(page._mapcount)
> >   - OFFSET(page.private)
> >   - SIZE(pageflags)
> >   - NUMBER(PG_buddy)
> >   - NUMBER(PG_slab)
> >   - NUMBER(PAGE_BUDDY_MAPCOUNT_VALUE)
> 
> And I will post the patch to add the values above to the upstream kernel,
> so there is no problem on the future kernel.
> 
> However, according to my tests, current makedumpfile can't get some of the
> values above from VMLINUX and can't exclude free pages with the mem_map
> array logic.
> For example, page_is_buddy_v1() will be selected for kernel-3.4 with
> setup_page_is_buddy() due to not founding NUMBER(PG_buddy) and
> SIZE(pageflags),
> it's miss selection.
> 
> Therefore, I propose to change the policy for excluding free page as below
> in order to take care of current kernels:
> 
>   1. If VMCORE (or specified VMCOREINFO) includes the values above,
>      using the mem_map array logic.
> 
>   2. In other cases, using the current logic which uses free_list even if
>      running on cyclic mode.
> 
> Of course, page_is_buddy_v1() and page_is_buddy_v2() should be retain
> because there is valuable for the user who can prepare VMCOREINFO.
> 

You are corrent. I'll repost the patch set soon. Rc1 or beta, which is better?

Thanks.
HATAYAMA, Daisuke




More information about the kexec mailing list