lkml.org 
[lkml]   [2015]   [Oct]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] mm: skip if required_kernelcore is larger than totalpages

On Mon, 12 Oct 2015 09:37:17 +0800
Xishi Qiu <qiuxishi@huawei.com> wrote:

> On 2015/10/9 23:41, Yasuaki Ishimatsu wrote:
>
> >
> > On Thu, 8 Oct 2015 10:21:05 +0800
> > Xishi Qiu <qiuxishi@huawei.com> wrote:
> >
> >> If kernelcore was not specified, or the kernelcore size is zero
> >> (required_movablecore >= totalpages), or the kernelcore size is larger
> >
> > Why does required_movablecore become larger than totalpages, when the
> > kernelcore size is zero? I read the code but I could not find that you
> > mention.
> >
>
> If user only set boot option movablecore, and the value is larger than
> totalpages, the calculation of kernelcore is zero, but we can't fill
> the zone only with kernelcore, so skip it.

Thank you for the explantion. Your patch looks good to me.

Reviewed-by: Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>

Thanks,
Yasuaki Ishimatsu

>
> I have send a patch before this patch.
> "fix overflow in find_zone_movable_pfns_for_nodes()"
> ...
> required_movablecore =
> roundup(required_movablecore, MAX_ORDER_NR_PAGES);
> + required_movablecore = min(totalpages, required_movablecore);
> corepages = totalpages - required_movablecore;
> ...
>
> Thanks,
> Xishi Qiu
>
> > Thanks,
> > Yasuaki Ishimatsu
> >
> >> than totalpages, there is no ZONE_MOVABLE. We should fill the zone
> >> with both kernel memory and movable memory.
> >>
> >> Signed-off-by: Xishi Qiu <qiuxishi@huawei.com>
> >> ---
> >> mm/page_alloc.c | 7 +++++--
> >> 1 file changed, 5 insertions(+), 2 deletions(-)
> >>
> >> diff --git a/mm/page_alloc.c b/mm/page_alloc.c
> >> index af3c9bd..6a6da0d 100644
> >> --- a/mm/page_alloc.c
> >> +++ b/mm/page_alloc.c
> >> @@ -5674,8 +5674,11 @@ static void __init find_zone_movable_pfns_for_nodes(void)
> >> required_kernelcore = max(required_kernelcore, corepages);
> >> }
> >>
> >> - /* If kernelcore was not specified, there is no ZONE_MOVABLE */
> >> - if (!required_kernelcore)
> >> + /*
> >> + * If kernelcore was not specified or kernelcore size is larger
> >> + * than totalpages, there is no ZONE_MOVABLE.
> >> + */
> >> + if (!required_kernelcore || required_kernelcore >= totalpages)
> >> goto out;
> >>
> >> /* usable_startpfn is the lowest possible pfn ZONE_MOVABLE can be at */
> >> --
> >> 2.0.0
> >>
> >>
> >> --
> >> To unsubscribe, send a message with 'unsubscribe linux-mm' in
> >> the body to majordomo@kvack.org. For more info on Linux MM,
> >> see: http://www.linux-mm.org/ .
> >> Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
> >
> > .
> >
>
>
>


\
 
 \ /
  Last update: 2015-10-16 19:21    [W:0.917 / U:0.212 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site