mbox series

[0/2] Optimization of CMA allocation and reclaiming

Message ID 1683538383-19685-1-git-send-email-zhaoyang.huang@unisoc.com (mailing list archive)
Headers show
Series Optimization of CMA allocation and reclaiming | expand

Message

zhaoyang.huang May 8, 2023, 9:33 a.m. UTC
From: Zhaoyang Huang <zhaoyang.huang@unisoc.com>

These two commits help to solve bellowing OOM issue which all free pages are
composed of CMA.

04166 < 4> [   36.172486] [03-19 10:05:52.172] ActivityManager: page allocation failure: order:0, mode:0xc00(GFP_NOIO), nodemask=(null),cpuset=foreground,mems_allowed=0
0419C < 4> [   36.189447] [03-19 10:05:52.189] DMA32: 0*4kB 447*8kB (C) 217*16kB (C) 124*32kB (C) 136*64kB (C) 70*128kB (C) 22*256kB (C) 3*512kB (C) 0*1024kB 0*2048kB 0*4096kB = 35848kB
0419D < 4> [   36.193125] [03-19 10:05:52.193] Normal: 231*4kB (UMEH) 49*8kB (MEH) 14*16kB (H) 13*32kB (H) 8*64kB (H) 2*128kB (H) 0*256kB 1*512kB (H) 0*1024kB 0*2048kB 0*4096kB = 3236kB
	......
041EA < 4> [   36.234447] [03-19 10:05:52.234] SLUB: Unable to allocate memory on node -1, gfp=0xa20(GFP_ATOMIC)
041EB < 4> [   36.234455] [03-19 10:05:52.234] cache: ext4_io_end, object size: 64, buffer size: 64, default order: 0, min order: 0
041EC < 4> [   36.234459] [03-19 10:05:52.234] node 0: slabs: 53,objs: 3392, free: 0

Zhaoyang Huang (2):
  mm: optimization on page allocation when CMA enabled
  mm: skip CMA pages when they are not available

 mm/page_alloc.c | 46 ++++++++++++++++++++++++++++++++++++++++------
 mm/vmscan.c     | 15 +++++++++++++--
 2 files changed, 53 insertions(+), 8 deletions(-)