On Mon, Jun 27, 2016 at 11:30:52AM +0200, Vlastimil Babka wrote: > On 05/26/2016 08:22 AM, js1...@gmail.com wrote: > >From: Joonsoo Kim <iamjoonsoo....@lge.com> > > > >Now, all reserved pages for CMA region are belong to the ZONE_CMA > >and it only serves for GFP_HIGHUSER_MOVABLE. Therefore, we don't need to > >consider ALLOC_CMA at all. > > > >Signed-off-by: Joonsoo Kim <iamjoonsoo....@lge.com> > >--- > > mm/internal.h | 3 +-- > > mm/page_alloc.c | 27 +++------------------------ > > 2 files changed, 4 insertions(+), 26 deletions(-) > > > > [...] > > >@@ -2833,10 +2827,8 @@ bool __zone_watermark_ok(struct zone *z, unsigned int > >order, unsigned long mark, > > } > > > > #ifdef CONFIG_CMA > >- if ((alloc_flags & ALLOC_CMA) && > >- !list_empty(&area->free_list[MIGRATE_CMA])) { > >+ if (!list_empty(&area->free_list[MIGRATE_CMA])) > > return true; > >- } > > #endif > > Nitpick: it would be more logical to remove the whole block in this > patch, as removing ALLOC_CMA means it's effectively false? Also less > churn.
No, all freepages on ZONE_CMA is attached on area->free_list[MIGRATE_CMA]. We need to check whether there is a freepage on it or not to pass watermark check for high-order allocation. Thanks.