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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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!





[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux