Re: [PATCHv4] mm: optimization on page allocation when CMA enabled

From: Zhaoyang Huang
Date: Wed May 10 2023 - 22:44:30 EST


On Thu, May 11, 2023 at 6:08 AM Roman Gushchin <roman.gushchin@xxxxxxxxx> wrote:
>
> On Wed, May 10, 2023 at 10:20:51AM +0800, zhaoyang.huang wrote:
> > From: Zhaoyang Huang <zhaoyang.huang@xxxxxxxxxx>
> >
> > Let us look at the series of scenarios below with WMARK_LOW=25MB,WMARK_MIN=5MB
> > (managed pages 1.9GB). We can know that current 'fixed 1/2 ratio' start to use
> > CMA since C which actually has caused U&R lower than WMARK_LOW (this should be
> > deemed as against current memory policy, that is, UNMOVABLE & RECLAIMABLE should
> > either stay around WATERMARK_LOW when no allocation or do reclaim via entering
> > slowpath)
> >
> > -- Free_pages
> > |
> > |
> > -- WMARK_LOW
> > |
> > -- Free_CMA
> > |
> > |
> > --
> >
> > Free_CMA/Free_pages(MB) A(12/30) B(12/25) C(12/20)
> > fixed 1/2 ratio N N Y
> > this commit Y Y Y
> >
> > Signed-off-by: Zhaoyang Huang <zhaoyang.huang@xxxxxxxxxx>
>
> I'm mostly fine with the code. The commit message is still very confusing to me,
> not sure I understand what exactly this table means. And you still use "U&R".
I would like to highlight the scenario "A&B" where the previous fixed
1/2 ratio introduces over use of UNMOVABLE & RECLAIMABLE. I will try
to make it more clear by v5
>
> Also I'm a bit concerned about potential performance implications. Would be
> great to provide some benchmarks or some data.
> Probably it's ok because of we have pcp caches on top, but I'm not 100% sure.
This patch helps solve my OOM issue in v5.15. Actually, It inherit the
logic of 1/2 ratio and just behave differently when free pages is
around corresponding watermark
>
> Thanks!