[PATCH] kexec: allocate buffer in top-down, if specified, correctly
dyoung at redhat.com
Thu Apr 27 22:23:26 PDT 2017
Correct Vivek's email address
On 04/28/17 at 01:19pm, Dave Young wrote:
> Vivek, can you help to give some comments about the locate hole isssue
> in kexec_file?
> On 04/28/17 at 09:51am, AKASHI Takahiro wrote:
> > Thiago,
> > Thank you for the comment.
> > On Thu, Apr 27, 2017 at 07:00:04PM -0300, Thiago Jung Bauermann wrote:
> > > Hello,
> > >
> > > 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.
> > Ah, I haven't noticed that, but x86 doesn't have arch_kexec_walk_mem and
> > how can it work for x86?
> > > Isn't it possible to walk resources from top to bottom?
> > Yes, it will be, but it seems to me that such a behavior is not intuitive
> > and even confusing if it doesn't come with explicit explanation.
> Thing need to make clear is why do we need the change, it might be a
> problem for crashkernel=xM,low since that is for softiotlb in case
> crashkernel=xM,high being used, otherwise seems current code is fine.
> Need seeking for old memory from Vivek to confirm.
> > > > 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.
> > So I would like to hear from x86 guys.
> > Thanks
> > -Takahiro AKASHI
> > > --
> > > Thiago Jung Bauermann
> > > IBM Linux Technology Center
> > >
More information about the kexec