Re: [PATCH v3 3/9] kexec_file: Factor out kexec_locate_mem_hole from kexec_add_buffer.

From: Dave Young
Date: Tue Jun 28 2016 - 15:27:55 EST


On 06/27/16 at 04:21pm, Dave Young wrote:
> Please ignore previous reply, I mistakenly send a broken mail without
> subject, sorry about it. Resend the reply here.
>
> On 06/27/16 at 01:37pm, Thiago Jung Bauermann wrote:
> > Am Dienstag, 28 Juni 2016, 00:19:48 schrieb Dave Young:
> > > On 06/23/16 at 12:37pm, Thiago Jung Bauermann wrote:
> > > > Am Donnerstag, 23 Juni 2016, 01:44:07 schrieb Dave Young:
> > > > What is bad about the description of top_down?
> > > It is not clear enough to me, I personally think the original one in
> > > source code is better:
> > > /* allocate from top of memory hole */
> >
> > Actually I realized there's some discrepancy in how the x86 code uses
> > top_down and how I need it to work in powerpc. This may be what is confusing
> > about my comment and the existing comment.
> >
> > x86 always walks memory from bottom to top but if top_down is true, in each
> > memory region it will allocate the memory hole in the highest address within
> > that region. I don't know why it is done that way, though.
>
> I think we did not meaning to do this, considering kdump we have only
> one crashkernel region for searching (crashk_res) so it is fine.
> For kexec maybe changing the walking function to accept top_down is
> reasonable.
>
> Ccing Vivek see if he can remember something..
>
> >
> > On powerpc, the memory walk itself should be from top to bottom, as well as
> > the memory hole allocation within each memory region.

What is the particular reason in powerpc for a mandatory top to bottom
walking?

> >
> > Should I add a separate top_down argument to kexec_locate_mem_hole to
> > control if the memory walk should be from top to bottom, and then the
> > bottom_up member of struct kexec_buf controls where inside each memory
> > region the memory hole will be allocated?

Using one argument for both sounds more reasonable than using a separate
argument for memory walk..

Thanks
Dave