Re: [PATCH v9 03/12] mm: deferred_init_memmap improvements

2017-10-04 Thread Michal Hocko
On Tue 03-10-17 12:01:08, Pasha Tatashin wrote: > Hi Michal, > > Are you OK, if I replace DEFERRED_FREE() macro with a function like this: > > /* > * Helper for deferred_init_range, free the given range, and reset the > * counters > */ > static inline unsigned long __def_free(unsigned long *nr

Re: [PATCH v9 03/12] mm: deferred_init_memmap improvements

2017-10-03 Thread Pasha Tatashin
Hi Michal, Are you OK, if I replace DEFERRED_FREE() macro with a function like this: /* * Helper for deferred_init_range, free the given range, and reset the * counters */ static inline unsigned long __def_free(unsigned long *nr_free, unsigned long *free

Re: [PATCH v9 03/12] mm: deferred_init_memmap improvements

2017-10-03 Thread Pasha Tatashin
Hi Michal, Please be explicit that this is possible only because we discard memblock data later after 3010f876500f ("mm: discard memblock data later"). Also be more explicit how the new code works. OK I like how the resulting code is more compact and smaller. That was the goal :) for_e

Re: [PATCH v9 03/12] mm: deferred_init_memmap improvements

2017-10-03 Thread Michal Hocko
On Wed 20-09-17 16:17:05, Pavel Tatashin wrote: > This patch fixes two issues in deferred_init_memmap > > = > In deferred_init_memmap() where all deferred struct pages are initialized > we have a check like this: > > if (page->flags) { > VM_BUG_ON(page_zone(page) != zone); > goto