[v2 0/3] Introduce struct cycle to store cyclic region and clean up

Atsushi Kumagai kumagai-atsushi at mxc.nes.nec.co.jp
Sun Jan 26 20:39:56 EST 2014

Hello Baoquan,

On 2014/01/23 18:49:09, kexec <kexec-bounces at lists.infradead.org> wrote:
> v1->v2:
>     In first_cycle(), start_pfn assignation is not aligned to info->pfn_cyclic.
>     Now in v2 change this. Accordingly the pfn in write_elf_header() and
>     write_elf_pages_cyclic() need be adjusted to the real beginning of a
>     load segment, but not the cycle->start_pfn which may be lower after alignment.

Thanks for the self-correction, and I have another comment.

In [v2 2/3], a pfn range check is removed as below:

-set_bitmap_cyclic(char *bitmap, unsigned long long pfn, int val)
+set_bitmap_cyclic(char *bitmap, unsigned long long pfn, int val, struct cycle *cycle)
        int byte, bit;

-       if (pfn < info->cyclic_start_pfn || info->cyclic_end_pfn <= pfn)
-               return FALSE;

However, "pfn" can be out of the range of cycles in the case of filtering
free pages with free_list, because we have to look up whole free_list every
cycle since free_list isn't sorted.

So this range check should be moved to reset_bitmap_of_free_pages().

Atsushi Kumagai

> Baoquan He (3):
>   makedumpfile: introduce struct cycle to store the cyclic region
>   makedumpfile: use struct cycle to update cyclic region and clean up
>   makedumpfile: remove member variables representing cyclic pfn region
>     in struct DumpInfo
>  makedumpfile.c | 497 ++++++++++++++++++++++++++++-----------------------------
>  makedumpfile.h |  21 +--
>  sadump_info.c  |   4 +-
>  3 files changed, 259 insertions(+), 263 deletions(-)
> --
> _______________________________________________
> kexec mailing list
> kexec at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/kexec

More information about the kexec mailing list