On Fri, Mar 4, 2016 at 4:48 PM, Vlastimil Babka <vba...@suse.cz> wrote: > On 03/03/2016 08:01 AM, Li Zhang wrote: >> --- a/mm/page_alloc.c >> +++ b/mm/page_alloc.c >> @@ -293,13 +293,20 @@ static inline bool update_defer_init(pg_data_t *pgdat, >> unsigned long pfn, unsigned long zone_end, >> unsigned long *nr_initialised) >> { >> + unsigned long max_initialise; >> + >> /* Always populate low zones for address-contrained allocations */ >> if (zone_end < pgdat_end_pfn(pgdat)) >> return true; >> + /* >> + * Initialise at least 2G of a node but also take into account that >> + * two large system hashes that can take up 1GB for 0.25TB/node. >> + */ > > The indentation is wrong here.
Thanks for reviewing, I will fix it in next version. > >> + max_initialise = max(2UL << (30 - PAGE_SHIFT), >> + (pgdat->node_spanned_pages >> 8)); >> >> - /* Initialise at least 2G of the highest zone */ >> (*nr_initialised)++; >> - if (*nr_initialised > (2UL << (30 - PAGE_SHIFT)) && >> + if ((*nr_initialised > max_initialise) && >> (pfn & (PAGES_PER_SECTION - 1)) == 0) { >> pgdat->first_deferred_pfn = pfn; >> return false; >> > -- Best Regards -Li _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev