[PATCH] kexec: allocate buffer in top-down, if specified, correctly

Thiago Jung Bauermann bauerman at linux.vnet.ibm.com
Thu Apr 27 15:00:04 PDT 2017


Am Mittwoch, 26. April 2017, 17:22:09 BRT schrieb AKASHI Takahiro:
> The current kexec_locate_mem_hole(kbuf.top_down == 1) stops searching at
> the first memory region that has enough space for requested size even if
> some of higher regions may also have.

kexec_locate_mem_hole expects arch_kexec_walk_mem to walk memory from top to 
bottom if top_down is true. That is what powerpc's version does.

Isn't it possible to walk resources from top to bottom?

> This behavior is not consistent with locate_hole(hole_end == -1) function
> of kexec-tools.
> This patch fixes the bug, going though all the memory regions anyway.

This patch would break powerpc, because at the end of the memory walk kbuf 
would have the lowest memory hole.

If it's not possible to walk resources in reverse order, then this patch needs 
to change powerpc to always walk memory from bottom to top.

Thiago Jung Bauermann
IBM Linux Technology Center

More information about the kexec mailing list