Re: [PATCH] mm: cma: allocate pages from CMA if NR_FREE_PAGES approaches low water mark

Andrew Morton
2012-11-19T20:43:30Z

On Mon, 19 Nov 2012 16:38:18 +0100
Marek Szyprowski <m.szyprowski@samsung.com> wrote:

> Hello,
>
> On 11/14/2012 11:58 PM, Andrew Morton wrote:
> > On Mon, 12 Nov 2012 09:59:42 +0100
> > Marek Szyprowski <m.szyprowski@samsung.com> wrote:
> >
> > > It has been observed that system tends to keep a lot of CMA free pages
> > > even in very high memory pressure use cases. The CMA fallback for movable
> > > pages is used very rarely, only when system is completely pruned from
> > > MOVABLE pages, what usually means that the out-of-memory even will be
> > > triggered very soon. To avoid such situation and make better use of CMA
> > > pages, a heuristics is introduced which turns on CMA fallback for movable
> > > pages when the real number of free pages (excluding CMA free pages)
> > > approaches low water mark.
>
> ...
>
> > erk, this is right on the page allocator hotpath. Bad.
>
> Yes, I know that it adds an overhead to allocation hot path, but I found
> no other
> place for such change. Do You have any suggestion where such change can
> be applied
> to avoid additional load on hot path?

Do the work somewhere else, not on a hot path? Somewhere on the page
reclaim path sounds appropriate. How messy would it be to perform some
sort of balancing at reclaim time?