Messages in this thread | | | Date | Fri, 30 May 2014 23:23:18 +0900 | Subject | Re: [PATCH v2 2/3] CMA: aggressively allocate the pages on cma reserved memory when not used | From | Joonsoo Kim <> |
| |
2014-05-30 16:53 GMT+09:00 Gioh Kim <gioh.kim@lge.com>: > 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.
| |