2014-05-30 16:53 GMT+09:00 Gioh Kim <gioh.kim@xxxxxxx>: > Joonsoo, > > I'm attaching a patch for combination of __rmqueue and __rmqueue_cma. > I didn't test fully but my board is turned on and working well if no frequent memory allocations. > > I'm sorry to send not-tested code. > I just want to report this during your working hour ;-) > > I'm testing this this evening and reporting next week. > Have a nice weekend! Thanks Gioh. :) > -------------------------------------- 8< ----------------------------------------- > diff --git a/mm/page_alloc.c b/mm/page_alloc.c > index 7f97767..9ced736 100644 > --- a/mm/page_alloc.c > +++ b/mm/page_alloc.c > @@ -964,7 +964,7 @@ static int fallbacks[MIGRATE_TYPES][4] = { > [MIGRATE_RECLAIMABLE] = { MIGRATE_UNMOVABLE, MIGRATE_MOVABLE, MIGRATE_R > #ifdef CONFIG_CMA > [MIGRATE_MOVABLE] = { MIGRATE_CMA, MIGRATE_RECLAIMABLE, MIGRATE_U > - [MIGRATE_CMA] = { MIGRATE_RESERVE }, /* Never used */ > + [MIGRATE_CMA] = { MIGRATE_MOVABLE, MIGRATE_RECLAIMABLE, MIGRATE_U I don't want to use __rmqueue_fallback() for CMA. __rmqueue_fallback() takes big order page rather than small order page in order to steal large amount of pages and continue to use them in next allocation attempts. We can use CMA pages on limited cases, so stealing some pages from other migrate type to CMA type isn't good idea to me. Thanks. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>